This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tango-tsg-service-chaining-…/common/test/gtest_four_tuple.cpp

48 lines
1.1 KiB
C++
Raw Normal View History

#include <gtest/gtest.h>
#include <arpa/inet.h>
2023-11-08 10:20:27 +08:00
#include "four_tuple.h"
TEST(ADDR_TUPLE4, IPV4)
{
char *ret_str = NULL;
2023-11-08 10:20:27 +08:00
struct four_tuple reve_addr;
INIT_ADDR_V4(orin_addr, "1.2.3.4", 12345, "4.3.2.1", 23456)
2023-11-08 10:20:27 +08:00
four_tuple_reverse(&orin_addr, &reve_addr);
2023-11-08 10:20:27 +08:00
ret_str = four_tuple_to_string(&orin_addr);
EXPECT_TRUE(ret_str != nullptr);
EXPECT_STREQ(ret_str, "1.2.3.4 12345 4.3.2.1 23456");
free(ret_str);
2023-11-08 10:20:27 +08:00
ret_str = four_tuple_to_string(&reve_addr);
EXPECT_TRUE(ret_str != nullptr);
EXPECT_STREQ(ret_str, "4.3.2.1 23456 1.2.3.4 12345");
free(ret_str);
}
TEST(ADDR_TUPLE4, IPV6)
{
char *ret_str = NULL;
2023-11-08 10:20:27 +08:00
struct four_tuple reve_addr;
INIT_ADDR_V6(orin_addr, "1:2::3", 12345, "a:b::c", 23456);
2023-11-08 10:20:27 +08:00
four_tuple_reverse(&orin_addr, &reve_addr);
2023-11-08 10:20:27 +08:00
ret_str = four_tuple_to_string(&orin_addr);
EXPECT_TRUE(ret_str != nullptr);
EXPECT_STREQ(ret_str, "1:2::3 12345 a:b::c 23456");
free(ret_str);
2023-11-08 10:20:27 +08:00
ret_str = four_tuple_to_string(&reve_addr);
EXPECT_TRUE(ret_str != nullptr);
EXPECT_STREQ(ret_str, "a:b::c 23456 1:2::3 12345");
free(ret_str);
}
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}