• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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, GetHostnameFromURL01, TestSize.Level2)
270 {
271     std::string hostname = GetHostnameFromURL("https:////www.example.com?data_string");
272     EXPECT_STREQ(hostname.c_str(), "www.example.com");
273 }
274 
275 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL02, TestSize.Level2)
276 {
277     std::string hostname = GetHostnameFromURL(R"(https:/\\\\\\///\\/www.example.com?data_string)");
278     EXPECT_STREQ(hostname.c_str(), "www.example.com");
279 }
280 
281 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL03, TestSize.Level2)
282 {
283     std::string hostname = GetHostnameFromURL("");
284     EXPECT_STREQ(hostname.c_str(), "");
285 }
286 
287 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL04, TestSize.Level2)
288 {
289     std::string hostname = GetHostnameFromURL("https://");
290     EXPECT_STREQ(hostname.c_str(), "");
291 }
292 
293 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL05, TestSize.Level2)
294 {
295     std::string hostname = GetHostnameFromURL("https://www.example.com:8080");
296     EXPECT_STREQ(hostname.c_str(), "www.example.com");
297 }
298 
299 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL06, TestSize.Level2)
300 {
301     std::string hostname = GetHostnameFromURL("https://www.example.com/for/test");
302     EXPECT_STREQ(hostname.c_str(), "www.example.com");
303 }
304 
305 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL07, TestSize.Level2)
306 {
307     std::string hostname = GetHostnameFromURL(R"(https:/\\\\\)");
308     EXPECT_STREQ(hostname.c_str(), "");
309 }
310 
311 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL08, TestSize.Level2)
312 {
313     std::string hostname = GetHostnameFromURL(R"(https://www.example.com/watch/80033982:sadsda?dd\\\df)");
314     EXPECT_STREQ(hostname.c_str(), "www.example.com");
315 }
316 
317 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL09, TestSize.Level2)
318 {
319     std::string hostname = GetHostnameFromURL(R"(https://www.example.com:8080/watch/80033982:sadsda?dd\\\df)");
320     EXPECT_STREQ(hostname.c_str(), "www.example.com");
321 }
322 
323 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL10, TestSize.Level2)
324 {
325     std::string url = "example.com:98421/dsdsd?dsdsds";
326     std::string hostname = GetHostnameFromURL(url);
327     EXPECT_STREQ(hostname.c_str(), "example.com");
328 }
329 
330 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL11, TestSize.Level2)
331 {
332     std::string url = R"(\/\/\/\/\/\/\/\////\)";
333     std::string hostname = GetHostnameFromURL(url);
334     EXPECT_STREQ(hostname.c_str(), "");
335 }
336 
337 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL12, TestSize.Level2)
338 {
339     std::string url = "http://www.example.com";
340     std::string hostname = GetHostnameFromURL(url);
341     EXPECT_STREQ(hostname.c_str(), "www.example.com");
342 }
343 
344 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL13, TestSize.Level2)
345 {
346     std::string url = "https://www.example-test.com";
347     std::string hostname = GetHostnameFromURL(url);
348     EXPECT_STREQ(hostname.c_str(), "www.example-test.com");
349 }
350 
351 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL14, TestSize.Level2)
352 {
353     std::string url = "ftp://www.baidu-test.com";
354     std::string hostname = GetHostnameFromURL(url);
355     EXPECT_STREQ(hostname.c_str(), "www.baidu-test.com");
356 }
357 
358 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL15, TestSize.Level2)
359 {
360     std::string url = R"(\\\/\/\/\/\/\///\/\\\:80808)";
361     std::string hostname = GetHostnameFromURL(url);
362     EXPECT_STREQ(hostname.c_str(), "");
363 }
364 
365 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL16, TestSize.Level2)
366 {
367     std::string url = R"(?????DSdsafhu34r3urihiu45t794\\56y&^&*%$^&$&*&^%*&((*)))";
368     std::string hostname = GetHostnameFromURL(url);
369     EXPECT_STREQ(hostname.c_str(), "");
370 }
371 
372 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL17, TestSize.Level2)
373 {
374     std::string url = R"(16456465221-*/*/\)";
375     std::string hostname = GetHostnameFromURL(url);
376     EXPECT_STREQ(hostname.c_str(), "16456465221-*");
377 }
378 
379 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL18, TestSize.Level2)
380 {
381     std::string url = "czvxkhcvjhkgfidkh";
382     std::string hostname = GetHostnameFromURL(url);
383     EXPECT_STREQ(hostname.c_str(), "czvxkhcvjhkgfidkh");
384 }
385 
386 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL19, TestSize.Level2)
387 {
388     std::string url = "hcd   dfdf4efd446576";
389     std::string hostname = GetHostnameFromURL(url);
390     EXPECT_STREQ(hostname.c_str(), "hcd   dfdf4efd446576");
391 }
392 
393 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL20, TestSize.Level2)
394 {
395     std::string url = " ";
396     std::string hostname = GetHostnameFromURL(url);
397     EXPECT_STREQ(hostname.c_str(), " ");
398 }
399 
400 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL21, TestSize.Level2)
401 {
402     std::string url = "                             ";
403     std::string hostname = GetHostnameFromURL(url);
404     EXPECT_STREQ(hostname.c_str(), "                             ");
405 }
406 
407 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL22, TestSize.Level2)
408 {
409     std::string url = R"(dsd!!!@@#$$%%%^df\\)";
410     std::string hostname = GetHostnameFromURL(url);
411     EXPECT_STREQ(hostname.c_str(), "dsd!!!@@#$$%%%^df");
412 }
413 
414 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL23, TestSize.Level2)
415 {
416     std::string url = "http://example.com";
417     std::string hostname = GetHostnameFromURL(url);
418     EXPECT_STREQ(hostname.c_str(), "example.com");
419 }
420 
421 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL24, TestSize.Level2)
422 {
423     std::string url = "example.com";
424     std::string hostname = GetHostnameFromURL(url);
425     EXPECT_STREQ(hostname.c_str(), "example.com");
426 }
427 
428 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL25, TestSize.Level2)
429 {
430     std::string url = "https:////??::||///stackoverflow.com";
431     std::string hostname = GetHostnameFromURL(url);
432     EXPECT_STREQ(hostname.c_str(), "");
433 }
434 
435 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL26, TestSize.Level2)
436 {
437     std::string url = R"(https://\\\154545\\\stackoverflow.com)";
438     std::string hostname = GetHostnameFromURL(url);
439     EXPECT_STREQ(hostname.c_str(), "154545");
440 }
441 
442 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL27, TestSize.Level2)
443 {
444     std::string url = R"(https://\\\\\\////\\\\stackoverflow.com)";
445     std::string hostname = GetHostnameFromURL(url);
446     EXPECT_STREQ(hostname.c_str(), "stackoverflow.com");
447 }
448 
449 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL28, TestSize.Level2)
450 {
451     std::string url = R"(https:/\151\\\\23243435)";
452     std::string hostname = GetHostnameFromURL(url);
453     EXPECT_STREQ(hostname.c_str(), "151");
454 }
455 
456 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL29, TestSize.Level2)
457 {
458     std::string url = R"(https:\\)";
459     std::string hostname = GetHostnameFromURL(url);
460     EXPECT_STREQ(hostname.c_str(), "");
461 }
462 
463 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL30, TestSize.Level2)
464 {
465     std::string url = R"(""""\\"""""""""""""")";
466     std::string hostname = GetHostnameFromURL(url);
467     EXPECT_STREQ(hostname.c_str(), R"("""")");
468 }
469 
470 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL31, TestSize.Level2)
471 {
472     std::string url = ":::::::dfsfd::::::::::::";
473     std::string hostname = GetHostnameFromURL(url);
474     EXPECT_STREQ(hostname.c_str(), "");
475 }
476 
477 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL32, TestSize.Level2)
478 {
479     std::string url = "1--**--4545";
480     std::string hostname = GetHostnameFromURL(url);
481     EXPECT_STREQ(hostname.c_str(), "1--**--4545");
482 }
483 
484 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL33, TestSize.Level2)
485 {
486     std::string url = R"( https:\)";
487     std::string hostname = GetHostnameFromURL(url);
488     EXPECT_STREQ(hostname.c_str(), " https");
489 }
490 
491 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL34, TestSize.Level2)
492 {
493     std::string url = " https:////";
494     std::string hostname = GetHostnameFromURL(url);
495     EXPECT_STREQ(hostname.c_str(), "");
496 }
497 
498 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL35, TestSize.Level2)
499 {
500     std::string url = " saasa";
501     std::string hostname = GetHostnameFromURL(url);
502     EXPECT_STREQ(hostname.c_str(), " saasa");
503 }
504 
505 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL36, TestSize.Level2)
506 {
507     std::string url = R"(|||///\\\)";
508     std::string hostname = GetHostnameFromURL(url);
509     EXPECT_STREQ(hostname.c_str(), "|||");
510 }
511 
512 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL37, TestSize.Level2)
513 {
514     std::string url = "-- fdsf";
515     std::string hostname = GetHostnameFromURL(url);
516     EXPECT_STREQ(hostname.c_str(), "-- fdsf");
517 }
518 
519 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL38, TestSize.Level2)
520 {
521     std::string url = "xnmku:9090?(sdfgjhg)";
522     std::string hostname = GetHostnameFromURL(url);
523     EXPECT_STREQ(hostname.c_str(), "xnmku");
524 }
525 
526 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL39, TestSize.Level2)
527 {
528     std::string url = "oooxxx111-===";
529     std::string hostname = GetHostnameFromURL(url);
530     EXPECT_STREQ(hostname.c_str(), "oooxxx111-===");
531 }
532 
533 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL40, TestSize.Level2)
534 {
535     std::string url = R"($^%(_*_()*+_)(YU(\_)))";
536     std::string hostname = GetHostnameFromURL(url);
537     EXPECT_STREQ(hostname.c_str(), "$^%(_*_()*+_)(YU(");
538 }
539 
540 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL41, TestSize.Level2)
541 {
542     std::string url = R"(万维网.com:9090\)";
543     std::string hostname = GetHostnameFromURL(url);
544     EXPECT_STREQ(hostname.c_str(), "万维网.com");
545 }
546 
547 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL42, TestSize.Level2)
548 {
549     std::string url = R"(https://\\\中文测试)";
550     std::string hostname = GetHostnameFromURL(url);
551     EXPECT_STREQ(hostname.c_str(), "中文测试");
552 }
553 
554 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL43, TestSize.Level2)
555 {
556     std::string url = R"(http://\\\中文测试?中文数据)";
557     std::string hostname = GetHostnameFromURL(url);
558     EXPECT_STREQ(hostname.c_str(), "中文测试");
559 }
560 
561 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL44, TestSize.Level2)
562 {
563     std::string url = R"(http://\\\中文测试:8080?中文数据)";
564     std::string hostname = GetHostnameFromURL(url);
565     EXPECT_STREQ(hostname.c_str(), "中文测试:8080");
566 }
567 
568 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL45, TestSize.Level2)
569 {
570     std::string url = R"(http:::/\\\中文测试:8080?中文数据)";
571     std::string hostname = GetHostnameFromURL(url);
572     EXPECT_STREQ(hostname.c_str(), "http:::");
573 }
574 
575 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL46, TestSize.Level2)
576 {
577     std::string url = R"(()“”{}P{{}:\、、、})";
578     std::string hostname = GetHostnameFromURL(url);
579     EXPECT_STREQ(hostname.c_str(), "()“”{}P{{}");
580 }
581 
582 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL47, TestSize.Level2)
583 {
584     std::string url = R"(()“”{}P{http://{}:\、、、})";
585     std::string hostname = GetHostnameFromURL(url);
586     EXPECT_STREQ(hostname.c_str(), "{}");
587 }
588 
589 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL48, TestSize.Level2)
590 {
591     std::string url = R"(()“===\\///?=”{}P{{的‘;‘’;’}:\、、、})";
592     std::string hostname = GetHostnameFromURL(url);
593     EXPECT_STREQ(hostname.c_str(), "()“===");
594 }
595 
596 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL49, TestSize.Level2)
597 {
598     std::string url = R"(()“”{}P{{;‘k:’}:\、、、})";
599     std::string hostname = GetHostnameFromURL(url);
600     EXPECT_STREQ(hostname.c_str(), "()“”{}P{{;‘k");
601 }
602 
603 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL50, TestSize.Level2)
604 {
605     std::string url = R"(()“”{}P{0%%%VVV{}:\、、、})";
606     std::string hostname = GetHostnameFromURL(url);
607     EXPECT_STREQ(hostname.c_str(), "()“”{}P{0%%%VVV{}");
608 }
609 } // namespace CommonUtils
610 } // namespace NetStack
611 } // namespace OHOS