From b19139bd6f489fc5e5dcfe82ec22e0dcbb80e269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD?= Date: Sat, 25 Oct 2025 11:31:10 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B3=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=B8=D0=BD=D1=82=D0=B5=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=BE=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 ++ .../AuthLoginExecutor_TEST.cpp | 36 ++++++++++++++++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b6d7932..f7660aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,6 +106,8 @@ add_executable(AuthLoginExecutorTests ./tests/endpoint_handlers/AuthLoginExecuto ./src/helpers/helpers.cpp ./src/DAO/MySQLUserDAO.h ./src/DAO/MySQLUserDAO.cpp + ./src/DAO/MemoryAuthDAO.h + ./src/DAO/MemoryAuthDAO.cpp ./src/db/mysql_connector.h ./src/db/mysql_connector.cpp) target_link_libraries(AuthLoginExecutorTests PRIVATE Boost::boost diff --git a/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp b/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp index f459855..07090d1 100644 --- a/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp +++ b/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp @@ -9,7 +9,9 @@ #include -#include "./../../src/endpoints_handlers/AuthRegistrationExecutor.h" +#include "./../../src/endpoints_handlers/AuthLoginExecutor.h" + +#include "../../src/DAO/MemoryAuthDAO.h" #include "./../../src/DAO/MySQLUserDAO.h" #include "./../../src/db/mysql_connector.h" #include "./../../src/exceptions/session_exception.h" @@ -23,13 +25,37 @@ using namespace boost; using namespace beast; using namespace json; -using RouteAuthRegistrationExecutor = AuthRegistrationExecutor, - beast::http::string_body>; +using RouteAuthLoginExecutor = AuthLoginExecutor, + beast::http::string_body>; using Request = boost::beast::http::request>>; BOOST_AUTO_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data) { - BOOST_CHECK(true == true); + 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 auth_dao = make_shared(GetMySqlSession()); + auto executor = RouteAuthLoginExecutor(GetMySqlSession(), user_dao, auth_dao); + + Request req; + + req.body() = "{ \"login\": ABS3 }"s; + req.content_length(req.body().size()); + + BOOST_CHECK_EXCEPTION(executor(std::move(req)), session_exception, + [](const session_exception& e) -> bool + { + return e.code == beast::http::status::internal_server_error; + }); + + mysql_session->close(); + delete mysql_session; }