@@ -30,6 +30,89 @@ TEST_F(NetworkApiTest, ipIpAddrTest)
30
30
EXPECT_EQ (FALSE , isIpAddr ((PCHAR) " 2001:85a3:0000:0000:8a2e:0370:7334" , STRLEN (" 2001:85a3:0000:0000:8a2e:0370:7334" )));
31
31
}
32
32
33
+ // ------------------------------- getIpAddrStr ----------------------
34
+
35
+ STATUS initTestKvsIpv4Address (PKvsIpAddress pKvsIpAddress)
36
+ {
37
+ STATUS retStatus = STATUS_SUCCESS;
38
+ UINT8 addr[] = {192 , 168 , 1 , 1 };
39
+
40
+ CHK (pKvsIpAddress != NULL , STATUS_NULL_ARG);
41
+
42
+ MEMSET (pKvsIpAddress, 0 , SIZEOF (KvsIpAddress));
43
+ pKvsIpAddress->family = KVS_IP_FAMILY_TYPE_IPV4;
44
+
45
+ MEMCPY (pKvsIpAddress->address , addr, IPV4_ADDRESS_LENGTH);
46
+
47
+ CleanUp:
48
+ return retStatus;
49
+ }
50
+
51
+ TEST_F (NetworkApiTest, GetIpAddrStrNullIpAddress)
52
+ {
53
+ CHAR buffer[KVS_IP_ADDRESS_STRING_BUFFER_LEN];
54
+
55
+ EXPECT_EQ (STATUS_NULL_ARG, getIpAddrStr (NULL , buffer, SIZEOF (buffer)));
56
+ }
57
+
58
+ TEST_F (NetworkApiTest, GetIpAddrStrInvalidBuffer)
59
+ {
60
+ CHAR buffer[KVS_IP_ADDRESS_STRING_BUFFER_LEN];
61
+
62
+ KvsIpAddress ipAddress;
63
+ EXPECT_EQ (STATUS_SUCCESS, initTestKvsIpv4Address (&ipAddress));
64
+
65
+ EXPECT_EQ (STATUS_INVALID_ARG, getIpAddrStr (&ipAddress, NULL , SIZEOF (buffer)));
66
+ EXPECT_EQ (STATUS_INVALID_ARG, getIpAddrStr (&ipAddress, buffer, 0 ));
67
+ }
68
+
69
+ TEST_F (NetworkApiTest, GetIpAddrStrBufferTooSmall)
70
+ {
71
+ KvsIpAddress ipAddress;
72
+ EXPECT_EQ (STATUS_SUCCESS, initTestKvsIpv4Address (&ipAddress));
73
+
74
+ // Test with increasingly small buffers
75
+ CHAR tinyBuffer[1 ];
76
+ EXPECT_EQ (STATUS_BUFFER_TOO_SMALL, getIpAddrStr (&ipAddress, tinyBuffer, SIZEOF (tinyBuffer)));
77
+
78
+ CHAR smallBuffer[5 ];
79
+ EXPECT_EQ (STATUS_BUFFER_TOO_SMALL, getIpAddrStr (&ipAddress, smallBuffer, SIZEOF (smallBuffer)));
80
+ }
81
+
82
+ TEST_F (NetworkApiTest, GetIpAddrStrIpv4Addr)
83
+ {
84
+ CHAR buffer[KVS_IP_ADDRESS_STRING_BUFFER_LEN];
85
+
86
+ KvsIpAddress ipAddress;
87
+ EXPECT_EQ (STATUS_SUCCESS, initTestKvsIpv4Address (&ipAddress));
88
+
89
+ EXPECT_EQ (STATUS_SUCCESS, getIpAddrStr (&ipAddress, buffer, SIZEOF (buffer)));
90
+ EXPECT_STREQ (" 192.168.1.1" , buffer);
91
+ }
92
+
93
+ TEST_F (NetworkApiTest, GetIpAddrStrIpv6Addr)
94
+ {
95
+ CHAR buffer[KVS_IP_ADDRESS_STRING_BUFFER_LEN];
96
+
97
+ KvsIpAddress ipAddress;
98
+ MEMSET (&ipAddress, 0 , SIZEOF (KvsIpAddress));
99
+ ipAddress.family = KVS_IP_FAMILY_TYPE_IPV6;
100
+
101
+ // rfc3849 - 2001:db8::/32 as a documentation-only prefix in the IPv6
102
+ // address registry. No end party is to be assigned this address.
103
+ UINT8 addr[] = {0x20 , 0x01 ,
104
+ 0x0d , 0xb8 ,
105
+ 0x12 , 0x34 ,
106
+ 0x56 , 0x78 ,
107
+ 0x9a , 0xbc ,
108
+ 0xde , 0xf0 ,
109
+ 0x12 , 0x34 ,
110
+ 0x56 , 0x78 };
111
+ MEMCPY (ipAddress.address , addr, IPV6_ADDRESS_LENGTH);
112
+
113
+ EXPECT_EQ (STATUS_SUCCESS, getIpAddrStr (&ipAddress, buffer, SIZEOF (buffer)));
114
+ EXPECT_STREQ (" 2001:0db8:1234:5678:9abc:def0:1234:5678" , buffer);
115
+ }
33
116
34
117
} // namespace webrtcclient
35
118
} // namespace video
0 commit comments