Успешное внедрение фикстуры

This commit is contained in:
Антон
2025-11-16 10:55:41 +03:00
parent c1939cc813
commit 2c2e60932c
3 changed files with 10 additions and 26 deletions
+1
View File
@@ -1,3 +1,4 @@
#pragma once
#include <mysqlx/xdevapi.h> #include <mysqlx/xdevapi.h>
#include "IUserDAO.h" #include "IUserDAO.h"
@@ -29,30 +29,14 @@ using RouteAuthRegistrationExecutor = AuthRegistrationExecutor<beast::http::stri
using Request = boost::beast::http::request<beast::http::string_body, using Request = boost::beast::http::request<beast::http::string_body,
beast::http::basic_fields<std::allocator<char>>>; beast::http::basic_fields<std::allocator<char>>>;
BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Failed_Parse_Payload) BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Failed_Parse_Payload, F)
{ {
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 executor = RouteAuthRegistrationExecutor(GetMySqlSession(), user_dao);
Request req;
req.body() = "{ \"login\": ABS3 }"s; req.body() = "{ \"login\": ABS3 }"s;
BOOST_CHECK_EXCEPTION(executor(std::move(req)), session_exception, [](const session_exception& e) -> bool BOOST_CHECK_EXCEPTION(executor->operator()(std::move(req)), session_exception, [](const session_exception& e) -> bool
{ {
return e.code == beast::http::status::internal_server_error; return e.code == beast::http::status::internal_server_error;
}); });
mysql_session->close();
delete mysql_session;
} }
BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data) BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data)
+7 -8
View File
@@ -18,18 +18,17 @@ F::F() :
{ {
uad::SetMySqlSession(mysql_session); uad::SetMySqlSession(mysql_session);
user_dao = make_shared<MySQLUserDAO>(GetMySqlSession()); user_dao = std::make_shared<MySQLUserDAO>(GetMySqlSession());
executor = make_unique<RouteAuthRegistrationExecutor>(GetMySqlSession(), user_dao); executor = std::make_unique<RouteAuthRegistrationExecutor>(GetMySqlSession(), user_dao);
BOOST_TEST_MESSAGE("setup fixture"); BOOST_TEST_MESSAGE("Setup RouteAuthRegistrationExecutor fixture");
} }
F::~F() F::~F()
{ {
SetMySqlSession(nullptr);
delete mysql_session;
mysql_session = nullptr;
mysql_credentials = nullptr;
argv = nullptr; argv = nullptr;
BOOST_TEST_MESSAGE("teardown fixture"); mysql_session->close();
delete mysql_session;
BOOST_TEST_MESSAGE("Setup RouteAuthRegistrationExecutor fixture");
} }
} }