From 9e792a250e0d50a4b37d588deee23c063209f905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD?= Date: Sun, 5 Oct 2025 09:56:47 +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 | 5 + src/RequestHandlers/BasicRequestHandler.cpp | 114 ------------------ src/RequestHandlers/BasicRequestHandler.h | 30 ----- .../AuthRegistrationExecutor.h | 1 - .../AuthRegistrationExecutor_TEST.cpp | 12 ++ 5 files changed, 17 insertions(+), 145 deletions(-) delete mode 100644 src/RequestHandlers/BasicRequestHandler.cpp delete mode 100644 src/RequestHandlers/BasicRequestHandler.h create mode 100644 tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c5227c..599938c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,6 +70,11 @@ add_executable(ControllerTests ./tests/endpoint_handlers/Controller_TEST.cpp target_link_libraries(ControllerTests PRIVATE Boost::boost) add_test(ControllerTests ControllerTests) +add_executable(AuthRegistrationExecutorTests ./tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp + ./src/endpoints_handlers/AuthRegistrationExecutor.h) +target_link_libraries(AuthRegistrationExecutorTests PRIVATE Boost::boost) +add_test(AuthRegistrationExecutorTests AuthRegistrationExecutorTests) + if (WIN32) target_compile_definitions(App PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX) target_compile_definitions(HelpersTests PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX) diff --git a/src/RequestHandlers/BasicRequestHandler.cpp b/src/RequestHandlers/BasicRequestHandler.cpp deleted file mode 100644 index c621bb4..0000000 --- a/src/RequestHandlers/BasicRequestHandler.cpp +++ /dev/null @@ -1,114 +0,0 @@ -#include "BasicRequestHandler.h" - -#include -#include - -#include "../content_type.h" - -using namespace std; -using namespace string_view_literals; - -namespace uad -{ -namespace beast = boost::beast; -namespace http = beast::http; -namespace net = boost::asio; - -http::message_generator HandleRequest( - beast::string_view doc_root, - http::request&& req) -{ - auto const bad_request = - [&req](beast::string_view why) - { - http::response res {http::status::bad_request, req.version()}; - res.set(http::field::server, BOOST_BEAST_VERSION_STRING); - res.set(http::field::content_type, "text/html"); - res.keep_alive(req.keep_alive()); - res.body() = std::string(why); - res.prepare_payload(); - return res; - }; - - auto const not_found = - [&req](beast::string_view target) - { - http::response res {http::status::not_found, req.version()}; - res.set(http::field::server, BOOST_BEAST_VERSION_STRING); - res.set(http::field::content_type, "text/html"); - res.keep_alive(req.keep_alive()); - res.body() = "The resource '" + std::string(target) + "' was not found."; - res.prepare_payload(); - return res; - }; - - auto const server_error = - [&req](beast::string_view what) - { - http::response res {http::status::internal_server_error, req.version()}; - res.set(http::field::server, BOOST_BEAST_VERSION_STRING); - res.set(http::field::content_type, "text/html"); - res.keep_alive(req.keep_alive()); - res.body() = "An error occurred: '" + std::string(what) + "'"; - res.prepare_payload(); - return res; - }; - - if (req.target() == "/HelloWorld"sv) - { - http::response res {}; - res.body() = "{ \"Hello\": \"World\" }"sv; - res.content_length(res.body().size()); - res.set(http::field::content_type, content_type::k_JSON); - res.prepare_payload(); - res.keep_alive(req.keep_alive()); - - return res; - } - - if (req.method() != http::verb::get && - req.method() != http::verb::head) - return bad_request("Unknown HTTP-method"); - - if (req.target().empty() || - req.target()[0] != '/' || - req.target().find("..") != beast::string_view::npos) - return bad_request("Illegal request-target"); - - std::string path = PathCat(doc_root, req.target()); - if (req.target().back() == '/') - path.append("index.html"); - - beast::error_code ec; - http::file_body::value_type body; - body.open(path.c_str(), beast::file_mode::scan, ec); - - if (ec == beast::errc::no_such_file_or_directory) - return not_found(req.target()); - - if (ec) - return server_error(ec.message()); - - auto const size = body.size(); - - if (req.method() == http::verb::head) - { - http::response res {http::status::ok, req.version()}; - res.set(http::field::server, BOOST_BEAST_VERSION_STRING); - res.set(http::field::content_type, MimeType(path)); - res.content_length(size); - res.keep_alive(req.keep_alive()); - return res; - } - - http::response res { - std::piecewise_construct, - std::make_tuple(std::move(body)), - std::make_tuple(http::status::ok, req.version())}; - res.set(http::field::server, BOOST_BEAST_VERSION_STRING); - res.set(http::field::content_type, MimeType(path)); - res.content_length(size); - res.keep_alive(req.keep_alive()); - return res; -} -} diff --git a/src/RequestHandlers/BasicRequestHandler.h b/src/RequestHandlers/BasicRequestHandler.h deleted file mode 100644 index 0d6b263..0000000 --- a/src/RequestHandlers/BasicRequestHandler.h +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "./../helpers.h" - -namespace uad -{ -namespace beast = boost::beast; -namespace http = beast::http; -namespace net = boost::asio; - -http::message_generator HandleRequest( - beast::string_view doc_root, - http::request&& req); -} diff --git a/src/endpoints_handlers/AuthRegistrationExecutor.h b/src/endpoints_handlers/AuthRegistrationExecutor.h index 9eec81d..7506f18 100644 --- a/src/endpoints_handlers/AuthRegistrationExecutor.h +++ b/src/endpoints_handlers/AuthRegistrationExecutor.h @@ -3,7 +3,6 @@ #include #include #include -#include #include "IExecutor.h" #include "../DAO/IUserDAO.h" diff --git a/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp b/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp new file mode 100644 index 0000000..dae2316 --- /dev/null +++ b/tests/endpoint_handlers/AuthRegistrationExecutor_TEST.cpp @@ -0,0 +1,12 @@ +#ifdef WIN32 +#include +#endif + +#define BOOST_TEST_MODULE AuthRegistrationExecutors + +#include + +BOOST_AUTO_TEST_CASE(Should_Be_Initiated_With_No_Executors) +{ + BOOST_CHECK(true == true); +}