generated from Sithas/conan_template
Третий тест покрыт фикстурой
This commit is contained in:
@@ -33,7 +33,7 @@ BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Failed_Parse_Payload, AuthRegis
|
|||||||
{
|
{
|
||||||
req.body() = "{ \"login\": ABS3 }"s;
|
req.body() = "{ \"login\": ABS3 }"s;
|
||||||
|
|
||||||
BOOST_CHECK_EXCEPTION(executor->operator()(std::move(req)), session_exception, [](const session_exception& e) -> bool
|
BOOST_CHECK_EXCEPTION(executor(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;
|
||||||
});
|
});
|
||||||
@@ -50,25 +50,14 @@ BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data, AuthRegistr
|
|||||||
|
|
||||||
req.body() = serialize(req_body);
|
req.body() = serialize(req_body);
|
||||||
|
|
||||||
BOOST_CHECK_EXCEPTION(executor->operator()(std::move(req)), session_exception, [](const session_exception& e) -> bool
|
BOOST_CHECK_EXCEPTION(executor(std::move(req)), session_exception, [](const session_exception& e) -> bool
|
||||||
{
|
{
|
||||||
return e.code == beast::http::status::unprocessable_entity;
|
return e.code == beast::http::status::unprocessable_entity;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Succesfull_User_Login)
|
BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Succesfull_User_Login, AuthRegistrationExecutorTestFixture)
|
||||||
{
|
{
|
||||||
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;
|
Request req;
|
||||||
value req_body;
|
value req_body;
|
||||||
|
|
||||||
@@ -82,9 +71,6 @@ BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Succesfull_User_Login)
|
|||||||
auto response = executor(std::move(req));
|
auto response = executor(std::move(req));
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL(response.result(), http::status::created);
|
BOOST_CHECK_EQUAL(response.result(), http::status::created);
|
||||||
|
|
||||||
mysql_session->close();
|
|
||||||
delete mysql_session;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Unsuccesfull_User_Login)
|
BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Unsuccesfull_User_Login)
|
||||||
|
|||||||
+11
-5
@@ -11,15 +11,19 @@ using namespace std;
|
|||||||
|
|
||||||
namespace uad
|
namespace uad
|
||||||
{
|
{
|
||||||
|
fixture_helper::fixture_helper(mysqlx::Session* session)
|
||||||
|
{
|
||||||
|
uad::SetMySqlSession(session);
|
||||||
|
}
|
||||||
|
|
||||||
AuthRegistrationExecutorTestFixture::AuthRegistrationExecutorTestFixture() :
|
AuthRegistrationExecutorTestFixture::AuthRegistrationExecutorTestFixture() :
|
||||||
argv(boost::unit_test::framework::master_test_suite().argv),
|
argv(boost::unit_test::framework::master_test_suite().argv),
|
||||||
mysql_credentials(argv[1]),
|
mysql_credentials(argv[1]),
|
||||||
mysql_session(new mysqlx::Session(mysql_credentials))
|
mysql_session(new mysqlx::Session(mysql_credentials)),
|
||||||
|
helper(mysql_session),
|
||||||
|
user_dao(std::make_shared<MySQLUserDAO>(GetMySqlSession())),
|
||||||
|
executor(RouteAuthRegistrationExecutor(GetMySqlSession(), user_dao))
|
||||||
{
|
{
|
||||||
uad::SetMySqlSession(mysql_session);
|
|
||||||
|
|
||||||
user_dao = std::make_shared<MySQLUserDAO>(GetMySqlSession());
|
|
||||||
executor = std::make_unique<RouteAuthRegistrationExecutor>(GetMySqlSession(), user_dao);
|
|
||||||
BOOST_TEST_MESSAGE("Setup RouteAuthRegistrationExecutor fixture");
|
BOOST_TEST_MESSAGE("Setup RouteAuthRegistrationExecutor fixture");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -28,6 +32,8 @@ AuthRegistrationExecutorTestFixture::~AuthRegistrationExecutorTestFixture()
|
|||||||
argv = nullptr;
|
argv = nullptr;
|
||||||
mysql_session->close();
|
mysql_session->close();
|
||||||
delete mysql_session;
|
delete mysql_session;
|
||||||
|
mysql_session = nullptr;
|
||||||
|
SetMySqlSession(nullptr);
|
||||||
|
|
||||||
BOOST_TEST_MESSAGE("Teardown RouteAuthRegistrationExecutor fixture");
|
BOOST_TEST_MESSAGE("Teardown RouteAuthRegistrationExecutor fixture");
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -7,9 +7,15 @@
|
|||||||
#include <mysqlx/xdevapi.h>
|
#include <mysqlx/xdevapi.h>
|
||||||
#include "./../../src/endpoints_handlers/AuthRegistrationExecutor.h"
|
#include "./../../src/endpoints_handlers/AuthRegistrationExecutor.h"
|
||||||
#include "./../../src/DAO/MySQLUserDAO.h"
|
#include "./../../src/DAO/MySQLUserDAO.h"
|
||||||
|
#include "./../../src/db/mysql_connector.h"
|
||||||
|
|
||||||
namespace uad
|
namespace uad
|
||||||
{
|
{
|
||||||
|
struct fixture_helper
|
||||||
|
{
|
||||||
|
explicit fixture_helper(mysqlx::Session* session);
|
||||||
|
};
|
||||||
|
|
||||||
class AuthRegistrationExecutorTestFixture {
|
class AuthRegistrationExecutorTestFixture {
|
||||||
public:
|
public:
|
||||||
using RouteAuthRegistrationExecutor = AuthRegistrationExecutor<boost::beast::http::string_body,
|
using RouteAuthRegistrationExecutor = AuthRegistrationExecutor<boost::beast::http::string_body,
|
||||||
@@ -20,11 +26,12 @@ public:
|
|||||||
char** argv;
|
char** argv;
|
||||||
|
|
||||||
const std::string mysql_credentials;
|
const std::string mysql_credentials;
|
||||||
|
|
||||||
mysqlx::Session* mysql_session;
|
mysqlx::Session* mysql_session;
|
||||||
|
|
||||||
std::shared_ptr<MySQLUserDAO> user_dao;
|
fixture_helper helper;
|
||||||
std::unique_ptr<RouteAuthRegistrationExecutor> executor;
|
|
||||||
|
std::shared_ptr<IUserDAO> user_dao;
|
||||||
|
RouteAuthRegistrationExecutor executor;
|
||||||
|
|
||||||
Request req;
|
Request req;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user