feat: implement db provider
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
#include <cassert>
|
||||
#include <vector>
|
||||
#include <stdexcept>
|
||||
#include <engine/core/engine.hpp>
|
||||
#include <engine/core/engine_db_provider.hpp>
|
||||
|
||||
/// @brief Проверка на создание экземпляра
|
||||
void testProviderCreation()
|
||||
{
|
||||
MscEngine engine({});
|
||||
|
||||
auto dbp1 = engine.createDBProvider();
|
||||
assert(dbp1.get() != nullptr);
|
||||
}
|
||||
|
||||
/// @brief Проверка на создание экземпляра с некорректным путём файла
|
||||
void testIncorrectFilePath()
|
||||
{
|
||||
MscEngine engine({});
|
||||
|
||||
try
|
||||
{
|
||||
engine.createDBProvider("/i/am/an/incorrect/path/to/file.txt");
|
||||
assert(false);
|
||||
}
|
||||
catch (const std::runtime_error &error)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// @brief Проверка на успешное выполнение корректного выражения
|
||||
void testValidStatement()
|
||||
{
|
||||
MscEngine engine({});
|
||||
auto dbp = engine.createDBProvider();
|
||||
dbp.get()->execute("SELECT 'hello, world' AS message;");
|
||||
}
|
||||
|
||||
void testInvalidStatement()
|
||||
{
|
||||
MscEngine engine({});
|
||||
auto dbp = engine.createDBProvider();
|
||||
|
||||
try
|
||||
{
|
||||
dbp.get()->execute("SELECT * FROM nonexistentdatabase ABC");
|
||||
assert(false);
|
||||
}
|
||||
catch (const std::runtime_error &error)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
testProviderCreation();
|
||||
testIncorrectFilePath();
|
||||
testValidStatement();
|
||||
testInvalidStatement();
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user