From ac5aabb3c3a063a291337db22885051fe5f10d52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD?= Date: Wed, 26 Nov 2025 07:47:50 +0300 Subject: [PATCH] AuthRefistrationTest - 3 ok 1 fail --- CMakeLists.txt | 3 - .../AuthLoginExecutor_TEST.cpp | 106 +++++++++--------- .../AuthRegistrationExecutor_TEST.cpp | 8 +- tests/fixtures/AuthFixture.cpp | 37 ------ tests/fixtures/AuthFixture.h | 36 +++--- 5 files changed, 77 insertions(+), 113 deletions(-) delete mode 100644 tests/fixtures/AuthFixture.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index cf49186..3ecfac6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,6 @@ add_executable(AuthRegistrationExecutorTests ./tests/endpoint_handlers/AuthRegis ./src/db/mysql_connector.h ./src/db/mysql_connector.cpp tests/fixtures/AuthFixture.h - tests/fixtures/AuthFixture.cpp ./tests/fixtures/fixture_session_initialization_helper.h ./tests/fixtures/fixture_session_initialization_helper.cpp) target_link_libraries(AuthRegistrationExecutorTests PRIVATE Boost::boost @@ -118,7 +117,6 @@ add_executable(AuthLoginExecutorTests ./tests/endpoint_handlers/AuthLoginExecuto ./src/db/mysql_connector.h ./src/db/mysql_connector.cpp tests/fixtures/AuthFixture.h - tests/fixtures/AuthFixture.cpp ./tests/fixtures/fixture_session_initialization_helper.h ./tests/fixtures/fixture_session_initialization_helper.cpp) target_link_libraries(AuthLoginExecutorTests PRIVATE Boost::boost @@ -143,7 +141,6 @@ add_executable(AuthLogoutExecutorTests ./tests/endpoint_handlers/AuthLogoutExecu ./src/db/mysql_connector.h ./src/db/mysql_connector.cpp tests/fixtures/AuthFixture.h - tests/fixtures/AuthFixture.cpp ./tests/fixtures/fixture_session_initialization_helper.h ./tests/fixtures/fixture_session_initialization_helper.cpp) target_link_libraries(AuthLogoutExecutorTests PRIVATE Boost::boost diff --git a/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp b/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp index e6ffe16..629fc04 100644 --- a/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp +++ b/tests/endpoint_handlers/AuthLoginExecutor_TEST.cpp @@ -27,22 +27,20 @@ using namespace json; using RouteAuthLoginExecutor = AuthLoginExecutor, beast::http::string_body>; -using Request = boost::beast::http::request>>; -BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Cannot_Serialize_JSON, AuthFixture) -{ - req.body() = "{ \"login\": ABS3 }"s; - req.content_length(req.body().size()); +// BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Cannot_Serialize_JSON, AuthFixture) +// { +// 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::bad_request; +// }); +// } - BOOST_CHECK_EXCEPTION(executor(std::move(req)), session_exception, - [](const session_exception& e) -> bool - { - return e.code == beast::http::status::bad_request; - }); -} - -BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data, AuthFixture) +BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data, AuthFixture) { value req_body; @@ -59,43 +57,43 @@ BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data, AuthFixture return e.code == beast::http::status::forbidden; }); } - -BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Fields, AuthFixture) -{ - value req_body; - - req_body.emplace_object(); - - req_body.as_object().emplace("login"s, ""s); - req_body.as_object().emplace("password"s, ""s); - - req.body() = serialize(req_body); - - BOOST_CHECK_EXCEPTION(executor(std::move(req)), session_exception, - [](const session_exception& e) -> bool - { - return e.code == beast::http::status::unprocessable_entity; - }); -} - -BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Succesful_Login, AuthFixture) -{ - value req_body; - - user_dao->Create({""s, "MyLogin123456780"s + uuid, HashPassword("Qwerty123456"s)}); - - req_body.emplace_object(); - - req_body.as_object().emplace("login"s, "MyLogin123456780"s + uuid); - req_body.as_object().emplace("password"s, "Qwerty123456"s); - - req.body() = serialize(req_body); - - auto response = executor(std::move(req)); - - BOOST_CHECK(response.result() == http::status::ok); - - auto response_body = parse(response.body()); - - BOOST_CHECK(response_body.as_object().count("token"s) == 1); -} +// +// BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Fields, AuthFixture) +// { +// value req_body; +// +// req_body.emplace_object(); +// +// req_body.as_object().emplace("login"s, ""s); +// req_body.as_object().emplace("password"s, ""s); +// +// req.body() = serialize(req_body); +// +// BOOST_CHECK_EXCEPTION(executor(std::move(req)), session_exception, +// [](const session_exception& e) -> bool +// { +// return e.code == beast::http::status::unprocessable_entity; +// }); +// } +// +// BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Succesful_Login, AuthFixture) +// { +// value req_body; +// +// user_dao->Create({""s, "MyLogin123456780"s + uuid, HashPassword("Qwerty123456"s)}); +// +// req_body.emplace_object(); +// +// req_body.as_object().emplace("login"s, "MyLogin123456780"s + uuid); +// req_body.as_object().emplace("password"s, "Qwerty123456"s); +// +// req.body() = serialize(req_body); +// +// auto response = executor(std::move(req)); +// +// BOOST_CHECK(response.result() == http::status::ok); +// +// auto response_body = parse(response.body()); +// +// BOOST_CHECK(response_body.as_object().count("token"s) == 1); +// } diff --git a/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp b/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp index 7a78a71..2ba0026 100644 --- a/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp +++ b/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp @@ -27,7 +27,7 @@ using RouteAuthRegistrationExecutor = AuthRegistrationExecutor>>; -BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Failed_Parse_Payload, AuthFixture) +BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Failed_Parse_Payload, AuthFixture) { req.body() = "{ \"login\": ABS3 }"s; @@ -37,7 +37,7 @@ BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Failed_Parse_Payload, AuthFixtu }); } -BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data, AuthFixture) +BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data, AuthFixture) { value req_body; @@ -54,7 +54,7 @@ BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Invalid_Login_Data, AuthFixture }); } -BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Succesfull_User_Login, AuthFixture) +BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Succesfull_User_Login, AuthFixture) { value req_body; @@ -70,7 +70,7 @@ BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Succesfull_User_Login, AuthFixt BOOST_CHECK_EQUAL(response.result(), http::status::created); } -BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Unsuccesfull_User_Login, AuthFixture) +BOOST_FIXTURE_TEST_CASE(AuthRegistrationExecutor_Unsuccesfull_User_Registration, AuthFixture) { value req_body; diff --git a/tests/fixtures/AuthFixture.cpp b/tests/fixtures/AuthFixture.cpp deleted file mode 100644 index 5cea77f..0000000 --- a/tests/fixtures/AuthFixture.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "AuthFixture.h" - -#include -#include - -#include - -#include "./../../src/db/mysql_connector.h" - -using namespace std; - -namespace uad -{ -AuthFixture::AuthFixture() : - uuid(std::to_string(uad::Random())), - argv(boost::unit_test::framework::master_test_suite().argv), - mysql_credentials(argv[1]), - mysql_session(new mysqlx::Session(mysql_credentials)), - helper(mysql_session), - user_dao(std::make_shared(GetMySqlSession())), - auth_dao(make_shared(GetMySqlSession())), - executor(RouteAuthRegistrationExecutor(GetMySqlSession(), user_dao)) -{ - BOOST_TEST_MESSAGE("Setup RouteAuthRegistrationExecutor fixture"); -} - -AuthFixture::~AuthFixture() -{ - argv = nullptr; - mysql_session->close(); - delete mysql_session; - mysql_session = nullptr; - SetMySqlSession(nullptr); - - BOOST_TEST_MESSAGE("Teardown RouteAuthRegistrationExecutor fixture"); -} -} diff --git a/tests/fixtures/AuthFixture.h b/tests/fixtures/AuthFixture.h index 0b79865..bf22ff3 100644 --- a/tests/fixtures/AuthFixture.h +++ b/tests/fixtures/AuthFixture.h @@ -3,6 +3,7 @@ #include #include #include +#include #include #include "./../../src/endpoints_handlers/AuthRegistrationExecutor.h" @@ -13,28 +14,33 @@ namespace uad { +using Request = boost::beast::http::request>>; + +template class AuthFixture { public: - using RouteAuthRegistrationExecutor = AuthRegistrationExecutor, - boost::beast::http::string_body>; - using Request = boost::beast::http::request>>; - const std::string uuid; - char** argv; + const std::string uuid = std::to_string(uad::Random()); + char** argv = boost::unit_test::framework::master_test_suite().argv; - const std::string mysql_credentials; - mysqlx::Session* mysql_session; + 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 helper = fixture_session_initialization_helper(mysql_session); - std::shared_ptr user_dao; - std::shared_ptr auth_dao; - RouteAuthRegistrationExecutor executor; + 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(); - ~AuthFixture(); + AuthFixture() + { + BOOST_TEST_MESSAGE("Setup fixture"); + } + ~AuthFixture() + { + BOOST_TEST_MESSAGE("Teardown fixture"); + } }; }