diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index 01e44e8c40ef17941a6b59226245c5dcb62e88c6..ab00fa5457bbd9e5e70f9417cacb10df67dfc5e8 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -5,7 +5,7 @@ #include "receiver_config_factory.h" #include "receiver_config.h" -#include "receiver_logger.h" +#include "receiver_data_server/receiver_data_server_logger.h" #include "common/version.h" #include "receiver_data_server/receiver_data_server.h" @@ -23,16 +23,19 @@ asapo::Error ReadConfigFile(int argc, char* argv[]) { void AddDataServers(const asapo::ReceiverConfig* config, asapo::SharedCache cache, std::vector<asapo::RdsNetServerPtr>& netServers) { + auto logger = asapo::GetDefaultReceiverDataServerLogger(); + logger->SetLogLevel(config->log_level); + auto ds_config = config->dataserver; auto networkingMode = ds_config.network_mode; if (std::find(networkingMode.begin(), networkingMode.end(), "tcp") != networkingMode.end()) { // Add TCP - netServers.emplace_back(new asapo::RdsTcpServer("0.0.0.0:" + std::to_string(ds_config.listen_port))); + netServers.emplace_back(new asapo::RdsTcpServer("0.0.0.0:" + std::to_string(ds_config.listen_port), logger)); } if (std::find(networkingMode.begin(), networkingMode.end(), "fabric") != networkingMode.end()) { // Add Fabric - netServers.emplace_back(new asapo::RdsFabricServer(ds_config.advertise_uri)); + netServers.emplace_back(new asapo::RdsFabricServer(ds_config.advertise_uri, logger)); } } diff --git a/receiver/src/receiver_data_server/net_server/rds_fabric_server.cpp b/receiver/src/receiver_data_server/net_server/rds_fabric_server.cpp index a559456e5eacdaaded33a5c629f661939eeda05b..a0d682b30ebaead730c6c1cfbe33c8931ed46075 100644 --- a/receiver/src/receiver_data_server/net_server/rds_fabric_server.cpp +++ b/receiver/src/receiver_data_server/net_server/rds_fabric_server.cpp @@ -7,8 +7,9 @@ using namespace asapo; -RdsFabricServer::RdsFabricServer(std::string listenAddress): factory__(fabric::GenerateDefaultFabricFactory()), io__{GenerateDefaultIO()}, - log__{GetDefaultReceiverDataServerLogger()}, listenAddress_(std::move(listenAddress)) { +RdsFabricServer::RdsFabricServer(std::string listenAddress, + const AbstractLogger* logger): factory__(fabric::GenerateDefaultFabricFactory()), io__{GenerateDefaultIO()}, + log__{logger}, listenAddress_(std::move(listenAddress)) { } diff --git a/receiver/src/receiver_data_server/net_server/rds_fabric_server.h b/receiver/src/receiver_data_server/net_server/rds_fabric_server.h index 04edcb0f2f4804e630441b691fea77568af7f4ed..2733ade39e86817717b9252d51fa1d09bb5d2a9c 100644 --- a/receiver/src/receiver_data_server/net_server/rds_fabric_server.h +++ b/receiver/src/receiver_data_server/net_server/rds_fabric_server.h @@ -8,7 +8,7 @@ namespace asapo { class RdsFabricServer : public RdsNetServer { public: - explicit RdsFabricServer(std::string listenAddress); + explicit RdsFabricServer(std::string listenAddress, const AbstractLogger* logger); ~RdsFabricServer() override; // modified in testings to mock system calls, otherwise do not touch diff --git a/receiver/src/receiver_data_server/net_server/rds_tcp_server.cpp b/receiver/src/receiver_data_server/net_server/rds_tcp_server.cpp index 14c6cc84c69a1e7ab5592b59f41da20daa0528de..6f9e586fd71e7818e63ff1ff8c1793d54ed683bf 100644 --- a/receiver/src/receiver_data_server/net_server/rds_tcp_server.cpp +++ b/receiver/src/receiver_data_server/net_server/rds_tcp_server.cpp @@ -6,7 +6,7 @@ namespace asapo { -RdsTcpServer::RdsTcpServer(std::string address) : io__{GenerateDefaultIO()}, log__{GetDefaultReceiverDataServerLogger()}, +RdsTcpServer::RdsTcpServer(std::string address, const AbstractLogger* logger) : io__{GenerateDefaultIO()}, log__{logger}, address_{std::move(address)} {} Error RdsTcpServer::Initialize() { diff --git a/receiver/src/receiver_data_server/net_server/rds_tcp_server.h b/receiver/src/receiver_data_server/net_server/rds_tcp_server.h index 5d28f042c5800f68a4791b26712545dfd92419c4..9a588c145dad9725d0054e36a72ade3d70785aa8 100644 --- a/receiver/src/receiver_data_server/net_server/rds_tcp_server.h +++ b/receiver/src/receiver_data_server/net_server/rds_tcp_server.h @@ -11,7 +11,7 @@ const int kMaxPendingConnections = 5; class RdsTcpServer : public RdsNetServer { public: - explicit RdsTcpServer(std::string address); + explicit RdsTcpServer(std::string address, const AbstractLogger* logger); ~RdsTcpServer() override; Error Initialize() override; diff --git a/receiver/src/receiver_data_server/receiver_data_server_logger.h b/receiver/src/receiver_data_server/receiver_data_server_logger.h index c391dbe0d827627bf27edb7eb904235a16b62733..cf50590d69467a1a419222f14c1f2068fff4df53 100644 --- a/receiver/src/receiver_data_server/receiver_data_server_logger.h +++ b/receiver/src/receiver_data_server/receiver_data_server_logger.h @@ -1,5 +1,5 @@ -#ifndef ASAPO_RECEIVER_LOGGER_H -#define ASAPO_RECEIVER_LOGGER_H +#ifndef ASAPO_DATA_RECEIVER_LOGGER_H +#define ASAPO_DATA_RECEIVER_LOGGER_H #include "logger/logger.h" @@ -11,4 +11,4 @@ AbstractLogger* GetDefaultReceiverDataServerLogger(); } -#endif //ASAPO_RECEIVER_LOGGER_H +#endif //ASAPO_DATA_RECEIVER_LOGGER_H diff --git a/receiver/unittests/receiver_data_server/net_server/test_rds_fabric_server.cpp b/receiver/unittests/receiver_data_server/net_server/test_rds_fabric_server.cpp index c7580823a0455a0def0760fda4f1e0761446f9b1..9e44b551b7301e8367751edb11aad86dca6cdc33 100644 --- a/receiver/unittests/receiver_data_server/net_server/test_rds_fabric_server.cpp +++ b/receiver/unittests/receiver_data_server/net_server/test_rds_fabric_server.cpp @@ -23,15 +23,16 @@ using namespace asapo; std::string expected_address = "somehost:123"; TEST(RdsFabricServer, Constructor) { - RdsFabricServer fabric_server(""); + NiceMock<MockLogger> mock_logger; + RdsFabricServer fabric_server("", &mock_logger); ASSERT_THAT(dynamic_cast<SystemIO*>(fabric_server.io__.get()), Ne(nullptr)); ASSERT_THAT(dynamic_cast<fabric::FabricFactory*>(fabric_server.factory__.get()), Ne(nullptr)); - ASSERT_THAT(dynamic_cast<const AbstractLogger*>(fabric_server.log__), Ne(nullptr)); + ASSERT_THAT(fabric_server.log__, Eq(&mock_logger)); } class RdsFabricServerTests : public Test { public: - RdsFabricServer rds_server{expected_address}; + RdsFabricServer rds_server{expected_address, &mock_logger}; NiceMock<MockLogger> mock_logger; StrictMock<MockIO> mock_io; StrictMock<fabric::MockFabricFactory> mock_fabric_factory; @@ -96,6 +97,10 @@ TEST_F(RdsFabricServerTests, Initialize_Error_DoubleInitialize) { &mock_fabric_server )); + EXPECT_CALL(mock_fabric_server, GetAddress()).WillOnce(Return( + "TestAddress" + )); + Error err = rds_server.Initialize(); ASSERT_THAT(rds_server.server__, Ne(nullptr)); ASSERT_THAT(err, Eq(nullptr)); diff --git a/receiver/unittests/receiver_data_server/net_server/test_rds_tcp_server.cpp b/receiver/unittests/receiver_data_server/net_server/test_rds_tcp_server.cpp index 7b2327616500620e89649c0f3f92814f99c411e4..0c87f50d47f5715320edad6473cd69061152fd26 100644 --- a/receiver/unittests/receiver_data_server/net_server/test_rds_tcp_server.cpp +++ b/receiver/unittests/receiver_data_server/net_server/test_rds_tcp_server.cpp @@ -26,14 +26,16 @@ using ::testing::DoAll; using asapo::RdsTcpServer; using asapo::MockIO; +using asapo::MockLogger; using asapo::Error; using asapo::ListSocketDescriptors; namespace { TEST(RdsTCPServer, Constructor) { - RdsTcpServer tcp_server(""); + NiceMock<MockLogger> mock_logger; + RdsTcpServer tcp_server("", &mock_logger); ASSERT_THAT(dynamic_cast<asapo::IO*>(tcp_server.io__.get()), Ne(nullptr)); - ASSERT_THAT(dynamic_cast<const asapo::AbstractLogger*>(tcp_server.log__), Ne(nullptr)); + ASSERT_THAT(tcp_server.log__, Eq(&mock_logger)); } @@ -41,7 +43,7 @@ std::string expected_address = "somehost:123"; class RdsTCPServerTests : public Test { public: - RdsTcpServer tcp_server {expected_address}; + RdsTcpServer tcp_server {expected_address, &mock_logger}; NiceMock<MockIO> mock_io; NiceMock<asapo::MockLogger> mock_logger; asapo::SocketDescriptor expected_master_socket = 1; @@ -49,7 +51,6 @@ class RdsTCPServerTests : public Test { std::vector<std::string> expected_new_connections = {"test1", "test2"}; void SetUp() override { tcp_server.io__ = std::unique_ptr<asapo::IO> {&mock_io}; - tcp_server.log__ = &mock_logger; for (auto conn : expected_client_sockets) { std::string connected_uri = std::to_string(conn); ON_CALL(mock_io, AddressFromSocket_t(conn)).WillByDefault(Return(connected_uri));