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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils1, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils2, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils3, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils4, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils5, TestSize.Level2)86 HWTEST_F(NetStackCommonUtilsTest, CommonUtils5, TestSize.Level2)
87 {
88 bool isMatch = IsMatch("www.alibaba.com", "*");
89 EXPECT_EQ(isMatch, true);
90 }
91
HWTEST_F(NetStackCommonUtilsTest, CommonUtils6, TestSize.Level2)92 HWTEST_F(NetStackCommonUtilsTest, CommonUtils6, TestSize.Level2)
93 {
94 bool isMatch = IsMatch("www.alibaba.com", "");
95 EXPECT_EQ(isMatch, false);
96 }
97
HWTEST_F(NetStackCommonUtilsTest, CommonUtils7, TestSize.Level2)98 HWTEST_F(NetStackCommonUtilsTest, CommonUtils7, TestSize.Level2)
99 {
100 bool isMatch = IsMatch("www.alibaba.com", "*.alibaba.*");
101 EXPECT_EQ(isMatch, true);
102 }
103
HWTEST_F(NetStackCommonUtilsTest, CommonUtils8, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils9, TestSize.Level2)110 HWTEST_F(NetStackCommonUtilsTest, CommonUtils9, TestSize.Level2)
111 {
112 bool isValid = IsRegexValid("*.alibaba.*");
113 EXPECT_EQ(isValid, true);
114 }
115
HWTEST_F(NetStackCommonUtilsTest, CommonUtils10, TestSize.Level2)116 HWTEST_F(NetStackCommonUtilsTest, CommonUtils10, TestSize.Level2)
117 {
118 bool isValid = IsRegexValid("*.alibaba./{*");
119 EXPECT_EQ(isValid, false);
120 }
121
HWTEST_F(NetStackCommonUtilsTest, CommonUtils11, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils12, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils13, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils14, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils15, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils16, TestSize.Level2)156 HWTEST_F(NetStackCommonUtilsTest, CommonUtils16, TestSize.Level2)
157 {
158 std::string replacedStr = ReplaceCharacters("*alibaba*");
159 EXPECT_STREQ(replacedStr.c_str(), ".*alibaba.*");
160 }
161
HWTEST_F(NetStackCommonUtilsTest, CommonUtils17, TestSize.Level2)162 HWTEST_F(NetStackCommonUtilsTest, CommonUtils17, TestSize.Level2)
163 {
164 bool isEndsWith = EndsWith("alibaba", "a");
165 EXPECT_EQ(isEndsWith, true);
166 }
167
HWTEST_F(NetStackCommonUtilsTest, CommonUtils18, TestSize.Level2)168 HWTEST_F(NetStackCommonUtilsTest, CommonUtils18, TestSize.Level2)
169 {
170 bool isEndsWith = EndsWith("alibaba", "o");
171 EXPECT_EQ(isEndsWith, false);
172 }
173
HWTEST_F(NetStackCommonUtilsTest, CommonUtils19, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils20, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils21, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils22, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils23, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils24, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils25, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils26, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils27, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils28, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils29, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils30, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils31, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, CommonUtils32, TestSize.Level2)277 HWTEST_F(NetStackCommonUtilsTest, CommonUtils32, TestSize.Level2)
278 {
279 std::string bundleName;
280 auto ret = IsAtomicService(bundleName);
281 EXPECT_FALSE(ret);
282 }
283
HWTEST_F(NetStackCommonUtilsTest, GetProtocolFromURLTest001, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetProtocolFromURLTest002, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetProtocolFromURLTest003, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest001, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest002, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest003, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest004, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest005, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest006, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest007, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest008, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest009, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest010, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest011, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetPortFromURLTest012, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest001, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest002, TestSize.Level2)380 HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest002, TestSize.Level2)
381 {
382 std::string hostname = GetHostnameWithProtocolAndPortFromURL("https://");
383 EXPECT_STREQ(hostname.c_str(), "");
384 }
385
HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest003, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest004, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest005, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest006, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameWithProtocolAndPortFromURLTest007, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL01, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL02, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL03, TestSize.Level2)428 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL03, TestSize.Level2)
429 {
430 std::string hostname = GetHostnameFromURL("");
431 EXPECT_STREQ(hostname.c_str(), "");
432 }
433
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL04, TestSize.Level2)434 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL04, TestSize.Level2)
435 {
436 std::string hostname = GetHostnameFromURL("https://");
437 EXPECT_STREQ(hostname.c_str(), "");
438 }
439
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL05, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL06, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL07, TestSize.Level2)452 HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL07, TestSize.Level2)
453 {
454 std::string hostname = GetHostnameFromURL(R"(https:/\\\\\)");
455 EXPECT_STREQ(hostname.c_str(), "");
456 }
457
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL08, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL09, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL10, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL11, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL12, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL13, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL14, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL15, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL16, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL17, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL18, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL19, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL20, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL21, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL22, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL23, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL24, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL25, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL26, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL27, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL28, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL29, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL30, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL31, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL32, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL33, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL34, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL35, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL36, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL37, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL38, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL39, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL40, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL41, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL42, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL43, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL44, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL45, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL46, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL47, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL48, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL49, TestSize.Level2)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
HWTEST_F(NetStackCommonUtilsTest, GetHostnameFromURL50, TestSize.Level2)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