oceanbase/deps/oblib/unittest/lib/net/test_ob_net_util.cpp
2023-11-01 13:09:11 +00:00

319 lines
18 KiB
C++

/**
* Copyright (c) 2021 OceanBase
* OceanBase CE is licensed under Mulan PubL v2.
* You can use this software according to the terms and conditions of the Mulan PubL v2.
* You may obtain a copy of Mulan PubL v2 at:
* http://license.coscl.org.cn/MulanPubL-2.0
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PubL v2 for more details.
*/
#include <gtest/gtest.h>
#define private public
#include "lib/net/ob_net_util.h"
namespace oceanbase
{
namespace obsys
{
TEST(TestWhiteList, ObNetUtil)
{
ObString host_name_0("100.104.127.0/26");
EXPECT_EQ(true, ObNetUtil::is_ip_match("100.104.127.44", host_name_0));
ObString host_name("192.168.0.0/16");
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.1", host_name));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.0", host_name));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.255", host_name));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.-1", host_name));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.-1.1", host_name));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.256.1", host_name));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.256", host_name));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.169.1.1", host_name));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name));
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name));
ObString host_name_ipv6("fe80:90fa:2017:ff00::/56");
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:02", host_name_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:fe00:00e8:0074:0a:02", host_name_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match(":90fa:2017:fe00:00e8:0074:0a:02", host_name_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff:", host_name_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("::", host_name_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("::1", host_name_ipv6));
ObString host_name2("0.0.0.0/0");
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.1", host_name2));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.0", host_name2));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.255", host_name2));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.-1", host_name2));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.-1.1", host_name2));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.256.1", host_name2));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.256", host_name2));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.169.1.1", host_name2));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.0.1.1", host_name2));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name2));
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name2));
ObString host_name2_ipv6("::/0");
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name2_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::", host_name2_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("::", host_name2_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("::1", host_name2_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.1", host_name2_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match(":2017:ff03::", host_name2_ipv6));
ObString host_name3("192.168.1.1/32");
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.1", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.0", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.255", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.-1", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.-1.1", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.256.1", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.256", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.169.1.1", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name3));
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name3));
ObString host_name4("192.168.11.0/255.255.255.0");
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.1", host_name4));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.0", host_name4));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.255", host_name4));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.-1", host_name4));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.256", host_name4));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.1", host_name4));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.10.1", host_name4));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name4));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name4));
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name4));
ObString host_name4_ipv6("fe80:90fa:2017:ff80::/ffff:ffff:ffff:ffff:0:0:0:0");
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff80:00e8:ff74:0a:02", host_name4_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff80::", host_name4_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff80:e8::0a:02", host_name4_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:02", host_name4_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00::", host_name4_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("::", host_name4_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("::1", host_name4_ipv6));
ObString host_name5("0.0.0.0/0.0.0.0");
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.1", host_name5));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.0", host_name5));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.255", host_name5));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.-1", host_name5));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.256", host_name5));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.1", host_name5));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.10.1", host_name5));
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.0.1.1", host_name5));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name5));
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name5));
ObString host_name5_ipv6("::/::");
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:02", host_name5_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("::", host_name5_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("::1", host_name5_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("ff:ff:ff:ff:ff:ff:ff:ff", host_name5_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("90fa:2017:ff00:00e8:0074:0a:02", host_name5_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:-1", host_name5_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:g1", host_name5_ipv6));
ObString host_name6("192.168.11.1/255.255.255.255");
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.1", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.0", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.255", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.-1", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.256", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.1", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.10.1", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name6));
ObString host_name7("192.168.11.1/33");
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.1", host_name7));
ObString host_name8("192.168.11.1/-1");
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.1", host_name8));
ObString host_name9("192.168.11.1/");
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.1", host_name9));
ObString host_name7_ipv6("fe80:90fa:2017:ff00::/129");
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name7_ipv6));
ObString host_name8_ipv6("fe80:90fa:2017:ff00::/-1");
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name8_ipv6));
ObString host_name9_ipv6("fe80:90fa:2017:ff00::/");
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name9_ipv6));
ObString host_name10("192.168.11.1");
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.1", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.0", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.255", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.-1", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.256", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.1", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.10.1", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name10));
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name10));
ObString host_name10_ipv6("2017::a:2");
EXPECT_EQ(true, ObNetUtil::is_ip_match("2017:0:0:0:0:0:a:2", host_name10_ipv6));
EXPECT_EQ(true, ObNetUtil::is_ip_match("2017::0a:02", host_name10_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("2017:2::0a:02", host_name10_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("::", host_name10_ipv6));
EXPECT_EQ(false, ObNetUtil::is_ip_match("::1", host_name10_ipv6));
ObString host_name11("192.168.11.%");
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.0", host_name11));
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.255", host_name11));
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.-1", host_name11));
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.256", host_name11));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.1.1", host_name11));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.10.1", host_name11));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.0.1.1", host_name11));
ObString host_name11_ipv6("fe80:fe20:ffff:%");
EXPECT_EQ(true, ObNetUtil::is_wild_match("fe80:fe20:ffff:2014:0506:02:56:80", host_name11_ipv6));
EXPECT_EQ(true, ObNetUtil::is_wild_match("fe80:fe20:ffff::", host_name11_ipv6));
EXPECT_EQ(true, ObNetUtil::is_wild_match("fe80:fe20:ffff:2019::", host_name11_ipv6));
EXPECT_EQ(false, ObNetUtil::is_wild_match("fe80:fe20:fffe::", host_name11_ipv6));
EXPECT_EQ(false, ObNetUtil::is_wild_match("fe80:fe20:8fff::2084:92:23:78:ff30", host_name11_ipv6));
ObString host_name12("192.168.11._");
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.0", host_name12));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.11.255", host_name12));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.11.-1", host_name12));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.11.256", host_name12));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.1.1", host_name12));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.10.1", host_name12));
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.0.1.1", host_name12));
int64_t value = 0;
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("12", value));
EXPECT_EQ(12, value);
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("-12", value));
EXPECT_EQ(-12, value);
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("0", value));
EXPECT_EQ(0, value);
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("65536", value));
EXPECT_EQ(65536, value);
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("-65536", value));
EXPECT_EQ(-65536, value);
EXPECT_EQ(OB_INVALID_DATA, ObNetUtil::get_int_value("12sds", value));
EXPECT_EQ(OB_INVALID_DATA, ObNetUtil::get_int_value("12 sddf", value));
EXPECT_EQ(OB_INVALID_DATA, ObNetUtil::get_int_value("++12", value));
EXPECT_EQ(OB_INVALID_DATA, ObNetUtil::get_int_value("--12", value));
ObString ip_white_list1("");
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list1));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("%", ip_white_list1));
ObString ip_white_list2;
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list2));
ObString ip_white_list3("%");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list3));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list3));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list3));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list3));
ObString ip_white_list4("192.0.1.0/24");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list4));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list4));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list4));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list4));
ObString ip_white_list5("192.0.1.0/24, %");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list5));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list5));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list5));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list5));
ObString ip_white_list6("192.0.1.0/24,%");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list6));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list6));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list6));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list6));
ObString ip_white_list7(",192.0.1,192.0.1.0/24");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list7));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list7));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list7));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list7));
ObString ip_white_list8("10.125.224.0/255.255.252.0");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("10.125.224.15", ip_white_list8));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("10.125.224.5", ip_white_list8));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list8));
ObString ip_white_list9("10.125.224.0/22");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("10.125.224.15", ip_white_list9));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("10.125.224.5", ip_white_list9));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list9));
ObString ip_white_list10("255.255.224.0/22");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list10));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.5", ip_white_list10));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("255.255.255.15", ip_white_list10));
ObString ip_white_list11("255.255.224.14,,255.255.224.15");
ASSERT_EQ(false, ObNetUtil::is_in_white_list("255.255.224.13", ip_white_list11));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.14", ip_white_list11));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list11));
ObString ip_white_list12("255.255.224.15,255.255.224.14,255.255.224.13,255.255.224.12,255.255.224.11");
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.11", ip_white_list12));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.11", ip_white_list12));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.12", ip_white_list12));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.13", ip_white_list12));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.14", ip_white_list12));
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list12));
ASSERT_EQ(false, ObNetUtil::is_in_white_list("255.255.224.16", ip_white_list12));
ObString ip_white_list13(" 255.255.224.15, 255.255.224.14, 255.255.224.13, 255.255.224.12");
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list13));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.14", ip_white_list13));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.13", ip_white_list13));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.12", ip_white_list13));
ObString ip_white_list14(" 255.255.224.15/32 , 255.255.224.14/32 , 255.255.224.13/32 , 255.255.224.12/32");
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list14));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.14", ip_white_list14));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.13", ip_white_list14));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.12", ip_white_list14));
ObString ip_white_list15("10.244.32.%,10.250.37.18,192.168.11._");
EXPECT_EQ(true, ObNetUtil::is_in_white_list("10.250.37.18", ip_white_list15));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("192.168.11.1", ip_white_list15));
EXPECT_EQ(false, ObNetUtil::is_in_white_list("192.168.12.1", ip_white_list15));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("10.244.32.222", ip_white_list15));
EXPECT_EQ(false, ObNetUtil::is_in_white_list("10.250.49.24", ip_white_list15));
EXPECT_EQ(false, ObNetUtil::is_in_white_list("10.250.49.251", ip_white_list15));
ObString ip_white_list_mixed("10.244.32.%,10.250.37.18, 192.0.1.0/24, 192.168.11._, fe80:90fa:2017:ff00::/56, "
"fe80:90fa:2017:ee00:00e8:0074:0a:02");
EXPECT_EQ(true, ObNetUtil::is_in_white_list("10.250.37.18", ip_white_list_mixed));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("10.244.32.222", ip_white_list_mixed));
EXPECT_EQ(false, ObNetUtil::is_in_white_list("10.250.49.24", ip_white_list_mixed));
EXPECT_EQ(false, ObNetUtil::is_in_white_list("10.250.49.251", ip_white_list_mixed));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("fe80:90fa:2017:ff00:00e8:0074:0a:02", ip_white_list_mixed));
EXPECT_EQ(false, ObNetUtil::is_in_white_list("fe80:90ee:2017:ff00:00e8:0074:0a:02", ip_white_list_mixed));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("fe80:90fa:2017:ee00:00e8:0074:0a:02", ip_white_list_mixed));
EXPECT_EQ(false, ObNetUtil::is_in_white_list("fe80:90fa:2017:ee00:00e8:0074:0a:03", ip_white_list_mixed));
EXPECT_EQ(true, ObNetUtil::is_in_white_list("192.168.11.1", ip_white_list_mixed));
}
} // namespace obsys
} // end of namespace oceanbase
int main(int argc, char **argv)
{
oceanbase::common::ObLogger::get_logger().set_log_level("DEBUG");
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}