1 /*
2  * Copyright (c) 2024 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 <memory>
17 #include <unistd.h>
18 
19 #include "gtest/gtest.h"
20 #include "network/network_agent_template.h"
21 #include "utils_log.h"
22 
23 namespace OHOS {
24 namespace Storage {
25 namespace DistributedFile {
26 namespace Test {
27 using namespace testing::ext;
28 using namespace std;
29 
30 constexpr int TEST_SESSION_ID = 10;
31 
32 class NetworkAgentTemplateTest : public testing::Test {
33 public:
SetUpTestCase(void)34     static void SetUpTestCase(void) {};
TearDownTestCase(void)35     static void TearDownTestCase(void) {};
SetUp()36     void SetUp() {};
TearDown()37     void TearDown() {};
38 };
39 
40 /**
41  * @tc.name: NetworkAgentTemplateTest_Start_Stop_0100
42  * @tc.desc: Verify the Start/Stop function.
43  * @tc.type: FUNC
44  * @tc.require: SR000H0387
45  */
46 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_Start_Stop_0100, TestSize.Level1)
47 {
48     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_Start_Stop_0100 start";
49     bool res = true;
50     try {
51         NetworkAgentTemplate::Start();
52         NetworkAgentTemplate::Stop();
53     } catch (const exception &e) {
54         res = false;
55         LOGE("%{public}s", e.what());
56     }
57     EXPECT_TRUE(res == true);
58     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_Start_Stop_0100 end";
59 }
60 
61 /**
62  * @tc.name: NetworkAgentTemplateTest_ConnectDeviceAsync_0100
63  * @tc.desc: Verify the ConnectDeviceAsync function.
64  * @tc.type: FUNC
65  * @tc.require: SR000H0387
66  */
67 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_ConnectDeviceAsync_0100, TestSize.Level1)
68 {
69     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_ConnectDeviceAsync_0100 start";
70     DistributedHardware::DmDeviceInfo info = {
71         .deviceId = "testdevid",
72         .deviceName = "testdevname",
73         .deviceTypeId = 1,
74     };
75     DeviceInfo devInfo(info);
76     bool res = true;
77     try {
78         NetworkAgentTemplate::ConnectDeviceAsync(devInfo);
79     } catch (const exception &e) {
80         res = false;
81         LOGE("%{public}s", e.what());
82     }
83     EXPECT_TRUE(res == true);
84     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_ConnectDeviceAsync_0100 end";
85 }
86 
87 /**
88  * @tc.name: NetworkAgentTemplateTest_ConnectDeviceByP2PAsync_0100
89  * @tc.desc: Verify the ConnectDeviceByP2PAsync function.
90  * @tc.type: FUNC
91  * @tc.require: SR000H0387
92  */
93 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_ConnectDeviceByP2PAsync_0100, TestSize.Level1)
94 {
95     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_ConnectDeviceByP2PAsync_0100 start";
96     DistributedHardware::DmDeviceInfo info = {
97         .deviceId = "testdevid",
98         .deviceName = "testdevname",
99         .deviceTypeId = 1,
100     };
101     DeviceInfo devInfo(info);
102     bool res = true;
103     try {
104         NetworkAgentTemplate::ConnectDeviceByP2PAsync(devInfo);
105     } catch (const exception &e) {
106         res = false;
107         LOGE("%{public}s", e.what());
108     }
109     EXPECT_TRUE(res == true);
110     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_ConnectDeviceByP2PAsync_0100 end";
111 }
112 
113 /**
114  * @tc.name: NetworkAgentTemplateTest_ConnectOnlineDevices_0100
115  * @tc.desc: Verify the ConnectOnlineDevices function.
116  * @tc.type: FUNC
117  * @tc.require: SR000H0387
118  */
119 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_ConnectDeviceAsync_0100, TestSize.Level1)
120 {
121     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_ConnectDeviceAsync_0100 start";
122     bool res = true;
123     try {
124         NetworkAgentTemplate::ConnectOnlineDevices();
125     } catch (const exception &e) {
126         res = false;
127         LOGE("%{public}s", e.what());
128     }
129     EXPECT_TRUE(res == true);
130     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_ConnectDeviceAsync_0100 end";
131 }
132 
133 /**
134  * @tc.name: NetworkAgentTemplateTest_DisconnectAllDevices_0100
135  * @tc.desc: Verify the DisconnectAllDevices function.
136  * @tc.type: FUNC
137  * @tc.require: SR000H0387
138  */
139 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_DisconnectAllDevices_0100, TestSize.Level1)
140 {
141     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_DisconnectAllDevices_0100 start";
142     bool res = true;
143     try {
144         NetworkAgentTemplate::DisconnectAllDevices();
145     } catch (const exception &e) {
146         res = false;
147         LOGE("%{public}s", e.what());
148     }
149     EXPECT_TRUE(res == true);
150     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_DisconnectAllDevices_0100 end";
151 }
152 
153 /**
154  * @tc.name: NetworkAgentTemplateTest_DisconnectDevice_0100
155  * @tc.desc: Verify the DisconnectDevice function.
156  * @tc.type: FUNC
157  * @tc.require: SR000H0387
158  */
159 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_DisconnectDevice_0100, TestSize.Level1)
160 {
161     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_DisconnectDevice_0100 start";
162     DistributedHardware::DmDeviceInfo info = {
163         .deviceId = "testdevid",
164         .deviceName = "testdevname",
165         .deviceTypeId = 1,
166     };
167     DeviceInfo devInfo(info);
168     bool res = true;
169     try {
170         NetworkAgentTemplate::DisconnectDevice(devInfo);
171     } catch (const exception &e) {
172         res = false;
173         LOGE("%{public}s", e.what());
174     }
175     EXPECT_TRUE(res == true);
176     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_DisconnectDevice_0100 end";
177 }
178 
179 /**
180  * @tc.name: NetworkAgentTemplateTest_DisconnectDeviceByP2P_0100
181  * @tc.desc: Verify the DisconnectDeviceByP2P function.
182  * @tc.type: FUNC
183  * @tc.require: SR000H0387
184  */
185 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_DisconnectDeviceByP2P_0100, TestSize.Level1)
186 {
187     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_DisconnectDeviceByP2P_0100 start";
188     DistributedHardware::DmDeviceInfo info = {
189         .deviceId = "testdevid",
190         .deviceName = "testdevname",
191         .deviceTypeId = 1,
192     };
193     DeviceInfo devInfo(info);
194     bool res = true;
195     try {
196         NetworkAgentTemplate::DisconnectDeviceByP2P(devInfo);
197     } catch (const exception &e) {
198         res = false;
199         LOGE("%{public}s", e.what());
200     }
201     EXPECT_TRUE(res == true);
202     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_DisconnectDeviceByP2P_0100 end";
203 }
204 
205 /**
206  * @tc.name: NetworkAgentTemplateTest_OccupySession_0100
207  * @tc.desc: Verify the OccupySession function.
208  * @tc.type: FUNC
209  * @tc.require: SR000H0387
210  */
211 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_OccupySession_0100, TestSize.Level1)
212 {
213     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_OccupySession_0100 start";
214     bool res = true;
215     try {
216         NetworkAgentTemplate::OccupySession(TEST_SESSION_ID, 1);
217     } catch (const exception &e) {
218         res = false;
219         LOGE("%{public}s", e.what());
220     }
221     EXPECT_TRUE(res == true);
222     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_OccupySession_0100 end";
223 }
224 
225 /**
226  * @tc.name: NetworkAgentTemplateTest_FindSession_0100
227  * @tc.desc: Verify the FindSession function.
228  * @tc.type: FUNC
229  * @tc.require: SR000H0387
230  */
231 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_FindSession_0100, TestSize.Level1)
232 {
233     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_FindSession_0100 start";
234     bool res = true;
235     try {
236         NetworkAgentTemplate::FindSession(TEST_SESSION_ID);
237     } catch (const exception &e) {
238         res = false;
239         LOGE("%{public}s", e.what());
240     }
241     EXPECT_TRUE(res == true);
242     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_FindSession_0100 end";
243 }
244 
245 /**
246  * @tc.name: NetworkAgentTemplateTest_CloseSessionForOneDevice_0100
247  * @tc.desc: Verify the CloseSessionForOneDevice function.
248  * @tc.type: FUNC
249  * @tc.require: SR000H0387
250  */
251 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_CloseSessionForOneDevice_0100, TestSize.Level1)
252 {
253     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_CloseSessionForOneDevice_0100 start";
254     bool res = true;
255     try {
256         NetworkAgentTemplate::CloseSessionForOneDevice("testSession");
257     } catch (const exception &e) {
258         res = false;
259         LOGE("%{public}s", e.what());
260     }
261     EXPECT_TRUE(res == true);
262     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_CloseSessionForOneDevice_0100 end";
263 }
264 
265 /**
266  * @tc.name: NetworkAgentTemplateTest_AcceptSession_0100
267  * @tc.desc: Verify the AcceptSession function.
268  * @tc.type: FUNC
269  * @tc.require: SR000H0387
270  */
271 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_AcceptSession_0100, TestSize.Level1)
272 {
273     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_AcceptSession_0100 start";
274     auto session = make_shared<SoftbusSession>(TEST_SESSION_ID);
275     bool res = true;
276     try {
277         NetworkAgentTemplate::AcceptSession(session);
278     } catch (const exception &e) {
279         res = false;
280         LOGE("%{public}s", e.what());
281     }
282     EXPECT_TRUE(res == true);
283     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_AcceptSession_0100 end";
284 }
285 
286 /**
287  * @tc.name: NetworkAgentTemplateTest_GetSessionProcess_0100
288  * @tc.desc: Verify the GetSessionProcess function.
289  * @tc.type: FUNC
290  * @tc.require: SR000H0387
291  */
292 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_GetSessionProcess_0100, TestSize.Level1)
293 {
294     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_GetSessionProcess_0100 start";
295     NotifyParam param;
296     bool res = true;
297     try {
298         NetworkAgentTemplate::GetSessionProcess(param);
299     } catch (const exception &e) {
300         res = false;
301         LOGE("%{public}s", e.what());
302     }
303     EXPECT_TRUE(res == true);
304     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_GetSessionProcess_0100 end";
305 }
306 
307 /**
308  * @tc.name: NetworkAgentTemplateTest_GetSessionProcessInner_0100
309  * @tc.desc: Verify the GetSessionProcessInner function.
310  * @tc.type: FUNC
311  * @tc.require: SR000H0387
312  */
313 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_GetSessionProcessInner_0100, TestSize.Level1)
314 {
315     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_GetSessionProcessInner_0100 start";
316     NotifyParam param;
317     bool res = true;
318     try {
319         NetworkAgentTemplate::GetSessionProcessInner(param);
320     } catch (const exception &e) {
321         res = false;
322         LOGE("%{public}s", e.what());
323     }
324     EXPECT_TRUE(res == true);
325     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_GetSessionProcessInner_0100 end";
326 }
327 
328 /**
329  * @tc.name: NetworkAgentTemplateTest_GetSession_0100
330  * @tc.desc: Verify the GetSession function.
331  * @tc.type: FUNC
332  * @tc.require: SR000H0387
333  */
334 HWTEST_F(NetworkAgentTemplateTest, NetworkAgentTemplateTest_GetSession_0100, TestSize.Level1)
335 {
336     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_GetSession_0100 start";
337     bool res = true;
338     try {
339         NetworkAgentTemplate::GetSession("testsession", 1);
340     } catch (const exception &e) {
341         res = false;
342         LOGE("%{public}s", e.what());
343     }
344     EXPECT_TRUE(res == true);
345     GTEST_LOG_(INFO) << "NetworkAgentTemplateTest_GetSession_0100 end";
346 }
347 } // namespace Test
348 } // namespace DistributedFile
349 } // namespace Storage
350 } // namespace OHOS
351