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 21 namespace OHOS { 22 namespace NetStack { 23 namespace CommonUtils { 24 namespace { 25 using namespace testing::ext; 26 static constexpr const char SPACE = ' '; 27 static constexpr const char *STATUS_LINE_COMMA = ","; 28 static constexpr const char *STATUS_LINE_SEP = " "; 29 static constexpr const size_t STATUS_LINE_ELEM_NUM = 2; 30 } // namespace 31 32 class NetStackCommonUtilsTest : public testing::Test { 33 public: SetUpTestCase()34 static void SetUpTestCase() {} 35 TearDownTestCase()36 static void TearDownTestCase() {} 37 SetUp()38 virtual void SetUp() {} 39 TearDown()40 virtual void TearDown() {} 41 }; 42 43 HWTEST_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 55 HWTEST_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 62 HWTEST_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 69 HWTEST_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 79 HWTEST_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 86 HWTEST_F(NetStackCommonUtilsTest, CommonUtils5, TestSize.Level2) 87 { 88 bool isMatch = IsMatch("www.alibaba.com", "*"); 89 EXPECT_EQ(isMatch, true); 90 } 91 92 HWTEST_F(NetStackCommonUtilsTest, CommonUtils6, TestSize.Level2) 93 { 94 bool isMatch = IsMatch("www.alibaba.com", ""); 95 EXPECT_EQ(isMatch, false); 96 } 97 98 HWTEST_F(NetStackCommonUtilsTest, CommonUtils7, TestSize.Level2) 99 { 100 bool isMatch = IsMatch("www.alibaba.com", "*.alibaba.*"); 101 EXPECT_EQ(isMatch, true); 102 } 103 104 HWTEST_F(NetStackCommonUtilsTest, CommonUtils8, TestSize.Level2) 105 { 106 bool isMatch = IsMatch("www.alibaba.com", "www.alibaba.com"); 107 EXPECT_EQ(isMatch, true); 108 } 109 110 HWTEST_F(NetStackCommonUtilsTest, CommonUtils9, TestSize.Level2) 111 { 112 bool isValid = IsRegexValid("*.alibaba.*"); 113 EXPECT_EQ(isValid, true); 114 } 115 116 HWTEST_F(NetStackCommonUtilsTest, CommonUtils10, TestSize.Level2) 117 { 118 bool isValid = IsRegexValid("*.alibaba./{*"); 119 EXPECT_EQ(isValid, false); 120 } 121 122 HWTEST_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 128 HWTEST_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 134 HWTEST_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 140 HWTEST_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 148 HWTEST_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 156 HWTEST_F(NetStackCommonUtilsTest, CommonUtils16, TestSize.Level2) 157 { 158 std::string replacedStr = ReplaceCharacters("*alibaba*"); 159 EXPECT_STREQ(replacedStr.c_str(), ".*alibaba.*"); 160 } 161 162 HWTEST_F(NetStackCommonUtilsTest, CommonUtils17, TestSize.Level2) 163 { 164 bool isEndsWith = EndsWith("alibaba", "a"); 165 EXPECT_EQ(isEndsWith, true); 166 } 167 168 HWTEST_F(NetStackCommonUtilsTest, CommonUtils18, TestSize.Level2) 169 { 170 bool isEndsWith = EndsWith("alibaba", "o"); 171 EXPECT_EQ(isEndsWith, false); 172 } 173 174 HWTEST_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 183 HWTEST_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 194 HWTEST_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 203 HWTEST_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 211 HWTEST_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 218 HWTEST_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 225 HWTEST_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 232 HWTEST_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 239 HWTEST_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 246 HWTEST_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 253 HWTEST_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 261 HWTEST_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 269 HWTEST_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 277 HWTEST_F(NetStackCommonUtilsTest, CommonUtils32, TestSize.Level2) 278 { 279 std::string bundleName; 280 auto ret = IsAtomicService(bundleName); 281 EXPECT_FALSE(ret); 282 } 283 284 HWTEST_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 290 HWTEST_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 296 HWTEST_F(NetStackCommonUtilsTest, GetProtocolFromURLTest003, TestSize.Level2) 297 { 298 std::string protocol = GetProtocolFromURL("www.example.com?data_string"); 299 EXPECT_STREQ(protocol.c_str(), ""); 300 } 301 302 HWTEST_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 308 HWTEST_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 314 HWTEST_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 320 HWTEST_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 326 HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest005, TestSize.Level2) 327 { 328 std::string port = GetPortFromURL("www.example.com?data_string"); 329 EXPECT_STREQ(port.c_str(), ""); 330 } 331 332 HWTEST_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 338 HWTEST_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 344 HWTEST_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 350 HWTEST_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 356 HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest010, TestSize.Level2) 357 { 358 std::string port = GetPortFromURL("https://www.example.com:"); 359 EXPECT_STREQ(port.c_str(), ""); 360 } 361 362 HWTEST_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 368 HWTEST_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 374 HWTEST_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 380 HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest002, TestSize.Level2) 381 { 382 std::string hostname = GetHostnameWithProtocolAndPortFromURL("https://"); 383 EXPECT_STREQ(hostname.c_str(), ""); 384 } 385 386 HWTEST_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 392 HWTEST_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 398 HWTEST_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 404 HWTEST_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 410 HWTEST_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 416 HWTEST_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 422 HWTEST_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 428 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL03, TestSize.Level2) 429 { 430 std::string hostname = GetHostnameFromURL(""); 431 EXPECT_STREQ(hostname.c_str(), ""); 432 } 433 434 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL04, TestSize.Level2) 435 { 436 std::string hostname = GetHostnameFromURL("https://"); 437 EXPECT_STREQ(hostname.c_str(), ""); 438 } 439 440 HWTEST_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 446 HWTEST_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 452 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL07, TestSize.Level2) 453 { 454 std::string hostname = GetHostnameFromURL(R"(https:/\\\\\)"); 455 EXPECT_STREQ(hostname.c_str(), ""); 456 } 457 458 HWTEST_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 464 HWTEST_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 470 HWTEST_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 477 HWTEST_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 484 HWTEST_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 491 HWTEST_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 498 HWTEST_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 505 HWTEST_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 512 HWTEST_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 519 HWTEST_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 526 HWTEST_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 533 HWTEST_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 540 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL20, TestSize.Level2) 541 { 542 std::string url = " "; 543 std::string hostname = GetHostnameFromURL(url); 544 EXPECT_STREQ(hostname.c_str(), " "); 545 } 546 547 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL21, TestSize.Level2) 548 { 549 std::string url = " "; 550 std::string hostname = GetHostnameFromURL(url); 551 EXPECT_STREQ(hostname.c_str(), " "); 552 } 553 554 HWTEST_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 561 HWTEST_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 568 HWTEST_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 575 HWTEST_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 582 HWTEST_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 589 HWTEST_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 596 HWTEST_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 603 HWTEST_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 610 HWTEST_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 617 HWTEST_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 624 HWTEST_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 631 HWTEST_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 638 HWTEST_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 645 HWTEST_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 652 HWTEST_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 659 HWTEST_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 666 HWTEST_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 673 HWTEST_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 680 HWTEST_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 687 HWTEST_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 694 HWTEST_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 701 HWTEST_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 708 HWTEST_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 715 HWTEST_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 722 HWTEST_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 729 HWTEST_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 736 HWTEST_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 743 HWTEST_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 750 HWTEST_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