diff --git a/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp b/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp index 97b0c40..6bd93d4 100644 --- a/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp +++ b/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp @@ -6,14 +6,18 @@ #include +#include + #include "./../../src/endpoints_handlers/AuthRegistrationExecutor.h" #include "./../../src/DAO/MySQLUserDAO.h" #include "./../../src/db/mysql_connector.h" #include "./../../src/exceptions/session_exception.h" +#include "./../../src/helpers/helpers.h" using namespace std; using namespace uad; using namespace boost; +using namespace beast; using namespace json; using RouteAuthRegistrationExecutor = AuthRegistrationExecutor>>; +static const std::string kCreatedUserUUID = GenerateUUID(); + BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Failed_Parse_Payload) { auto& argv = boost::unit_test::framework::master_test_suite().argv; @@ -79,3 +85,34 @@ BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data) mysql_session->close(); delete mysql_session; } + +BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Succesfull_User_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(GetMySqlSession()); + auto executor = RouteAuthRegistrationExecutor(GetMySqlSession(), user_dao); + + Request req; + value req_body; + + req_body.emplace_object(); + + req_body.as_object().emplace("login"s, "MyLogin12345678"s); + req_body.as_object().emplace("password"s, "Qwerty123456"s); + + req.body() = serialize(req_body); + + auto response = executor(std::move(req)); + + BOOST_CHECK_EQUAL(response.result(), http::status::created); + + mysql_session->close(); + delete mysql_session; +}