Подготовка фикстуры

This commit is contained in:
Антон
2025-11-14 13:47:12 +03:00
parent a63ca6bdb3
commit 97c5e67705
5 changed files with 35 additions and 5 deletions
+4 -1
View File
@@ -53,6 +53,7 @@ add_executable(App ./src/main.cpp
./src/exceptions/session_exception.h ./src/exceptions/session_exception.h
src/log/Log.h src/log/Log.h
src/log/Log.cpp src/log/Log.cpp
tests/fixtures/AuthRegistrationExecutorTestFixture.h
) )
target_link_libraries(App PRIVATE Boost::boost target_link_libraries(App PRIVATE Boost::boost
@@ -88,7 +89,9 @@ add_executable(AuthRegistrationExecutorTests ./tests/endpoint_handlers/AuthRegis
./src/DAO/MySQLUserDAO.h ./src/DAO/MySQLUserDAO.h
./src/DAO/MySQLUserDAO.cpp ./src/DAO/MySQLUserDAO.cpp
./src/db/mysql_connector.h ./src/db/mysql_connector.h
./src/db/mysql_connector.cpp) ./src/db/mysql_connector.cpp
./tests/fixtures/AuthRegistrationExecutorTestFixture.h
./tests/fixtures/AuthRegistrationExecutorTestFixture.cpp)
target_link_libraries(AuthRegistrationExecutorTests PRIVATE Boost::boost target_link_libraries(AuthRegistrationExecutorTests PRIVATE Boost::boost
Boost::json Boost::json
Boost::log Boost::log
+9 -4
View File
@@ -5,7 +5,7 @@
- Посмотреть пулл соединений(Object pool) при использовании базы данных(посмотреть api MySQL-Connector) - Посмотреть пулл соединений(Object pool) при использовании базы данных(посмотреть api MySQL-Connector)
- Посмотреть, что дает MySQL, какие там есть возможность - Посмотреть, что дает MySQL, какие там есть возможность
- Посмотреть и подумать, что лучше - корутины или многопоточность? - Посмотреть и подумать, что лучше - корутины или многопоточность?
- Покрыть тестами класс User и AuthRegistrationExecutor - ~~Покрыть тестами класс User и AuthRegistrationExecutor~~
- ~~Добавить clang-format(через CLion)~~ - ~~Добавить clang-format(через CLion)~~
- ~~Перевести GetByUUID GetByLogin на const ref/string_view в IUserDAO - также не vector, а span(погуглить)~~ - span не применим - ~~Перевести GetByUUID GetByLogin на const ref/string_view в IUserDAO - также не vector, а span(погуглить)~~ - span не применим
- ~~Привести к единому виду функции IUserDAO~~ - ~~Привести к единому виду функции IUserDAO~~
@@ -15,9 +15,14 @@
- ~~SharedPtr - передавать по константной ссылке.~~ - ~~SharedPtr - передавать по константной ссылке.~~
- ~~Вынести обработку исключений в RootExecutor~~ - ~~Вынести обработку исключений в RootExecutor~~
- ~~Уменьшить дублирование кода в исключениях~~ - ~~Уменьшить дублирование кода в исключениях~~
- Покрыть логами - ~~Покрыть логами~~
- ~~Сделать один класс исключений, имеющих метод HTTP code - код и сообщение записывать уже в ловушке~~ - ~~Сделать один класс исключений, имеющих метод HTTP code - код и сообщение записывать уже в ловушке~~
- Сделать интеграционный тест по ручкам - ~~Сделать интеграционный тест по ручкам~~
- UseCase'ы по работе с личным кабинетом
- Научиться поднимать базы данных под каждый тест - научиться Docker - docker-compose - а если тест что-то должен заполнить, то он заполняет в самом начале()
- Возможно, сделать тесты на CI/CD - приоритет - низкий
- Заменить internal_server_error на bad_request и перепроверить коды ошибок
- Создание и удаление вспомогательных классов должно быть вынесено в фикстуру
# UseCase'ы приложения: # UseCase'ы приложения:
@@ -172,7 +177,7 @@ null
* Пользователю доступны операции добавления, модификации и удаления записей, а также схем лечения * Пользователю доступны операции добавления, модификации и удаления записей, а также схем лечения
### 8.API-Маршруты ### 8.API-Маршруты
* `GET /api/v1/User/Diaries` - получить кусок дневника пользователя (требует Authorization: Bearer <token>) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20) * `GET /api/v1/User/Diaries` - получить кусок дневника пользователя (требует Authorization: Bearer <token>) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20)
* `GET /api/v1/User/TreatmentSchemes` - получить кусок дневника пользователя (требует Authorization: Bearer <token>) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20) * `GET /api/v1/User/TreatmentSchemes` - получить список схем пользователя (требует Authorization: Bearer <token>) query-параметры: from (int, по умолч. 0), count (int, по умолч. 20)
### 9.Контракт ### 9.Контракт
#### Diaries-Request #### Diaries-Request
@@ -13,6 +13,7 @@
#include "./../../src/db/mysql_connector.h" #include "./../../src/db/mysql_connector.h"
#include "./../../src/exceptions/session_exception.h" #include "./../../src/exceptions/session_exception.h"
#include "./../../src/helpers/helpers.h" #include "./../../src/helpers/helpers.h"
#include "./../fixtures/AuthRegistrationExecutorTestFixture.h"
const std::string kUUID = std::to_string(uad::Random()); const std::string kUUID = std::to_string(uad::Random());
+10
View File
@@ -0,0 +1,10 @@
#include "AuthRegistrationExecutorTestFixture.h"
#include <boost/test/unit_test.hpp>
namespace uad
{
F::F(): i( 0 ) { BOOST_TEST_MESSAGE( "setup fixture" ); }
F::~F() { BOOST_TEST_MESSAGE( "teardown fixture" ); }
}
+11
View File
@@ -0,0 +1,11 @@
#pragma once
namespace uad
{
class F {
F();
~F();
int i;
};
}