1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#include <gtest/gtest.h> 17#include <iostream> 18 19#include "netstack_common_utils.h" 20 21namespace OHOS { 22namespace NetStack { 23namespace CommonUtils { 24namespace { 25using namespace testing::ext; 26static constexpr const char SPACE = ' '; 27static constexpr const char *STATUS_LINE_COMMA = ","; 28static constexpr const char *STATUS_LINE_SEP = " "; 29static constexpr const size_t STATUS_LINE_ELEM_NUM = 2; 30} // namespace 31 32class NetStackCommonUtilsTest : public testing::Test { 33public: 34 static void SetUpTestCase() {} 35 36 static void TearDownTestCase() {} 37 38 virtual void SetUp() {} 39 40 virtual void TearDown() {} 41}; 42 43HWTEST_F(NetStackCommonUtilsTest, CommonUtils, TestSize.Level2) 44{ 45 std::string str = "The,weather,is,fine,today"; 46 std::vector<std::string> subStr = Split(str, STATUS_LINE_COMMA); 47 EXPECT_STREQ(subStr[0].data(), "The"); 48 EXPECT_STREQ(subStr[1].data(), "weather"); 49 EXPECT_STREQ(subStr[2].data(), "is"); 50 EXPECT_STREQ(subStr[3].data(), "fine"); 51 EXPECT_STREQ(subStr[4].data(), "today"); 52 EXPECT_EQ(subStr.size(), 5); 53} 54 55HWTEST_F(NetStackCommonUtilsTest, CommonUtils1, TestSize.Level2) 56{ 57 std::string str = " The weather is fine today"; 58 std::string subStr = Strip(str, SPACE); 59 EXPECT_STREQ(subStr.data(), "The weather is fine today"); 60} 61 62HWTEST_F(NetStackCommonUtilsTest, CommonUtils2, TestSize.Level2) 63{ 64 std::string str = "HOWDOYOUDO"; 65 std::string strLower = ToLower(str); 66 EXPECT_STREQ(strLower.data(), "howdoyoudo"); 67} 68 69HWTEST_F(NetStackCommonUtilsTest, CommonUtils3, TestSize.Level2) 70{ 71 std::string str = "fine today"; 72 std::vector<std::string> strList = Split(str, STATUS_LINE_SEP, STATUS_LINE_ELEM_NUM); 73 74 EXPECT_STREQ(strList[0].data(), "fine"); 75 EXPECT_STREQ(strList[1].data(), "today"); 76 EXPECT_EQ(strList.size(), 2); 77} 78 79HWTEST_F(NetStackCommonUtilsTest, CommonUtils4, TestSize.Level2) 80{ 81 std::string str = " trim "; 82 std::string strResult = Trim(str); 83 EXPECT_STREQ(strResult.c_str(), "trim"); 84} 85 86HWTEST_F(NetStackCommonUtilsTest, CommonUtils5, TestSize.Level2) 87{ 88 bool isMatch = IsMatch("www.alibaba.com", "*"); 89 EXPECT_EQ(isMatch, true); 90} 91 92HWTEST_F(NetStackCommonUtilsTest, CommonUtils6, TestSize.Level2) 93{ 94 bool isMatch = IsMatch("www.alibaba.com", ""); 95 EXPECT_EQ(isMatch, false); 96} 97 98HWTEST_F(NetStackCommonUtilsTest, CommonUtils7, TestSize.Level2) 99{ 100 bool isMatch = IsMatch("www.alibaba.com", "*.alibaba.*"); 101 EXPECT_EQ(isMatch, true); 102} 103 104HWTEST_F(NetStackCommonUtilsTest, CommonUtils8, TestSize.Level2) 105{ 106 bool isMatch = IsMatch("www.alibaba.com", "www.alibaba.com"); 107 EXPECT_EQ(isMatch, true); 108} 109 110HWTEST_F(NetStackCommonUtilsTest, CommonUtils9, TestSize.Level2) 111{ 112 bool isValid = IsRegexValid("*.alibaba.*"); 113 EXPECT_EQ(isValid, true); 114} 115 116HWTEST_F(NetStackCommonUtilsTest, CommonUtils10, TestSize.Level2) 117{ 118 bool isValid = IsRegexValid("*.alibaba./{*"); 119 EXPECT_EQ(isValid, false); 120} 121 122HWTEST_F(NetStackCommonUtilsTest, CommonUtils11, TestSize.Level2) 123{ 124 std::string hostname = GetHostnameFromURL("https://www.alibaba.com/idesk?idesk:idesk"); 125 EXPECT_STREQ(hostname.c_str(), "www.alibaba.com"); 126} 127 128HWTEST_F(NetStackCommonUtilsTest, CommonUtils12, TestSize.Level2) 129{ 130 std::string hostname = GetHostnameFromURL("https://www.alibaba.com:8081/idesk?idesk:idesk"); 131 EXPECT_STREQ(hostname.c_str(), "www.alibaba.com"); 132} 133 134HWTEST_F(NetStackCommonUtilsTest, CommonUtils13, TestSize.Level2) 135{ 136 std::string hostname = GetHostnameFromURL("https://www.alibaba.com?data_string"); 137 EXPECT_STREQ(hostname.c_str(), "www.alibaba.com"); 138} 139 140HWTEST_F(NetStackCommonUtilsTest, CommonUtils14, TestSize.Level2) 141{ 142 std::string url = "https://www.alibaba.com?data_string"; 143 std::string exclusions = "*.alibaba.*, *.baidu.*"; 144 bool isExluded = IsHostNameExcluded(url, exclusions, ","); 145 EXPECT_EQ(isExluded, true); 146} 147 148HWTEST_F(NetStackCommonUtilsTest, CommonUtils15, TestSize.Level2) 149{ 150 std::string url = "https://www.alibaba.com?data_string:abc"; 151 std::string exclusions = "*.xiaomi.*, *.baidu.*"; 152 bool isExluded = IsHostNameExcluded(url, exclusions, ","); 153 EXPECT_EQ(isExluded, false); 154} 155 156HWTEST_F(NetStackCommonUtilsTest, CommonUtils16, TestSize.Level2) 157{ 158 std::string replacedStr = ReplaceCharacters("*alibaba*"); 159 EXPECT_STREQ(replacedStr.c_str(), ".*alibaba.*"); 160} 161 162HWTEST_F(NetStackCommonUtilsTest, CommonUtils17, TestSize.Level2) 163{ 164 bool isEndsWith = EndsWith("alibaba", "a"); 165 EXPECT_EQ(isEndsWith, true); 166} 167 168HWTEST_F(NetStackCommonUtilsTest, CommonUtils18, TestSize.Level2) 169{ 170 bool isEndsWith = EndsWith("alibaba", "o"); 171 EXPECT_EQ(isEndsWith, false); 172} 173 174HWTEST_F(NetStackCommonUtilsTest, CommonUtils19, TestSize.Level2) 175{ 176 std::list<std::string> input = { "Hello", "World", "This", "Is", "A", "Test" }; 177 const char space = ' '; 178 std::string expectedOutput = "Hello World This Is A Test"; 179 std::string actualOutput = ToString(input, space); 180 EXPECT_STREQ(actualOutput.c_str(), expectedOutput.c_str()); 181} 182 183HWTEST_F(NetStackCommonUtilsTest, CommonUtils20, TestSize.Level2) 184{ 185 std::string input = "abcdcefcg"; 186 char from = 'c'; 187 char preChar = '='; 188 char nextChar = 'e'; 189 std::string expectedOutput = "ab=cdcef=cg"; 190 std::string actualOutput = InsertCharBefore(input, from, preChar, nextChar); 191 EXPECT_STREQ(actualOutput.c_str(), expectedOutput.c_str()); 192} 193 194HWTEST_F(NetStackCommonUtilsTest, CommonUtils21, TestSize.Level2) 195{ 196 std::string str = "www.alibaba.com"; 197 std::string exclusions = "*.xiaomi.*, *.baidu.*"; 198 std::string split = ","; 199 bool actualOutput = IsExcluded(str, exclusions, ","); 200 EXPECT_EQ(actualOutput, false); 201} 202 203HWTEST_F(NetStackCommonUtilsTest, CommonUtils22, TestSize.Level2) 204{ 205 std::string str = "www.alibaba.com"; 206 std::string exclusions = "*.alibaba.*, *.baidu.*"; 207 bool actualOutput = IsExcluded(str, exclusions, ","); 208 EXPECT_EQ(actualOutput, true); 209} 210 211HWTEST_F(NetStackCommonUtilsTest, CommonUtils23, TestSize.Level2) 212{ 213 std::string ipv4Valid = "192.168.0.1"; 214 bool isValidIPV4Valid = IsValidIPV4(ipv4Valid); 215 EXPECT_EQ(isValidIPV4Valid, true); 216} 217 218HWTEST_F(NetStackCommonUtilsTest, CommonUtils24, TestSize.Level2) 219{ 220 std::string ipv4Invalid = "256.0.0.1"; 221 bool isValidIPV4Invalid = IsValidIPV4(ipv4Invalid); 222 EXPECT_EQ(isValidIPV4Invalid, false); 223} 224 225HWTEST_F(NetStackCommonUtilsTest, CommonUtils25, TestSize.Level2) 226{ 227 std::string ipv6Valid = "2001:0db8:85a3:0000:0000:8a2e:0370:7334"; 228 bool isValidIPV6Valid = IsValidIPV6(ipv6Valid); 229 EXPECT_EQ(isValidIPV6Valid, true); 230} 231 232HWTEST_F(NetStackCommonUtilsTest, CommonUtils26, TestSize.Level2) 233{ 234 std::string ipv6Invalid = "2001:0db8:85a3::8a2e:0370:7334"; 235 bool isValidIPV6Invalid = IsValidIPV6(ipv6Invalid); 236 EXPECT_EQ(isValidIPV6Invalid, true); 237} 238 239HWTEST_F(NetStackCommonUtilsTest, CommonUtils27, TestSize.Level2) 240{ 241 std::string ipV6Invalid = "invalid ipv6 string"; 242 bool isValidIPV6Invalid = IsValidIPV6(ipV6Invalid); 243 EXPECT_EQ(isValidIPV6Invalid, false); 244} 245 246HWTEST_F(NetStackCommonUtilsTest, CommonUtils28, TestSize.Level2) 247{ 248 std::string ipv6Invalid = "2001:0db8:85a3::8a2e:0370:7334"; 249 bool isValidIPV6Invalid = IsValidIPV6(ipv6Invalid); 250 EXPECT_EQ(isValidIPV6Invalid, true); 251} 252 253HWTEST_F(NetStackCommonUtilsTest, CommonUtils29, TestSize.Level2) 254{ 255 std::string ipv6Ip = "2001:0db8:85a3::8a2e:0370:7334"; 256 std::string actualOutput = AnonymizeIp(ipv6Ip); 257 std::string expectedOutput = "2001:0db8:****::****:****:****"; 258 EXPECT_STREQ(actualOutput.c_str(), expectedOutput.c_str()); 259} 260 261HWTEST_F(NetStackCommonUtilsTest, CommonUtils30, TestSize.Level2) 262{ 263 std::string ipv4Ips = "8.8.8.8"; 264 std::string actualOutput = AnonymizeIp(ipv4Ips); 265 std::string expectedOutput = "8.8.*.*"; 266 EXPECT_STREQ(actualOutput.c_str(), expectedOutput.c_str()); 267} 268 269HWTEST_F(NetStackCommonUtilsTest, CommonUtils31, TestSize.Level2) 270{ 271 std::string bundleName; 272 std::string url = "https://www.example.com"; 273 auto ret = IsAllowedHostname(bundleName, DOMAIN_TYPE_HTTP_REQUEST, url); 274 EXPECT_TRUE(ret); 275} 276 277HWTEST_F(NetStackCommonUtilsTest, CommonUtils32, TestSize.Level2) 278{ 279 std::string bundleName; 280 auto ret = IsAtomicService(bundleName); 281 EXPECT_FALSE(ret); 282} 283 284HWTEST_F(NetStackCommonUtilsTest, GetProtocolFromURLTest001, TestSize.Level2) 285{ 286 std::string protocol = GetProtocolFromURL("https:////www.example.com?data_string"); 287 EXPECT_STREQ(protocol.c_str(), "https"); 288} 289 290HWTEST_F(NetStackCommonUtilsTest, GetProtocolFromURLTest002, TestSize.Level2) 291{ 292 std::string protocol = GetProtocolFromURL("ws:////www.example.com?data_string"); 293 EXPECT_STREQ(protocol.c_str(), "ws"); 294} 295 296HWTEST_F(NetStackCommonUtilsTest, GetProtocolFromURLTest003, TestSize.Level2) 297{ 298 std::string protocol = GetProtocolFromURL("www.example.com?data_string"); 299 EXPECT_STREQ(protocol.c_str(), ""); 300} 301 302HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest001, TestSize.Level2) 303{ 304 std::string port = GetPortFromURL("https://www.example.com?data_string"); 305 EXPECT_STREQ(port.c_str(), ""); 306} 307 308HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest002, TestSize.Level2) 309{ 310 std::string port = GetPortFromURL("http://www.example.com?data_string"); 311 EXPECT_STREQ(port.c_str(), ""); 312} 313 314HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest003, TestSize.Level2) 315{ 316 std::string port = GetPortFromURL("https://www.example.com:9984?data_string"); 317 EXPECT_STREQ(port.c_str(), "9984"); 318} 319 320HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest004, TestSize.Level2) 321{ 322 std::string port = GetPortFromURL("www.example.com:9984?data_string"); 323 EXPECT_STREQ(port.c_str(), "9984"); 324} 325 326HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest005, TestSize.Level2) 327{ 328 std::string port = GetPortFromURL("www.example.com?data_string"); 329 EXPECT_STREQ(port.c_str(), ""); 330} 331 332HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest006, TestSize.Level2) 333{ 334 std::string port = GetPortFromURL("https://www.example.com?k_string=data_string:234"); 335 EXPECT_STREQ(port.c_str(), ""); 336} 337 338HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest007, TestSize.Level2) 339{ 340 std::string port = GetPortFromURL("https://www.example.com/path:data_string:234"); 341 EXPECT_STREQ(port.c_str(), ""); 342 } 343 344HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest008, TestSize.Level2) 345{ 346 std::string port = GetPortFromURL("https://www.example.com:8989/path:path2?k_string=data_string:234"); 347 EXPECT_STREQ(port.c_str(), "8989"); 348} 349 350HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest009, TestSize.Level2) 351{ 352 std::string port = GetPortFromURL("https://www.example.com/path:path2?k_string=data_string:234"); 353 EXPECT_STREQ(port.c_str(), ""); 354} 355 356HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest010, TestSize.Level2) 357{ 358 std::string port = GetPortFromURL("https://www.example.com:"); 359 EXPECT_STREQ(port.c_str(), ""); 360} 361 362HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest011, TestSize.Level2) 363{ 364 std::string port = GetPortFromURL("https://www.example.com:/path?k_string_data_string"); 365 EXPECT_STREQ(port.c_str(), ""); 366} 367 368HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest012, TestSize.Level2) 369{ 370 std::string port = GetPortFromURL("https://www.example.com:?k_string_data_string:43:data_string"); 371 EXPECT_STREQ(port.c_str(), ""); 372} 373 374HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest001, TestSize.Level2) 375{ 376 std::string hostname = GetHostnameWithProtocolAndPortFromURL("https:////www.example.com?data_string"); 377 EXPECT_STREQ(hostname.c_str(), "https://www.example.com"); 378} 379 380HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest002, TestSize.Level2) 381{ 382 std::string hostname = GetHostnameWithProtocolAndPortFromURL("https://"); 383 EXPECT_STREQ(hostname.c_str(), ""); 384} 385 386HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest003, TestSize.Level2) 387{ 388 std::string hostname = GetHostnameWithProtocolAndPortFromURL("http://www.example.com/for/test"); 389 EXPECT_STREQ(hostname.c_str(), "http://www.example.com"); 390} 391 392HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest004, TestSize.Level2) 393{ 394 std::string hostname = GetHostnameWithProtocolAndPortFromURL("www.example.com/for/test"); 395 EXPECT_STREQ(hostname.c_str(), "www.example.com"); 396} 397 398HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest005, TestSize.Level2) 399{ 400 std::string hostname = GetHostnameWithProtocolAndPortFromURL("ws://www.example.com/for/test"); 401 EXPECT_STREQ(hostname.c_str(), "ws://www.example.com"); 402} 403 404HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest006, TestSize.Level2) 405{ 406 std::string hostname = GetHostnameWithProtocolAndPortFromURL("wss://www.example.com/for/test"); 407 EXPECT_STREQ(hostname.c_str(), "wss://www.example.com"); 408} 409 410HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest007, TestSize.Level2) 411{ 412 std::string hostname = GetHostnameWithProtocolAndPortFromURL("wss://www.example.com:8989/for/test"); 413 EXPECT_STREQ(hostname.c_str(), "wss://www.example.com"); 414} 415 416HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL01, TestSize.Level2) 417{ 418 std::string hostname = GetHostnameFromURL("https:////www.example.com?data_string"); 419 EXPECT_STREQ(hostname.c_str(), "www.example.com"); 420} 421 422HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL02, TestSize.Level2) 423{ 424 std::string hostname = GetHostnameFromURL(R"(https:/\\\\\\///\\/www.example.com?data_string)"); 425 EXPECT_STREQ(hostname.c_str(), "www.example.com"); 426} 427 428HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL03, TestSize.Level2) 429{ 430 std::string hostname = GetHostnameFromURL(""); 431 EXPECT_STREQ(hostname.c_str(), ""); 432} 433 434HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL04, TestSize.Level2) 435{ 436 std::string hostname = GetHostnameFromURL("https://"); 437 EXPECT_STREQ(hostname.c_str(), ""); 438} 439 440HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL05, TestSize.Level2) 441{ 442 std::string hostname = GetHostnameFromURL("https://www.example.com:8080"); 443 EXPECT_STREQ(hostname.c_str(), "www.example.com"); 444} 445 446HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL06, TestSize.Level2) 447{ 448 std::string hostname = GetHostnameFromURL("https://www.example.com/for/test"); 449 EXPECT_STREQ(hostname.c_str(), "www.example.com"); 450} 451 452HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL07, TestSize.Level2) 453{ 454 std::string hostname = GetHostnameFromURL(R"(https:/\\\\\)"); 455 EXPECT_STREQ(hostname.c_str(), ""); 456} 457 458HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL08, TestSize.Level2) 459{ 460 std::string hostname = GetHostnameFromURL(R"(https://www.example.com/watch/80033982:sadsda?dd\\\df)"); 461 EXPECT_STREQ(hostname.c_str(), "www.example.com"); 462} 463 464HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL09, TestSize.Level2) 465{ 466 std::string hostname = GetHostnameFromURL(R"(https://www.example.com:8080/watch/80033982:sadsda?dd\\\df)"); 467 EXPECT_STREQ(hostname.c_str(), "www.example.com"); 468} 469 470HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL10, TestSize.Level2) 471{ 472 std::string url = "example.com:98421/dsdsd?dsdsds"; 473 std::string hostname = GetHostnameFromURL(url); 474 EXPECT_STREQ(hostname.c_str(), "example.com"); 475} 476 477HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL11, TestSize.Level2) 478{ 479 std::string url = R"(\/\/\/\/\/\/\/\////\)"; 480 std::string hostname = GetHostnameFromURL(url); 481 EXPECT_STREQ(hostname.c_str(), ""); 482} 483 484HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL12, TestSize.Level2) 485{ 486 std::string url = "http://www.example.com"; 487 std::string hostname = GetHostnameFromURL(url); 488 EXPECT_STREQ(hostname.c_str(), "www.example.com"); 489} 490 491HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL13, TestSize.Level2) 492{ 493 std::string url = "https://www.example-test.com"; 494 std::string hostname = GetHostnameFromURL(url); 495 EXPECT_STREQ(hostname.c_str(), "www.example-test.com"); 496} 497 498HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL14, TestSize.Level2) 499{ 500 std::string url = "ftp://www.baidu-test.com"; 501 std::string hostname = GetHostnameFromURL(url); 502 EXPECT_STREQ(hostname.c_str(), "www.baidu-test.com"); 503} 504 505HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL15, TestSize.Level2) 506{ 507 std::string url = R"(\\\/\/\/\/\/\///\/\\\:80808)"; 508 std::string hostname = GetHostnameFromURL(url); 509 EXPECT_STREQ(hostname.c_str(), ""); 510} 511 512HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL16, TestSize.Level2) 513{ 514 std::string url = R"(?????DSdsafhu34r3urihiu45t794\\56y&^&*%$^&$&*&^%*&((*)))"; 515 std::string hostname = GetHostnameFromURL(url); 516 EXPECT_STREQ(hostname.c_str(), ""); 517} 518 519HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL17, TestSize.Level2) 520{ 521 std::string url = R"(16456465221-*/*/\)"; 522 std::string hostname = GetHostnameFromURL(url); 523 EXPECT_STREQ(hostname.c_str(), "16456465221-*"); 524} 525 526HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL18, TestSize.Level2) 527{ 528 std::string url = "czvxkhcvjhkgfidkh"; 529 std::string hostname = GetHostnameFromURL(url); 530 EXPECT_STREQ(hostname.c_str(), "czvxkhcvjhkgfidkh"); 531} 532 533HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL19, TestSize.Level2) 534{ 535 std::string url = "hcd dfdf4efd446576"; 536 std::string hostname = GetHostnameFromURL(url); 537 EXPECT_STREQ(hostname.c_str(), "hcd dfdf4efd446576"); 538} 539 540HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL20, TestSize.Level2) 541{ 542 std::string url = " "; 543 std::string hostname = GetHostnameFromURL(url); 544 EXPECT_STREQ(hostname.c_str(), " "); 545} 546 547HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL21, TestSize.Level2) 548{ 549 std::string url = " "; 550 std::string hostname = GetHostnameFromURL(url); 551 EXPECT_STREQ(hostname.c_str(), " "); 552} 553 554HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL22, TestSize.Level2) 555{ 556 std::string url = R"(dsd!!!@@#$$%%%^df\\)"; 557 std::string hostname = GetHostnameFromURL(url); 558 EXPECT_STREQ(hostname.c_str(), "dsd!!!@@#$$%%%^df"); 559} 560 561HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL23, TestSize.Level2) 562{ 563 std::string url = "http://example.com"; 564 std::string hostname = GetHostnameFromURL(url); 565 EXPECT_STREQ(hostname.c_str(), "example.com"); 566} 567 568HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL24, TestSize.Level2) 569{ 570 std::string url = "example.com"; 571 std::string hostname = GetHostnameFromURL(url); 572 EXPECT_STREQ(hostname.c_str(), "example.com"); 573} 574 575HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL25, TestSize.Level2) 576{ 577 std::string url = "https:////??::||///stackoverflow.com"; 578 std::string hostname = GetHostnameFromURL(url); 579 EXPECT_STREQ(hostname.c_str(), ""); 580} 581 582HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL26, TestSize.Level2) 583{ 584 std::string url = R"(https://\\\154545\\\stackoverflow.com)"; 585 std::string hostname = GetHostnameFromURL(url); 586 EXPECT_STREQ(hostname.c_str(), "154545"); 587} 588 589HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL27, TestSize.Level2) 590{ 591 std::string url = R"(https://\\\\\\////\\\\stackoverflow.com)"; 592 std::string hostname = GetHostnameFromURL(url); 593 EXPECT_STREQ(hostname.c_str(), "stackoverflow.com"); 594} 595 596HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL28, TestSize.Level2) 597{ 598 std::string url = R"(https:/\151\\\\23243435)"; 599 std::string hostname = GetHostnameFromURL(url); 600 EXPECT_STREQ(hostname.c_str(), "151"); 601} 602 603HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL29, TestSize.Level2) 604{ 605 std::string url = R"(https:\\)"; 606 std::string hostname = GetHostnameFromURL(url); 607 EXPECT_STREQ(hostname.c_str(), ""); 608} 609 610HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL30, TestSize.Level2) 611{ 612 std::string url = R"(""""\\"""""""""""""")"; 613 std::string hostname = GetHostnameFromURL(url); 614 EXPECT_STREQ(hostname.c_str(), R"("""")"); 615} 616 617HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL31, TestSize.Level2) 618{ 619 std::string url = ":::::::dfsfd::::::::::::"; 620 std::string hostname = GetHostnameFromURL(url); 621 EXPECT_STREQ(hostname.c_str(), ""); 622} 623 624HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL32, TestSize.Level2) 625{ 626 std::string url = "1--**--4545"; 627 std::string hostname = GetHostnameFromURL(url); 628 EXPECT_STREQ(hostname.c_str(), "1--**--4545"); 629} 630 631HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL33, TestSize.Level2) 632{ 633 std::string url = R"( https:\)"; 634 std::string hostname = GetHostnameFromURL(url); 635 EXPECT_STREQ(hostname.c_str(), " https"); 636} 637 638HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL34, TestSize.Level2) 639{ 640 std::string url = " https:////"; 641 std::string hostname = GetHostnameFromURL(url); 642 EXPECT_STREQ(hostname.c_str(), ""); 643} 644 645HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL35, TestSize.Level2) 646{ 647 std::string url = " saasa"; 648 std::string hostname = GetHostnameFromURL(url); 649 EXPECT_STREQ(hostname.c_str(), " saasa"); 650} 651 652HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL36, TestSize.Level2) 653{ 654 std::string url = R"(|||///\\\)"; 655 std::string hostname = GetHostnameFromURL(url); 656 EXPECT_STREQ(hostname.c_str(), "|||"); 657} 658 659HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL37, TestSize.Level2) 660{ 661 std::string url = "-- fdsf"; 662 std::string hostname = GetHostnameFromURL(url); 663 EXPECT_STREQ(hostname.c_str(), "-- fdsf"); 664} 665 666HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL38, TestSize.Level2) 667{ 668 std::string url = "xnmku:9090?(sdfgjhg)"; 669 std::string hostname = GetHostnameFromURL(url); 670 EXPECT_STREQ(hostname.c_str(), "xnmku"); 671} 672 673HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL39, TestSize.Level2) 674{ 675 std::string url = "oooxxx111-==="; 676 std::string hostname = GetHostnameFromURL(url); 677 EXPECT_STREQ(hostname.c_str(), "oooxxx111-==="); 678} 679 680HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL40, TestSize.Level2) 681{ 682 std::string url = R"($^%(_*_()*+_)(YU(\_)))"; 683 std::string hostname = GetHostnameFromURL(url); 684 EXPECT_STREQ(hostname.c_str(), "$^%(_*_()*+_)(YU("); 685} 686 687HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL41, TestSize.Level2) 688{ 689 std::string url = R"(万维网.com:9090\)"; 690 std::string hostname = GetHostnameFromURL(url); 691 EXPECT_STREQ(hostname.c_str(), "万维网.com"); 692} 693 694HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL42, TestSize.Level2) 695{ 696 std::string url = R"(https://\\\中文测试)"; 697 std::string hostname = GetHostnameFromURL(url); 698 EXPECT_STREQ(hostname.c_str(), "中文测试"); 699} 700 701HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL43, TestSize.Level2) 702{ 703 std::string url = R"(http://\\\中文测试?中文数据)"; 704 std::string hostname = GetHostnameFromURL(url); 705 EXPECT_STREQ(hostname.c_str(), "中文测试"); 706} 707 708HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL44, TestSize.Level2) 709{ 710 std::string url = R"(http://\\\中文测试:8080?中文数据)"; 711 std::string hostname = GetHostnameFromURL(url); 712 EXPECT_STREQ(hostname.c_str(), "中文测试:8080"); 713} 714 715HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL45, TestSize.Level2) 716{ 717 std::string url = R"(http:::/\\\中文测试:8080?中文数据)"; 718 std::string hostname = GetHostnameFromURL(url); 719 EXPECT_STREQ(hostname.c_str(), "http:::"); 720} 721 722HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL46, TestSize.Level2) 723{ 724 std::string url = R"(()“”{}P{{}:\、、、})"; 725 std::string hostname = GetHostnameFromURL(url); 726 EXPECT_STREQ(hostname.c_str(), "()“”{}P{{}"); 727} 728 729HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL47, TestSize.Level2) 730{ 731 std::string url = R"(()“”{}P{http://{}:\、、、})"; 732 std::string hostname = GetHostnameFromURL(url); 733 EXPECT_STREQ(hostname.c_str(), "{}"); 734} 735 736HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL48, TestSize.Level2) 737{ 738 std::string url = R"(()“===\\///?=”{}P{{的‘;‘’;’}:\、、、})"; 739 std::string hostname = GetHostnameFromURL(url); 740 EXPECT_STREQ(hostname.c_str(), "()“==="); 741} 742 743HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL49, TestSize.Level2) 744{ 745 std::string url = R"(()“”{}P{{;‘k:’}:\、、、})"; 746 std::string hostname = GetHostnameFromURL(url); 747 EXPECT_STREQ(hostname.c_str(), "()“”{}P{{;‘k"); 748} 749 750HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL50, TestSize.Level2) 751{ 752 std::string url = R"(()“”{}P{0%%%VVV{}:\、、、})"; 753 std::string hostname = GetHostnameFromURL(url); 754 EXPECT_STREQ(hostname.c_str(), "()“”{}P{0%%%VVV{}"); 755} 756} // namespace CommonUtils 757} // namespace NetStack 758} // namespace OHOS