Подготовка интеграционного теста

This commit is contained in:
Антон
2025-10-25 12:17:59 +03:00
parent 14c757f7d2
commit 9a81fe7614
@@ -93,3 +93,37 @@ BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data)
mysql_session->close(); mysql_session->close();
delete mysql_session; delete mysql_session;
} }
BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Succesful_Login)
{
auto& argv = boost::unit_test::framework::master_test_suite().argv;
const std::string mysql_credentials = argv[1];
mysqlx::Session* mysql_session = new mysqlx::Session(mysql_credentials);
uad::SetMySqlSession(mysql_session);
auto user_dao = make_shared<MySQLUserDAO>(GetMySqlSession());
auto auth_dao = make_shared<MemoryAuthDAO>(GetMySqlSession());
auto executor = RouteAuthLoginExecutor(GetMySqlSession(), user_dao, auth_dao);
Request req;
value req_body;
user_dao->Create({""s, "MyLogin123456780"s + kUUID, HashPassword("Qwerty123456"s)});
req_body.emplace_object();
req_body.as_object().emplace("login"s, "MyLogin123456780"s + kUUID);
req_body.as_object().emplace("password"s, "Qwerty123456"s);
req.body() = serialize(req_body);
auto response = executor(std::move(req));
BOOST_CHECK(response.result() == http::status::ok);
mysql_session->close();
delete mysql_session;
}