1 #include "utils/ip_utils.hpp" 2 3 #include <gtest/gtest.h> // IWYU pragma: keep 4 5 // IWYU pragma: no_include <gtest/gtest-message.h> 6 // IWYU pragma: no_include <gtest/gtest-test-part.h> 7 // IWYU pragma: no_include "gtest/gtest_pred_impl.h" 8 9 namespace redfish::ip_util 10 { 11 namespace 12 { 13 14 using ::boost::asio::ip::make_address; 15 16 TEST(IpToString, ReturnsCorrectIpStringForIpv4Addresses) 17 { 18 EXPECT_EQ(toString(make_address("127.0.0.1")), "127.0.0.1"); 19 EXPECT_EQ(toString(make_address("192.168.1.1")), "192.168.1.1"); 20 EXPECT_EQ(toString(make_address("::1")), "::1"); 21 } 22 23 TEST(IpToString, ReturnsCorrectIpStringForIpv6Addresses) 24 { 25 EXPECT_EQ(toString(make_address("fd03:f9ab:25de:89ec::0001")), 26 "fd03:f9ab:25de:89ec::1"); 27 EXPECT_EQ(toString(make_address("fd03:f9ab:25de:89ec::1234:abcd")), 28 "fd03:f9ab:25de:89ec::1234:abcd"); 29 EXPECT_EQ(toString(make_address("fd03:f9ab:25de:89ec:1234:5678:90ab:cdef")), 30 "fd03:f9ab:25de:89ec:1234:5678:90ab:cdef"); 31 } 32 33 TEST(IpToString, ReturnsCorrectIpStringForIpv4MappedIpv6Addresses) 34 { 35 EXPECT_EQ(toString(make_address("::ffff:127.0.0.1")), "127.0.0.1"); 36 } 37 } // namespace 38 } // namespace redfish::ip_util