diff --git a/receiver/src/receiver_data_server/tcp_server.cpp b/receiver/src/receiver_data_server/tcp_server.cpp index fa2d2e6d966135893ad389310aea77457ef6858b..61923e006f35e4d2f7327ed8b101b6f6b1c5004c 100644 --- a/receiver/src/receiver_data_server/tcp_server.cpp +++ b/receiver/src/receiver_data_server/tcp_server.cpp @@ -86,7 +86,7 @@ Requests TcpServer::GetNewRequests(Error* err) const noexcept { TcpServer::~TcpServer() { if (!io__) return; // need for test that override io__ to run - for (auto client: sockets_to_listen_) { + for (auto client : sockets_to_listen_) { io__->CloseSocket(client, nullptr); } io__->CloseSocket(master_socket_, nullptr); diff --git a/receiver/unittests/receiver_data_server/test_tcp_server.cpp b/receiver/unittests/receiver_data_server/test_tcp_server.cpp index d0cdcecdf757540a69c62f5e50c9d684621e9e56..9dca74ee995d7dc61ef65543711ace97a5aaaa3d 100644 --- a/receiver/unittests/receiver_data_server/test_tcp_server.cpp +++ b/receiver/unittests/receiver_data_server/test_tcp_server.cpp @@ -48,7 +48,7 @@ class TCPServerTests : public Test { asapo::SocketDescriptor expected_master_socket = 1; ListSocketDescriptors expected_client_sockets{2, 3, 4}; std::vector<std::string> expected_new_connections = {"test1", "test2"}; - void SetUp() override { + void SetUp() override { tcp_server.io__ = std::unique_ptr<asapo::IO> {&mock_io}; tcp_server.log__ = &mock_logger; for (auto conn : expected_client_sockets) { @@ -143,7 +143,7 @@ void TCPServerTests::ExpectReceiveRequestEof() { } -ACTION_P(A_ReceiveData, op_code) { +ACTION_P2(A_ReceiveData, op_code, expected_id) { ((asapo::GenericRequestHeader*)arg1)->op_code = op_code; ((asapo::GenericRequestHeader*)arg1)->data_id = expected_id; } @@ -155,7 +155,7 @@ void TCPServerTests::ExpectReceiveOk() { .WillOnce( DoAll( testing::SetArgPointee<3>(nullptr), - A_ReceiveData(asapo::kOpcodeUnknownOp), + A_ReceiveData(asapo::kOpcodeGetBufferData, conn), testing::ReturnArg<2>() )); } @@ -210,6 +210,26 @@ TEST_F(TCPServerTests, GetNewRequestsReadEof) { } +TEST_F(TCPServerTests, GetNewRequestsReadOk) { + Error + err; + ExpectListenMaster(true); + WaitSockets(true); + ExpectReceiveOk(); + auto requests = tcp_server.GetNewRequests(&err); + + ASSERT_THAT(err, Eq(nullptr)); + ASSERT_THAT(requests.size(), Eq(3)); + int i = 0; + for (auto conn : expected_client_sockets) { + ASSERT_THAT(requests[i].header.data_id, Eq(conn)); + ASSERT_THAT(requests[i].header.op_code, Eq(asapo::kOpcodeGetBufferData)); + ASSERT_THAT(requests[i].net_id, Eq(conn)); + ASSERT_THAT(requests[i].server, Eq(&tcp_server)); + i++; + } + +} }