From 4e4049985ba72b23c37e0cc02c49326efb830472 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Poyraz=20K=C3=BC=C3=A7=C3=BCkarslan?= <83272398+PoyrazK@users.noreply.github.com> Date: Sun, 19 Apr 2026 00:19:32 +0300 Subject: [PATCH 1/2] Add LargePayload and ServerOnSpecificPort tests to rpc_server_tests --- tests/rpc_server_tests.cpp | 44 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tests/rpc_server_tests.cpp b/tests/rpc_server_tests.cpp index 6166dc35..ea86ceca 100644 --- a/tests/rpc_server_tests.cpp +++ b/tests/rpc_server_tests.cpp @@ -283,4 +283,48 @@ TEST_F(RpcServerTests, NoHandlerRegistered) { server_->stop(); } +TEST_F(RpcServerTests, LargePayload) { + server_->start(); + + // Set a handler that tracks if it was called + server_->set_handler(RpcType::PushData, + [&](const RpcHeader&, const std::vector&, int) { + handler_called_ = true; + }); + + int fd = socket(AF_INET, SOCK_STREAM, 0); + sockaddr_in addr{}; + addr.sin_family = AF_INET; + addr.sin_port = htons(port_); + inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr); + connect(fd, (sockaddr*)&addr, sizeof(addr)); + + // Send large payload (10KB) + RpcHeader hdr; + hdr.type = RpcType::PushData; + hdr.payload_len = 10240; + char h_buf[RpcHeader::HEADER_SIZE]; + hdr.encode(h_buf); + send(fd, h_buf, RpcHeader::HEADER_SIZE, 0); + + // Send payload data + std::vector large_data(10240, 'x'); + send(fd, large_data.data(), large_data.size(), 0); + + std::this_thread::sleep_for(std::chrono::milliseconds(50)); + EXPECT_TRUE(handler_called_); + + close(fd); + server_->stop(); +} + +TEST_F(RpcServerTests, ServerOnSpecificPort) { + // Test server can bind to specific port + constexpr uint16_t specific_port = 6399; + auto specific_server = std::make_unique(specific_port); + + ASSERT_TRUE(specific_server->start()); + specific_server->stop(); +} + } // namespace From e0e347d20da40d4b41a8bc4d31517e8be35e7d55 Mon Sep 17 00:00:00 2001 From: poyrazK <83272398+poyrazK@users.noreply.github.com> Date: Sat, 18 Apr 2026 21:20:50 +0000 Subject: [PATCH 2/2] style: automated clang-format fixes --- tests/rpc_server_tests.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/rpc_server_tests.cpp b/tests/rpc_server_tests.cpp index ea86ceca..f574a303 100644 --- a/tests/rpc_server_tests.cpp +++ b/tests/rpc_server_tests.cpp @@ -287,10 +287,8 @@ TEST_F(RpcServerTests, LargePayload) { server_->start(); // Set a handler that tracks if it was called - server_->set_handler(RpcType::PushData, - [&](const RpcHeader&, const std::vector&, int) { - handler_called_ = true; - }); + server_->set_handler(RpcType::PushData, [&](const RpcHeader&, const std::vector&, + int) { handler_called_ = true; }); int fd = socket(AF_INET, SOCK_STREAM, 0); sockaddr_in addr{};