verion which did not include the handling in RTService wth creating the
Json file
This commit is contained in:
48
vrpmdvaotserver/test/app/TestClient.hpp
Normal file
48
vrpmdvaotserver/test/app/TestClient.hpp
Normal file
@@ -0,0 +1,48 @@
|
||||
#ifndef DatabaseTestClient_hpp
|
||||
#define DatabaseTestClient_hpp
|
||||
|
||||
#include "oatpp/web/client/ApiClient.hpp"
|
||||
#include "oatpp/core/macro/codegen.hpp"
|
||||
|
||||
#include "dto/UserDto.hpp"
|
||||
#include "dto/MonitoringDto.hpp"
|
||||
|
||||
/* Begin Api Client code generation */
|
||||
#include OATPP_CODEGEN_BEGIN(ApiClient)
|
||||
|
||||
/**
|
||||
* Test API client.
|
||||
* Use this client to call application APIs.
|
||||
*/
|
||||
class TestClient : public oatpp::web::client::ApiClient {
|
||||
|
||||
API_CLIENT_INIT(TestClient)
|
||||
|
||||
/*****************************************************************
|
||||
* UserController
|
||||
*****************************************************************/
|
||||
|
||||
API_CALL("POST", "/users", addUser, BODY_DTO(Object<UserDto>, userDto))
|
||||
API_CALL("GET", "/users/{userId}", getUser, PATH(Int32, userId))
|
||||
API_CALL("DELETE", "/users/{userId}", deleteUser, PATH(Int32, userId))
|
||||
|
||||
/*****************************************************************/
|
||||
|
||||
// TODO - add more client API calls here
|
||||
/*****************************************************************
|
||||
* MonitoringController
|
||||
*****************************************************************/
|
||||
|
||||
API_CALL("POST", "/monitorings", addMonitoring, BODY_DTO(Object<MonitoringDto>, monitoringDto))
|
||||
API_CALL("GET", "/monitorings/{id}", getMonitoring, PATH(Int32, id))
|
||||
API_CALL("DELETE", "/monitorings/{id}", deleteMonitoring, PATH(Int32, id))
|
||||
|
||||
/*****************************************************************/
|
||||
|
||||
|
||||
};
|
||||
|
||||
/* End Api Client code generation */
|
||||
#include OATPP_CODEGEN_END(ApiClient)
|
||||
|
||||
#endif // DatabaseTestClient_hpp
|
||||
72
vrpmdvaotserver/test/app/TestComponent.hpp
Normal file
72
vrpmdvaotserver/test/app/TestComponent.hpp
Normal file
@@ -0,0 +1,72 @@
|
||||
#ifndef TestComponent_hpp
|
||||
#define TestComponent_hpp
|
||||
|
||||
#include "oatpp/web/server/HttpConnectionHandler.hpp"
|
||||
|
||||
#include "oatpp/network/virtual_/client/ConnectionProvider.hpp"
|
||||
#include "oatpp/network/virtual_/server/ConnectionProvider.hpp"
|
||||
#include "oatpp/network/virtual_/Interface.hpp"
|
||||
|
||||
#include "oatpp/parser/json/mapping/ObjectMapper.hpp"
|
||||
|
||||
#include "oatpp/core/macro/component.hpp"
|
||||
|
||||
#include "TestDatabaseComponent.hpp"
|
||||
|
||||
/**
|
||||
* Test Components config
|
||||
*/
|
||||
class TestComponent {
|
||||
public:
|
||||
|
||||
TestDatabaseComponent databaseComponent;
|
||||
|
||||
/**
|
||||
* Create oatpp virtual network interface for test networking
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::virtual_::Interface>, virtualInterface)([] {
|
||||
return oatpp::network::virtual_::Interface::obtainShared("virtualhost");
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create server ConnectionProvider of oatpp virtual connections for test
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::ServerConnectionProvider>, serverConnectionProvider)([] {
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::network::virtual_::Interface>, interface);
|
||||
return oatpp::network::virtual_::server::ConnectionProvider::createShared(interface);
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create client ConnectionProvider of oatpp virtual connections for test
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::ClientConnectionProvider>, clientConnectionProvider)([] {
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::network::virtual_::Interface>, interface);
|
||||
return oatpp::network::virtual_::client::ConnectionProvider::createShared(interface);
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create Router component
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::web::server::HttpRouter>, httpRouter)([] {
|
||||
return oatpp::web::server::HttpRouter::createShared();
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create ConnectionHandler component which uses Router component to route requests
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::network::ConnectionHandler>, serverConnectionHandler)([] {
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::web::server::HttpRouter>, router); // get Router component
|
||||
return oatpp::web::server::HttpConnectionHandler::createShared(router);
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create ObjectMapper component to serialize/deserialize DTOs in Contoller's API
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::data::mapping::ObjectMapper>, apiObjectMapper)([] {
|
||||
return oatpp::parser::json::mapping::ObjectMapper::createShared();
|
||||
}());
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif // TestComponent_hpp
|
||||
61
vrpmdvaotserver/test/app/TestDatabaseComponent.hpp
Normal file
61
vrpmdvaotserver/test/app/TestDatabaseComponent.hpp
Normal file
@@ -0,0 +1,61 @@
|
||||
|
||||
#ifndef TEST_DATABASECOMPONENT_HPP
|
||||
#define TEST_DATABASECOMPONENT_HPP
|
||||
|
||||
#include "db/UserDb.hpp"
|
||||
#include "db/MonitoringDb.hpp"
|
||||
|
||||
class TestDatabaseComponent {
|
||||
public:
|
||||
|
||||
/**
|
||||
* Create database connection provider component
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<oatpp::provider::Provider<oatpp::sqlite::Connection>>, dbConnectionProvider)([] {
|
||||
|
||||
/* Create database-specific ConnectionProvider */
|
||||
auto connectionProvider = std::make_shared<oatpp::sqlite::ConnectionProvider>(TESTDATABASE_FILE);
|
||||
|
||||
/* Create database-specific ConnectionPool */
|
||||
return oatpp::sqlite::ConnectionPool::createShared(connectionProvider,
|
||||
10 /* max-connections */,
|
||||
std::chrono::seconds(5) /* connection TTL */);
|
||||
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create database client
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<UserDb>, userDb)([] {
|
||||
|
||||
/* Get database ConnectionProvider component */
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::provider::Provider<oatpp::sqlite::Connection>>, connectionProvider);
|
||||
|
||||
/* Create database-specific Executor */
|
||||
auto executor = std::make_shared<oatpp::sqlite::Executor>(connectionProvider);
|
||||
|
||||
/* Create MyClient database client */
|
||||
return std::make_shared<UserDb>(executor);
|
||||
|
||||
}());
|
||||
|
||||
/**
|
||||
* Create database client
|
||||
*/
|
||||
OATPP_CREATE_COMPONENT(std::shared_ptr<MonitoringDb>, monitoringDb)([] {
|
||||
|
||||
/* Get database ConnectionProvider component */
|
||||
OATPP_COMPONENT(std::shared_ptr<oatpp::provider::Provider<oatpp::sqlite::Connection>>, connectionProvider);
|
||||
|
||||
/* Create database-specific Executor */
|
||||
auto executor = std::make_shared<oatpp::sqlite::Executor>(connectionProvider);
|
||||
|
||||
/* Create MyClient database client */
|
||||
return std::make_shared<MonitoringDb>(executor);
|
||||
|
||||
}());
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif //TEST_DATABASECOMPONENT_HPP
|
||||
Reference in New Issue
Block a user