#pragma once #include #include #include #include #include #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>>; template 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 user_dao = std::make_shared(GetMySqlSession()); std::shared_ptr auth_dao = std::make_shared(GetMySqlSession()); Executor executor = Executor(GetMySqlSession(), user_dao); Request req; AuthFixture() { BOOST_TEST_MESSAGE("Setup fixture"); } ~AuthFixture() { BOOST_TEST_MESSAGE("Teardown fixture"); } }; }