Files
Magic-Scrolls/tests/engine/db_provider_test.cpp
2026-09-29 14:46:44 +03:00

63 lines
1.4 KiB
C++

#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;
}