1 /*
2 * Copyright (c) 2025 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 "eth_eap_profile.h"
19 #include "netmgr_ext_log_wrapper.h"
20 #include "parcel.h"
21 #include "refbase.h"
22
23 #ifdef GTEST_API_
24 #define private public
25 #define protected public
26 #endif
27
28 namespace OHOS {
29 namespace NetManagerStandard {
30 namespace {
31 using namespace testing::ext;
32 }
33
34 class EthEapProfileTest : public testing::Test {
35 public:
36 static void SetUpTestCase();
37 static void TearDownTestCase();
38 void SetUp();
39 void TearDown();
40 };
41
SetUpTestCase()42 void EthEapProfileTest::SetUpTestCase() {};
43
TearDownTestCase()44 void EthEapProfileTest::TearDownTestCase() {};
45
SetUp()46 void EthEapProfileTest::SetUp() {};
47
TearDown()48 void EthEapProfileTest::TearDown() {};
49
50 HWTEST_F(EthEapProfileTest, MarshallingTest001, TestSize.Level1)
51 {
52 EthEapProfile profile;
53 Parcel parcel;
54 EXPECT_TRUE(profile.Marshalling(parcel));
55 }
56
57 HWTEST_F(EthEapProfileTest, UnmarshallingTest001, TestSize.Level1)
58 {
59 EthEapProfile profile;
60 Parcel parcel;
61 std::string testStr = "test";
62 int32_t testInt32 = 0;
63 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
64 parcel.WriteInt32(testInt32);
65 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
66 parcel.WriteInt32(testInt32);
67 parcel.WriteInt32(testInt32);
68 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
69 parcel.WriteInt32(testInt32);
70 parcel.WriteInt32(testInt32);
71 parcel.WriteString(testStr);
72 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
73 parcel.WriteInt32(testInt32);
74 parcel.WriteInt32(testInt32);
75 parcel.WriteString(testStr);
76 parcel.WriteString(testStr);
77 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
78 parcel.WriteInt32(testInt32);
79 parcel.WriteInt32(testInt32);
80 parcel.WriteString(testStr);
81 parcel.WriteString(testStr);
82 parcel.WriteString(testStr);
83 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
84 parcel.WriteInt32(testInt32);
85 parcel.WriteInt32(testInt32);
86 parcel.WriteString(testStr);
87 parcel.WriteString(testStr);
88 parcel.WriteString(testStr);
89 parcel.WriteString(testStr);
90 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
91 parcel.WriteInt32(testInt32);
92 parcel.WriteInt32(testInt32);
93 parcel.WriteString(testStr);
94 parcel.WriteString(testStr);
95 parcel.WriteString(testStr);
96 parcel.WriteString(testStr);
97 parcel.WriteString(testStr);
98 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
99 parcel.WriteString(testStr);
100 parcel.WriteString(testStr);
101 parcel.WriteInt32(testInt32);
102 parcel.WriteString(testStr);
103 parcel.WriteString(testStr);
104 parcel.WriteString(testStr);
105 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
106 }
107
108 HWTEST_F(EthEapProfileTest, UnmarshallingTest002, TestSize.Level1)
109 {
110 EthEapProfile profile;
111 Parcel parcel;
112 std::string testStr = "test";
113 int32_t testInt32 = 0;
114 parcel.WriteInt32(testInt32);
115 parcel.WriteInt32(testInt32);
116 parcel.WriteString(testStr);
117 parcel.WriteString(testStr);
118 parcel.WriteString(testStr);
119 parcel.WriteString(testStr);
120 parcel.WriteString(testStr);
121 parcel.WriteString(testStr);
122 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
123 parcel.WriteInt32(testInt32);
124 parcel.WriteInt32(testInt32);
125 parcel.WriteString(testStr);
126 parcel.WriteString(testStr);
127 parcel.WriteString(testStr);
128 parcel.WriteString(testStr);
129 parcel.WriteString(testStr);
130 parcel.WriteString(testStr);
131 parcel.WriteString(testStr);
132 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
133 parcel.WriteInt32(testInt32);
134 parcel.WriteInt32(testInt32);
135 parcel.WriteString(testStr);
136 parcel.WriteString(testStr);
137 parcel.WriteString(testStr);
138 parcel.WriteString(testStr);
139 parcel.WriteString(testStr);
140 parcel.WriteString(testStr);
141 parcel.WriteString(testStr);
142 parcel.WriteString(testStr);
143 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
144 parcel.WriteInt32(testInt32);
145 parcel.WriteInt32(testInt32);
146 parcel.WriteString(testStr);
147 parcel.WriteString(testStr);
148 parcel.WriteString(testStr);
149 parcel.WriteString(testStr);
150 parcel.WriteString(testStr);
151 parcel.WriteString(testStr);
152 parcel.WriteString(testStr);
153 parcel.WriteString(testStr);
154 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
155 }
156
157 HWTEST_F(EthEapProfileTest, UnmarshallingTest003, TestSize.Level1)
158 {
159 EthEapProfile profile;
160 Parcel parcel;
161 std::string testStr = "test";
162 int32_t testInt32 = 0;
163 parcel.WriteInt32(testInt32);
164 parcel.WriteInt32(testInt32);
165 parcel.WriteString(testStr);
166 parcel.WriteString(testStr);
167 parcel.WriteString(testStr);
168 parcel.WriteString(testStr);
169 parcel.WriteString(testStr);
170 parcel.WriteString(testStr);
171 parcel.WriteString(testStr);
172 parcel.WriteString(testStr);
173 parcel.WriteString(testStr);
174 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
175 parcel.WriteInt32(testInt32);
176 parcel.WriteInt32(testInt32);
177 parcel.WriteString(testStr);
178 parcel.WriteString(testStr);
179 parcel.WriteString(testStr);
180 parcel.WriteString(testStr);
181 parcel.WriteString(testStr);
182 parcel.WriteString(testStr);
183 parcel.WriteString(testStr);
184 parcel.WriteString(testStr);
185 parcel.WriteString(testStr);
186 parcel.WriteString(testStr);
187 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
188 parcel.WriteInt32(testInt32);
189 parcel.WriteInt32(testInt32);
190 parcel.WriteString(testStr);
191 parcel.WriteString(testStr);
192 parcel.WriteString(testStr);
193 parcel.WriteString(testStr);
194 parcel.WriteString(testStr);
195 parcel.WriteString(testStr);
196 parcel.WriteString(testStr);
197 parcel.WriteString(testStr);
198 parcel.WriteString(testStr);
199 parcel.WriteString(testStr);
200 parcel.WriteString(testStr);
201 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
202 }
203
204 HWTEST_F(EthEapProfileTest, UnmarshallingTest004, TestSize.Level1)
205 {
206 EthEapProfile profile;
207 Parcel parcel;
208 std::string testStr = "test";
209 int32_t testInt32 = 0;
210 parcel.WriteInt32(testInt32);
211 parcel.WriteInt32(testInt32);
212 parcel.WriteString(testStr);
213 parcel.WriteString(testStr);
214 parcel.WriteString(testStr);
215 parcel.WriteString(testStr);
216 parcel.WriteString(testStr);
217 parcel.WriteString(testStr);
218 parcel.WriteString(testStr);
219 parcel.WriteString(testStr);
220 parcel.WriteString(testStr);
221 parcel.WriteString(testStr);
222 parcel.WriteString(testStr);
223 parcel.WriteInt32(testInt32);
224 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
225 parcel.WriteInt32(testInt32);
226 parcel.WriteInt32(testInt32);
227 parcel.WriteString(testStr);
228 parcel.WriteString(testStr);
229 parcel.WriteString(testStr);
230 parcel.WriteString(testStr);
231 parcel.WriteString(testStr);
232 parcel.WriteString(testStr);
233 parcel.WriteString(testStr);
234 parcel.WriteString(testStr);
235 parcel.WriteString(testStr);
236 parcel.WriteString(testStr);
237 parcel.WriteString(testStr);
238 parcel.WriteInt32(testInt32);
239 parcel.WriteInt32(testInt32);
240 EXPECT_NE(profile.Unmarshalling(parcel), nullptr);
241 }
242
243 HWTEST_F(EthEapProfileTest, UnmarshallingTest005, TestSize.Level1)
244 {
245 EthEapProfile profile;
246 Parcel parcel;
247 std::string testStr = "test";
248 int32_t testInt32 = 0;
249 int32_t testInt2 = 1;
250 parcel.WriteInt32(testInt32);
251 parcel.WriteInt32(testInt32);
252 parcel.WriteString(testStr);
253 parcel.WriteString(testStr);
254 parcel.WriteString(testStr);
255 parcel.WriteString(testStr);
256 parcel.WriteString(testStr);
257 parcel.WriteString(testStr);
258 parcel.WriteString(testStr);
259 parcel.WriteString(testStr);
260 parcel.WriteString(testStr);
261 parcel.WriteString(testStr);
262 parcel.WriteString(testStr);
263 parcel.WriteInt32(testInt32);
264 parcel.WriteInt32(testInt2);
265 EXPECT_EQ(profile.Unmarshalling(parcel), nullptr);
266 parcel.WriteInt32(testInt32);
267 parcel.WriteInt32(testInt32);
268 parcel.WriteString(testStr);
269 parcel.WriteString(testStr);
270 parcel.WriteString(testStr);
271 parcel.WriteString(testStr);
272 parcel.WriteString(testStr);
273 parcel.WriteString(testStr);
274 parcel.WriteString(testStr);
275 parcel.WriteString(testStr);
276 parcel.WriteString(testStr);
277 parcel.WriteString(testStr);
278 parcel.WriteString(testStr);
279 parcel.WriteInt32(testInt32);
280 parcel.WriteInt32(testInt2);
281 parcel.WriteInt32(testInt32);
282 EXPECT_NE(profile.Unmarshalling(parcel), nullptr);
283 }
284
285 } // namespace NetManagerStandard
286 } // namespace OHOS