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
18 #include "interface_manager.h"
19
20 namespace OHOS {
21 namespace nmd {
22 namespace {
23 using namespace testing::ext;
24 } // namespace
25
26 class InterfaceManagerTest : public testing::Test {
27 public:
28 static void SetUpTestCase();
29 static void TearDownTestCase();
30 void SetUp();
31 void TearDown();
32 };
33
SetUpTestCase()34 void InterfaceManagerTest::SetUpTestCase() {}
35
TearDownTestCase()36 void InterfaceManagerTest::TearDownTestCase() {}
37
SetUp()38 void InterfaceManagerTest::SetUp() {}
39
TearDown()40 void InterfaceManagerTest::TearDown() {}
41
42 HWTEST_F(InterfaceManagerTest, GetMtuTest001, TestSize.Level1)
43 {
44 std::string interfaceName;
45 auto ret = InterfaceManager::GetMtu(interfaceName.data());
46 EXPECT_EQ(ret, -1);
47 }
48
49 HWTEST_F(InterfaceManagerTest, GetMtuTest002, TestSize.Level1)
50 {
51 std::string interfaceName = "eth0";
52 auto ret = InterfaceManager::GetMtu(interfaceName.c_str());
53 EXPECT_EQ(ret, -1);
54 }
55
56 HWTEST_F(InterfaceManagerTest, SetMtuTest001, TestSize.Level1)
57 {
58 std::string mtuValue = "10";
59 std::string interfaceName;
60 auto ret = InterfaceManager::SetMtu(interfaceName.data(), mtuValue.data());
61 EXPECT_EQ(ret, -1);
62 }
63
64 HWTEST_F(InterfaceManagerTest, SetMtuTest002, TestSize.Level1)
65 {
66 std::string mtuValue = "10";
67 std::string interfaceName = "eth0";
68 auto ret = InterfaceManager::SetMtu(interfaceName.data(), mtuValue.data());
69 EXPECT_EQ(ret, -1);
70 }
71
72 HWTEST_F(InterfaceManagerTest, SetMtuTest003, TestSize.Level1)
73 {
74 std::string interfaceName = "eth0";
75 std::string mtuValue;
76 auto ret = InterfaceManager::SetMtu(interfaceName.data(), mtuValue.data());
77 EXPECT_LE(ret, 0);
78 }
79
80 HWTEST_F(InterfaceManagerTest, AddAddressTest001, TestSize.Level1)
81 {
82 std::string interfaceName = "eth0";
83 std::string addr = "";
84 int32_t prefixLength = 0;
85 auto ret = InterfaceManager::AddAddress(interfaceName.data(), addr.data(), prefixLength);
86 EXPECT_LE(ret, 0);
87 }
88
89 HWTEST_F(InterfaceManagerTest, AddAddressTest002, TestSize.Level1)
90 {
91 std::string addr = "14.4.1.4";
92 int32_t prefixLength = 45;
93 auto ret = InterfaceManager::AddAddress(nullptr, addr.data(), prefixLength);
94 EXPECT_LE(ret, 0);
95 }
96
97 HWTEST_F(InterfaceManagerTest, AddAddressTest003, TestSize.Level1)
98 {
99 std::string interfaceName = "eth0";
100 std::string addr;
101 int32_t prefixLength = 45;
102 auto ret = InterfaceManager::AddAddress(interfaceName.c_str(), addr.data(), prefixLength);
103 EXPECT_LE(ret, 0);
104 }
105
106 HWTEST_F(InterfaceManagerTest, DelAddressTest001, TestSize.Level1)
107 {
108 std::string interfaceName = "eth0";
109 std::string addr = "";
110 int32_t prefixLength = 0;
111 auto ret = InterfaceManager::DelAddress(interfaceName.data(), addr.data(), prefixLength);
112 EXPECT_LE(ret, 0);
113 }
114
115 HWTEST_F(InterfaceManagerTest, DelAddressTest002, TestSize.Level1)
116 {
117 std::string addr = "14.4.1.4";
118 int32_t prefixLength = 45;
119 auto ret = InterfaceManager::DelAddress(nullptr, addr.data(), prefixLength);
120 EXPECT_LE(ret, 0);
121 }
122
123 HWTEST_F(InterfaceManagerTest, DelAddressTest003, TestSize.Level1)
124 {
125 std::string interfaceName = "eth0";
126 int32_t prefixLength = 45;
127 std::string addr;
128 auto ret = InterfaceManager::DelAddress(interfaceName.data(), addr.data(), prefixLength);
129 EXPECT_LE(ret, 0);
130 }
131
132 HWTEST_F(InterfaceManagerTest, GetInterfaceNamesTest001, TestSize.Level1)
133 {
134 auto ret = InterfaceManager::GetInterfaceNames();
135 EXPECT_FALSE(ret.empty());
136 }
137
138 HWTEST_F(InterfaceManagerTest, GetIfaceConfigTest001, TestSize.Level1)
139 {
140 std::string ifaceName = "";
141 auto ret = InterfaceManager::GetIfaceConfig(ifaceName);
142 EXPECT_TRUE(ret.ifName.empty());
143 }
144
145 HWTEST_F(InterfaceManagerTest, GetIfaceConfigTest002, TestSize.Level1)
146 {
147 std::string ifaceName = "eth0";
148 auto ret = InterfaceManager::GetIfaceConfig(ifaceName);
149 EXPECT_FALSE(ret.ifName.empty());
150 }
151
152 HWTEST_F(InterfaceManagerTest, SetIfaceConfigTest001, TestSize.Level1)
153 {
154 std::string ifaceName = "eth0";
155 auto config = InterfaceManager::GetIfaceConfig(ifaceName);
156 EXPECT_FALSE(config.ifName.empty());
157 auto ret = InterfaceManager::SetIfaceConfig(config);
158 EXPECT_LE(ret, 1);
159 }
160 } // namespace nmd
161 } // namespace OHOS