Files
UpAndDown/tests/fixtures/AuthFixture.h
T
2025-11-26 07:47:50 +03:00

47 lines
1.4 KiB
C++

#pragma once
#include <string>
#include <boost/beast.hpp>
#include <memory>
#include <boost/test/unit_test.hpp>
#include <mysqlx/xdevapi.h>
#include "./../../src/endpoints_handlers/AuthRegistrationExecutor.h"
#include "./../../src/DAO/MySQLUserDAO.h"
#include "./../../src/DAO/MemoryAuthDAO.h"
#include "./../../src/db/mysql_connector.h"
#include "fixture_session_initialization_helper.h"
namespace uad
{
using Request = boost::beast::http::request<boost::beast::http::string_body,
boost::beast::http::basic_fields<std::allocator<char>>>;
template <class Executor>
class AuthFixture {
public:
const std::string uuid = std::to_string(uad::Random());
char** 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);
fixture_session_initialization_helper helper = fixture_session_initialization_helper(mysql_session);
std::shared_ptr<IUserDAO> user_dao = std::make_shared<MySQLUserDAO>(GetMySqlSession());
std::shared_ptr<MemoryAuthDAO> auth_dao = std::make_shared<MemoryAuthDAO>(GetMySqlSession());
Executor executor = Executor(GetMySqlSession(), user_dao);
Request req;
AuthFixture()
{
BOOST_TEST_MESSAGE("Setup fixture");
}
~AuthFixture()
{
BOOST_TEST_MESSAGE("Teardown fixture");
}
};
}