1 /*
2 * Copyright (c) 2022-2023 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
18 #include "net_manager_constants.h"
19 #include "route_manager.h"
20
21 namespace OHOS {
22 namespace nmd {
23 namespace {
24 using namespace testing::ext;
25 using namespace OHOS::NetManagerStandard;
26 } // namespace
27
28 class RouteManagerTest : public testing::Test {
29 public:
30 static void SetUpTestCase();
31 static void TearDownTestCase();
32 void SetUp();
33 void TearDown();
34 };
35
SetUpTestCase()36 void RouteManagerTest::SetUpTestCase() {}
37
TearDownTestCase()38 void RouteManagerTest::TearDownTestCase() {}
39
SetUp()40 void RouteManagerTest::SetUp() {}
41
TearDown()42 void RouteManagerTest::TearDown() {}
43
44 HWTEST_F(RouteManagerTest, AddRouteTest001, TestSize.Level1)
45 {
46 uint32_t testRouteType = 6;
47 auto ret = RouteManager::AddRoute(static_cast<RouteManager::TableType>(testRouteType), {}, {}, {});
48 EXPECT_EQ(ret, -1);
49 }
50
51 HWTEST_F(RouteManagerTest, AddRouteTest002, TestSize.Level1)
52 {
53 auto ret = RouteManager::AddRoute(RouteManager::TableType::INTERFACE, {}, {}, {});
54 EXPECT_LE(ret, 0);
55 }
56
57 HWTEST_F(RouteManagerTest, AddRouteTest003, TestSize.Level1)
58 {
59 auto ret = RouteManager::AddRoute(RouteManager::TableType::LOCAL_NETWORK, {}, {}, {});
60 EXPECT_LE(ret, 0);
61 }
62
63 HWTEST_F(RouteManagerTest, AddRouteTest004, TestSize.Level1)
64 {
65 auto ret = RouteManager::AddRoute(RouteManager::TableType::VPN_NETWORK, {}, {}, {});
66 EXPECT_LE(ret, 0);
67 }
68
69 HWTEST_F(RouteManagerTest, RemoveRouteTest001, TestSize.Level1)
70 {
71 uint32_t testRouteType = 6;
72 auto ret = RouteManager::RemoveRoute(static_cast<RouteManager::TableType>(testRouteType), {}, {}, {});
73 EXPECT_EQ(ret, -1);
74 }
75
76 HWTEST_F(RouteManagerTest, RemoveRouteTest002, TestSize.Level1)
77 {
78 auto ret = RouteManager::RemoveRoute(RouteManager::TableType::INTERFACE, {}, {}, {});
79 EXPECT_LE(ret, 0);
80 }
81
82 HWTEST_F(RouteManagerTest, RemoveRouteTest003, TestSize.Level1)
83 {
84 auto ret = RouteManager::RemoveRoute(RouteManager::TableType::LOCAL_NETWORK, {}, {}, {});
85 EXPECT_LE(ret, 0);
86 }
87
88 HWTEST_F(RouteManagerTest, RemoveRouteTest004, TestSize.Level1)
89 {
90 auto ret = RouteManager::RemoveRoute(RouteManager::TableType::VPN_NETWORK, {}, {}, {});
91 EXPECT_LE(ret, 0);
92 }
93
94 HWTEST_F(RouteManagerTest, UpdateRouteTest001, TestSize.Level1)
95 {
96 uint32_t testRouteType = 6;
97 auto ret = RouteManager::UpdateRoute(static_cast<RouteManager::TableType>(testRouteType), {}, {}, {});
98 EXPECT_EQ(ret, -1);
99 }
100
101 HWTEST_F(RouteManagerTest, UpdateRouteTest002, TestSize.Level1)
102 {
103 auto ret = RouteManager::UpdateRoute(RouteManager::TableType::INTERFACE, {}, {}, {});
104 EXPECT_LE(ret, 0);
105 }
106
107 HWTEST_F(RouteManagerTest, UpdateRouteTest003, TestSize.Level1)
108 {
109 auto ret = RouteManager::UpdateRoute(RouteManager::TableType::LOCAL_NETWORK, {}, {}, {});
110 EXPECT_LE(ret, 0);
111 }
112
113 HWTEST_F(RouteManagerTest, UpdateRouteTest004, TestSize.Level1)
114 {
115 auto ret = RouteManager::UpdateRoute(RouteManager::TableType::VPN_NETWORK, {}, {}, {});
116 EXPECT_LE(ret, 0);
117 }
118
119 HWTEST_F(RouteManagerTest, AddInterfaceToDefaultNetworkTest001, TestSize.Level1)
120 {
121 auto ret = RouteManager::AddInterfaceToDefaultNetwork({}, PERMISSION_NONE);
122 EXPECT_LE(ret, 0);
123 }
124
125 HWTEST_F(RouteManagerTest, AddInterfaceToDefaultNetworkTest002, TestSize.Level1)
126 {
127 const std::string testInterfaceName = "testInterface";
128 auto ret = RouteManager::AddInterfaceToDefaultNetwork(testInterfaceName, PERMISSION_NONE);
129 EXPECT_LE(ret, 0);
130 }
131
132 HWTEST_F(RouteManagerTest, AddInterfaceToDefaultNetworkTest003, TestSize.Level1)
133 {
134 const std::string testInterfaceName = "eth0";
135 auto ret = RouteManager::AddInterfaceToDefaultNetwork(testInterfaceName, PERMISSION_NONE);
136 EXPECT_LE(ret, 0);
137 }
138
139 HWTEST_F(RouteManagerTest, AddInterfaceToDefaultNetworkTest004, TestSize.Level1)
140 {
141 const std::string testInterfaceName = "wlan0";
142 auto ret = RouteManager::AddInterfaceToDefaultNetwork(testInterfaceName, PERMISSION_NONE);
143 EXPECT_LE(ret, 0);
144 }
145
146 HWTEST_F(RouteManagerTest, RemoveInterfaceFromDefaultNetworkTest001, TestSize.Level1)
147 {
148 auto ret = RouteManager::RemoveInterfaceFromDefaultNetwork({}, PERMISSION_NONE);
149 EXPECT_LE(ret, 0);
150 }
151
152 HWTEST_F(RouteManagerTest, RemoveInterfaceFromDefaultNetworkTest002, TestSize.Level1)
153 {
154 const std::string testInterfaceName = "testInterface";
155 auto ret = RouteManager::RemoveInterfaceFromDefaultNetwork(testInterfaceName, PERMISSION_NONE);
156 EXPECT_LE(ret, 0);
157 }
158
159 HWTEST_F(RouteManagerTest, RemoveInterfaceFromDefaultNetworkTest003, TestSize.Level1)
160 {
161 const std::string testInterfaceName = "eth0";
162 auto ret = RouteManager::RemoveInterfaceFromDefaultNetwork(testInterfaceName, PERMISSION_NONE);
163 EXPECT_LE(ret, 0);
164 }
165
166 HWTEST_F(RouteManagerTest, RemoveInterfaceFromDefaultNetworkTest004, TestSize.Level1)
167 {
168 const std::string testInterfaceName = "wlan0";
169 auto ret = RouteManager::RemoveInterfaceFromDefaultNetwork(testInterfaceName, PERMISSION_NONE);
170 EXPECT_LE(ret, 0);
171 }
172
173 HWTEST_F(RouteManagerTest, AddInterfaceToPhysicalNetworkTest001, TestSize.Level1)
174 {
175 uint16_t testNetId = 154;
176 const std::string testInterfaceName = "eth0";
177 auto ret = RouteManager::AddInterfaceToPhysicalNetwork(testNetId, testInterfaceName, PERMISSION_NONE);
178 EXPECT_LE(ret, 0);
179 }
180
181 HWTEST_F(RouteManagerTest, AddInterfaceToPhysicalNetworkTest002, TestSize.Level1)
182 {
183 uint16_t testNetId = 154;
184 const std::string testInterfaceName = "eth1";
185 auto ret = RouteManager::AddInterfaceToPhysicalNetwork(testNetId, testInterfaceName, PERMISSION_NETWORK);
186 EXPECT_LE(ret, 0);
187 }
188
189 HWTEST_F(RouteManagerTest, AddInterfaceToPhysicalNetworkTest003, TestSize.Level1)
190 {
191 uint16_t testNetId = 154;
192 const std::string testInterfaceName = "wlan0";
193 auto ret = RouteManager::AddInterfaceToPhysicalNetwork(testNetId, testInterfaceName, PERMISSION_SYSTEM);
194 EXPECT_LE(ret, 0);
195 }
196
197 HWTEST_F(RouteManagerTest, AddInterfaceToPhysicalNetworkTest004, TestSize.Level1)
198 {
199 uint16_t testNetId = 154;
200 auto ret = RouteManager::AddInterfaceToPhysicalNetwork(testNetId, {}, PERMISSION_NONE);
201 EXPECT_LE(ret, 0);
202 }
203
204 HWTEST_F(RouteManagerTest, RemoveInterfaceFromPhysicalNetworkTest001, TestSize.Level1)
205 {
206 uint16_t testNetId = 154;
207 const std::string testInterfaceName = "eth0";
208 auto ret = RouteManager::RemoveInterfaceFromPhysicalNetwork(testNetId, testInterfaceName, PERMISSION_NONE);
209 EXPECT_LE(ret, NETMANAGER_ERR_INTERNAL);
210 }
211
212 HWTEST_F(RouteManagerTest, RemoveInterfaceFromPhysicalNetworkTest002, TestSize.Level1)
213 {
214 uint16_t testNetId = 154;
215 const std::string testInterfaceName = "eth1";
216 auto ret = RouteManager::RemoveInterfaceFromPhysicalNetwork(testNetId, testInterfaceName, PERMISSION_NETWORK);
217 EXPECT_LE(ret, NETMANAGER_ERR_INTERNAL);
218 }
219
220 HWTEST_F(RouteManagerTest, RemoveInterfaceFromPhysicalNetworkTest003, TestSize.Level1)
221 {
222 uint16_t testNetId = 154;
223 const std::string testInterfaceName = "wlan0";
224 auto ret = RouteManager::RemoveInterfaceFromPhysicalNetwork(testNetId, testInterfaceName, PERMISSION_SYSTEM);
225 EXPECT_LE(ret, NETMANAGER_ERR_INTERNAL);
226 }
227
228 HWTEST_F(RouteManagerTest, RemoveInterfaceFromPhysicalNetworkTest004, TestSize.Level1)
229 {
230 uint16_t testNetId = 154;
231 auto ret = RouteManager::RemoveInterfaceFromPhysicalNetwork(testNetId, {}, PERMISSION_NONE);
232 EXPECT_LE(ret, 0);
233 }
234
235 HWTEST_F(RouteManagerTest, ModifyPhysicalNetworkPermissionTest001, TestSize.Level1)
236 {
237 uint16_t testNetId = 154;
238 const std::string testInterfaceName = "eth1";
239 auto ret =
240 RouteManager::ModifyPhysicalNetworkPermission(testNetId, testInterfaceName, PERMISSION_NONE, PERMISSION_NONE);
241 EXPECT_LE(ret, 0);
242 }
243
244 HWTEST_F(RouteManagerTest, ModifyPhysicalNetworkPermissionTest002, TestSize.Level1)
245 {
246 uint16_t testNetId = 154;
247 const std::string testInterfaceName = "eth1";
248 auto ret = RouteManager::ModifyPhysicalNetworkPermission(testNetId, testInterfaceName, PERMISSION_NONE,
249 PERMISSION_NETWORK);
250 EXPECT_LE(ret, 0);
251 }
252
253 HWTEST_F(RouteManagerTest, ModifyPhysicalNetworkPermissionTest003, TestSize.Level1)
254 {
255 uint16_t testNetId = 154;
256 auto ret = RouteManager::ModifyPhysicalNetworkPermission(testNetId, {}, PERMISSION_NETWORK, PERMISSION_NONE);
257 EXPECT_LE(ret, 0);
258 }
259
260 HWTEST_F(RouteManagerTest, ModifyPhysicalNetworkPermissionTest004, TestSize.Level1)
261 {
262 uint16_t testNetId = 154;
263 const std::string testInterfaceName = "eth1";
264 auto ret =
265 RouteManager::ModifyPhysicalNetworkPermission(testNetId, testInterfaceName, PERMISSION_SYSTEM, PERMISSION_NONE);
266 EXPECT_LE(ret, 0);
267 }
268
269 HWTEST_F(RouteManagerTest, ModifyPhysicalNetworkPermissionTest005, TestSize.Level1)
270 {
271 uint16_t testNetId = 154;
272 const std::string testInterfaceName = "eth1";
273 auto ret =
274 RouteManager::ModifyPhysicalNetworkPermission(testNetId, testInterfaceName, PERMISSION_NONE, PERMISSION_SYSTEM);
275 EXPECT_LE(ret, 0);
276 }
277
278 HWTEST_F(RouteManagerTest, ModifyPhysicalNetworkPermissionTest006, TestSize.Level1)
279 {
280 uint16_t testNetId = 154;
281 const std::string testInterfaceName = "eth1";
282 auto ret = RouteManager::ModifyPhysicalNetworkPermission(testNetId, testInterfaceName, PERMISSION_SYSTEM,
283 PERMISSION_SYSTEM);
284 EXPECT_LE(ret, 0);
285 }
286
287 HWTEST_F(RouteManagerTest, AddInterfaceToLocalNetworkTest001, TestSize.Level1)
288 {
289 uint16_t testNetId = 154;
290 const std::string testInterfaceName = "eth1";
291 auto ret = RouteManager::AddInterfaceToLocalNetwork(testNetId, testInterfaceName);
292 EXPECT_LE(ret, 0);
293 }
294
295 HWTEST_F(RouteManagerTest, AddInterfaceToLocalNetworkTest002, TestSize.Level1)
296 {
297 uint16_t testNetId = 154;
298 const std::string testInterfaceName = "eth0";
299 auto ret = RouteManager::AddInterfaceToLocalNetwork(testNetId, testInterfaceName);
300 EXPECT_LE(ret, 0);
301 }
302
303 HWTEST_F(RouteManagerTest, AddInterfaceToLocalNetworkTest003, TestSize.Level1)
304 {
305 uint16_t testNetId = 154;
306 const std::string testInterfaceName = "testInterfaceName";
307 auto ret = RouteManager::AddInterfaceToLocalNetwork(testNetId, testInterfaceName);
308 EXPECT_LE(ret, 0);
309 }
310
311 HWTEST_F(RouteManagerTest, AddInterfaceToLocalNetworkTest004, TestSize.Level1)
312 {
313 uint16_t testNetId = 154;
314 auto ret = RouteManager::AddInterfaceToLocalNetwork(testNetId, {});
315 EXPECT_LE(ret, 0);
316 }
317
318 HWTEST_F(RouteManagerTest, RemoveInterfaceFromLocalNetworkTest001, TestSize.Level1)
319 {
320 uint16_t testNetId = 154;
321 const std::string testInterfaceName = "eth1";
322 auto ret = RouteManager::RemoveInterfaceFromLocalNetwork(testNetId, testInterfaceName);
323 EXPECT_LE(ret, 0);
324 }
325
326 HWTEST_F(RouteManagerTest, RemoveInterfaceFromLocalNetworkTest002, TestSize.Level1)
327 {
328 uint16_t testNetId = 154;
329 const std::string testInterfaceName = "eth0";
330 auto ret = RouteManager::RemoveInterfaceFromLocalNetwork(testNetId, testInterfaceName);
331 EXPECT_LE(ret, 0);
332 }
333
334 HWTEST_F(RouteManagerTest, RemoveInterfaceFromLocalNetworkTest003, TestSize.Level1)
335 {
336 uint16_t testNetId = 154;
337 const std::string testInterfaceName = "testInterfaceName";
338 auto ret = RouteManager::RemoveInterfaceFromLocalNetwork(testNetId, testInterfaceName);
339 EXPECT_LE(ret, NETMANAGER_ERR_INTERNAL);
340 }
341
342 HWTEST_F(RouteManagerTest, RemoveInterfaceFromLocalNetworkTest004, TestSize.Level1)
343 {
344 uint16_t testNetId = 154;
345 auto ret = RouteManager::RemoveInterfaceFromLocalNetwork(testNetId, {});
346 EXPECT_LE(ret, 0);
347 }
348
349 HWTEST_F(RouteManagerTest, EnableSharingTest001, TestSize.Level1)
350 {
351 const std::string input;
352 const std::string output;
353 auto ret = RouteManager::EnableSharing(input, output);
354 EXPECT_LE(ret, 0);
355 }
356
357 HWTEST_F(RouteManagerTest, EnableSharingTest002, TestSize.Level1)
358 {
359 const std::string input = "eth0";
360 const std::string output;
361 auto ret = RouteManager::EnableSharing(input, output);
362 EXPECT_LE(ret, 0);
363 }
364
365 HWTEST_F(RouteManagerTest, EnableSharingTest003, TestSize.Level1)
366 {
367 const std::string input;
368 const std::string output = "sla0";
369 auto ret = RouteManager::EnableSharing(input, output);
370 EXPECT_LE(ret, 0);
371 }
372
373 HWTEST_F(RouteManagerTest, EnableSharingTest004, TestSize.Level1)
374 {
375 const std::string input = "test";
376 const std::string output = "dds0";
377 auto ret = RouteManager::EnableSharing(input, output);
378 EXPECT_LE(ret, 0);
379 }
380
381 HWTEST_F(RouteManagerTest, EnableSharingTest005, TestSize.Level1)
382 {
383 const std::string input = "wlan0";
384 const std::string output = "eth3";
385 auto ret = RouteManager::EnableSharing(input, output);
386 EXPECT_LE(ret, 0);
387 }
388
389 HWTEST_F(RouteManagerTest, DisableSharingTest001, TestSize.Level1)
390 {
391 const std::string input;
392 const std::string output;
393 auto ret = RouteManager::DisableSharing(input, output);
394 EXPECT_LE(ret, 0);
395 }
396
397 HWTEST_F(RouteManagerTest, DisableSharingTest002, TestSize.Level1)
398 {
399 const std::string input = "eth0";
400 const std::string output;
401 auto ret = RouteManager::DisableSharing(input, output);
402 EXPECT_LE(ret, 0);
403 }
404
405 HWTEST_F(RouteManagerTest, DisableSharingTest003, TestSize.Level1)
406 {
407 const std::string input;
408 const std::string output = "sla0";
409 auto ret = RouteManager::DisableSharing(input, output);
410 EXPECT_LE(ret, 0);
411 }
412
413 HWTEST_F(RouteManagerTest, DisableSharingTest004, TestSize.Level1)
414 {
415 const std::string input = "test";
416 const std::string output = "dds0";
417 auto ret = RouteManager::DisableSharing(input, output);
418 EXPECT_LE(ret, 0);
419 }
420
421 HWTEST_F(RouteManagerTest, DisableSharingTest005, TestSize.Level1)
422 {
423 const std::string input = "wlan0";
424 const std::string output = "eth3";
425 auto ret = RouteManager::DisableSharing(input, output);
426 EXPECT_LE(ret, 0);
427 }
428
429 HWTEST_F(RouteManagerTest, ReadAddrTest001, TestSize.Level1)
430 {
431 const std::string addr;
432 auto ret = RouteManager::ReadAddr(addr, nullptr);
433 EXPECT_EQ(ret, -EINVAL);
434 }
435
436 HWTEST_F(RouteManagerTest, ReadAddrTest002, TestSize.Level1)
437 {
438 const std::string addr = "/";
439 InetAddr res;
440 auto ret = RouteManager::ReadAddr(addr, &res);
441 EXPECT_EQ(ret, -EINVAL);
442 }
443
444 HWTEST_F(RouteManagerTest, ReadAddrTest003, TestSize.Level1)
445 {
446 const std::string addr = "48541/451564";
447 InetAddr res;
448 auto ret = RouteManager::ReadAddr(addr, &res);
449 EXPECT_EQ(ret, -EINVAL);
450 }
451
452 HWTEST_F(RouteManagerTest, ReadAddrTest004, TestSize.Level1)
453 {
454 const std::string addr = "48541adfa/451564dfa";
455 InetAddr res;
456 auto ret = RouteManager::ReadAddr(addr, &res);
457 EXPECT_LE(ret, 0);
458 }
459
460 HWTEST_F(RouteManagerTest, ReadAddrTest005, TestSize.Level1)
461 {
462 const std::string addr = "gsga:4557/56445:::df?";
463 InetAddr res;
464 auto ret = RouteManager::ReadAddr(addr, &res);
465 EXPECT_LE(ret, 0);
466 }
467
468 HWTEST_F(RouteManagerTest, ReadAddrGwTest001, TestSize.Level1)
469 {
470 const std::string addr;
471 auto ret = RouteManager::ReadAddrGw(addr, nullptr);
472 EXPECT_LE(ret, 0);
473 }
474
475 HWTEST_F(RouteManagerTest, ReadAddrGwTest002, TestSize.Level1)
476 {
477 const std::string addr = "/";
478 InetAddr res;
479 auto ret = RouteManager::ReadAddrGw(addr, &res);
480 EXPECT_LE(ret, 0);
481 }
482
483 HWTEST_F(RouteManagerTest, ReadAddrGwTest003, TestSize.Level1)
484 {
485 const std::string addr = "48541/451564";
486 InetAddr res;
487 auto ret = RouteManager::ReadAddrGw(addr, &res);
488 EXPECT_LE(ret, 0);
489 }
490
491 HWTEST_F(RouteManagerTest, ReadAddrGwTest004, TestSize.Level1)
492 {
493 const std::string addr = "48541adfa/451564dfa";
494 InetAddr res;
495 auto ret = RouteManager::ReadAddrGw(addr, &res);
496 EXPECT_LE(ret, 0);
497 }
498
499 HWTEST_F(RouteManagerTest, ReadAddrGwTest005, TestSize.Level1)
500 {
501 const std::string addr = "gsga:4557/56445:::df?";
502 InetAddr res;
503 auto ret = RouteManager::ReadAddrGw(addr, &res);
504 EXPECT_LE(ret, 0);
505 }
506
507 HWTEST_F(RouteManagerTest, AddInterfaceToVirtualNetwork001, TestSize.Level1)
508 {
509 uint16_t testNetId = 154;
510 std::string testInterfaceName = "testName0";
511 auto ret = RouteManager::AddInterfaceToVirtualNetwork(testNetId, testInterfaceName);
512 EXPECT_EQ(ret, 0);
513 }
514
515 HWTEST_F(RouteManagerTest, RemoveInterfaceFromVirtualNetwork001, TestSize.Level1)
516 {
517 uint16_t testNetId = 154;
518 std::string testInterfaceName = "testName0";
519 auto ret = RouteManager::RemoveInterfaceFromVirtualNetwork(testNetId, testInterfaceName);
520 EXPECT_EQ(ret, 0);
521
522 testInterfaceName = "notexist";
523 ret = RouteManager::RemoveInterfaceFromVirtualNetwork(testNetId, testInterfaceName);
524 EXPECT_EQ(ret, -1);
525 }
526
527 HWTEST_F(RouteManagerTest, AddUsersToVirtualNetwork001, TestSize.Level1)
528 {
529 uint16_t testNetId = 154;
530 std::string testInterfaceName = "testName1";
531 std::vector<NetManagerStandard::UidRange> uidRanges;
532 auto ret = RouteManager::AddUsersToVirtualNetwork(testNetId, testInterfaceName, uidRanges);
533 EXPECT_EQ(ret, 0);
534 }
535
536 HWTEST_F(RouteManagerTest, RemoveUsersFromVirtualNetwork001, TestSize.Level1)
537 {
538 uint16_t testNetId = 154;
539 std::string testInterfaceName = "testName1";
540 std::vector<NetManagerStandard::UidRange> uidRanges;
541 auto ret = RouteManager::RemoveUsersFromVirtualNetwork(testNetId, testInterfaceName, uidRanges);
542 EXPECT_EQ(ret, 0);
543 }
544 } // namespace nmd
545 } // namespace OHOS