ソースを参照

Complete SocketAddressMapper test

Patrick-Christopher Mattulat 2 年 前
コミット
dc3f26264c

+ 2 - 2
source/ls_std/network/socket/SocketAddressMapper.cpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-11-18
- * Changed:         2022-11-18
+ * Changed:         2022-12-09
  *
  * */
 
@@ -33,7 +33,7 @@ ls::std::network::ConvertedSocketAddress ls::std::network::SocketAddressMapper::
 ::sockaddr_in ls::std::network::SocketAddressMapper::_toSockAddressUnix(const ls::std::network::SocketAddressMapperParameter &_parameter)
 {
   ::sockaddr_in socketAddressUnix{};
-  socketAddressUnix.sin_port = htons(_parameter.socketAddress.port);
+  socketAddressUnix.sin_port = ::htons(_parameter.socketAddress.port);
 
   ls::std::network::ProtocolFamily protocolFamily = ls::std::network::ProtocolFamilyMapper::from(_parameter.protocolFamilyType);
   socketAddressUnix.sin_family = protocolFamily.unixDomain;

+ 25 - 4
test/cases/network/socket/SocketAddressMapperTest.cpp

@@ -3,13 +3,17 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-18
- * Changed:         2022-11-18
+ * Changed:         2022-12-09
  *
  * */
 
 #include <gtest/gtest.h>
 #include <ls_std/ls_std_network.hpp>
 
+#if defined(unix) || defined(__APPLE__)
+#include <sys/socket.h>
+#endif
+
 using namespace ls::std::network;
 
 namespace
@@ -26,6 +30,20 @@ namespace
 
       void TearDown() override
       {}
+
+      static SocketAddressMapperParameter createSocketAddressMapperParameter()
+      {
+        SocketAddressMapperParameter parameter{};
+        parameter.protocolFamilyType = ProtocolFamilyType::PROTOCOL_FAMILY_TYPE_IPV4;
+
+        SocketAddress socketAddress{};
+        socketAddress.port = 8080;
+        socketAddress.protocolType = PROTOCOL_TYPE_TCP;
+        socketAddress.ipAddress = "127.0.0.1";
+        parameter.socketAddress = socketAddress;
+
+        return parameter;
+      }
   };
 
   TEST_F(SocketAddressMapperTest, getClassName)
@@ -35,9 +53,12 @@ namespace
 
   TEST_F(SocketAddressMapperTest, from)
   {
-    SocketAddressMapperParameter parameter{};
-    parameter.protocolFamilyType = ProtocolFamilyType::PROTOCOL_FAMILY_TYPE_IPV4;
+    ConvertedSocketAddress convertedSocketAddress = SocketAddressMapper::from(createSocketAddressMapperParameter());
 
-    ConvertedSocketAddress convertedSocketAddress = SocketAddressMapper::from();
+    #if defined(unix) || defined(__APPLE__)
+    ASSERT_EQ(36895, convertedSocketAddress.socketAddressUnix.sin_port); // expected: return value of htons()
+    ASSERT_EQ(AF_INET, convertedSocketAddress.socketAddressUnix.sin_family);
+    ASSERT_EQ(16777343, convertedSocketAddress.socketAddressUnix.sin_addr.s_addr); // expected: return value of inet_aton()
+    #endif
   }
 }