From da346c256e5494c7c5bd7260390493ebb68a77d9 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Sat, 19 Apr 2025 13:49:25 +0200 Subject: [PATCH] Add test for get_client_ip_as_string() --- tests/tcp.cpp | 59 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/tests/tcp.cpp b/tests/tcp.cpp index e285f8c..e749dc2 100644 --- a/tests/tcp.cpp +++ b/tests/tcp.cpp @@ -20,6 +20,42 @@ TEST(TcpServer, Accept) { EXPECT_FALSE(server.next_client_available()); } +TEST(TcpServer, DataAvailable) { + tcp::NonBlockingServer server{{.port = 1234}}; + tcp::NonBlockingClient client; + + EXPECT_FALSE(server.data_available()); + + auto lisRes = server.start_listening(); + auto conRes = client.connect({"localhost"}, 1234); + auto accRes = server.accept_next_client(); + + EXPECT_FALSE(server.data_available()); + + std::array txMsg = {"Hello, World!"}; + auto sendRes = client.send(std::as_bytes(std::span(txMsg))); + EXPECT_EQ(sendRes.value(), txMsg.size()); + EXPECT_TRUE(server.data_available()); + + std::array rxBuffer; + auto recvRes = server.recv(std::as_writable_bytes(std::span(rxBuffer))); + EXPECT_EQ(recvRes.value(), txMsg.size()); + EXPECT_FALSE(server.data_available()); +} + +TEST(TcpServer, GetClientIPAsString) { + tcp::NonBlockingServer server{{.port = 1234}}; + tcp::NonBlockingClient client; + + auto lisRes = server.start_listening(); + auto conRes = client.connect({"localhost"}, 1234); + auto accRes = server.accept_next_client(); + auto ipRes = server.get_client_ip_as_string(); + if (!ipRes) return; + + EXPECT_STREQ(ipRes.value().data(), "127.0.0.1"); +} + TEST(TcpClient, Connect) { tcp::NonBlockingServer server{{.port = 1234}}; tcp::NonBlockingClient client; @@ -104,29 +140,6 @@ TEST(TcpClient, DataAvailable) { EXPECT_FALSE(client.data_available()); } -TEST(TcpServer, DataAvailable) { - tcp::NonBlockingServer server{{.port = 1234}}; - tcp::NonBlockingClient client; - - EXPECT_FALSE(server.data_available()); - - auto lisRes = server.start_listening(); - auto conRes = client.connect({"localhost"}, 1234); - auto accRes = server.accept_next_client(); - - EXPECT_FALSE(server.data_available()); - - std::array txMsg = {"Hello, World!"}; - auto sendRes = client.send(std::as_bytes(std::span(txMsg))); - EXPECT_EQ(sendRes.value(), txMsg.size()); - EXPECT_TRUE(server.data_available()); - - std::array rxBuffer; - auto recvRes = server.recv(std::as_writable_bytes(std::span(rxBuffer))); - EXPECT_EQ(recvRes.value(), txMsg.size()); - EXPECT_FALSE(server.data_available()); -} - TEST(TcpClientServer, ClientSendServerReceive) { tcp::NonBlockingServer server{{.port = 1234}}; tcp::NonBlockingClient client;