• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "UTTest_discovery_manager.h"
17 
18 #include <iostream>
19 #include <string>
20 #include <unistd.h>
21 
22 #include "device_manager_service_listener.h"
23 #include "dm_anonymous.h"
24 #include "dm_constants.h"
25 #include "dm_log.h"
26 #include "ipc_server_listener.h"
27 #include "softbus_bus_center.h"
28 #include "softbus_error_code.h"
29 
30 namespace OHOS {
31 namespace DistributedHardware {
SetUp()32 void DiscoveryManagerTest::SetUp()
33 {
34 }
35 
TearDown()36 void DiscoveryManagerTest::TearDown()
37 {
38 }
39 
SetUpTestCase()40 void DiscoveryManagerTest::SetUpTestCase()
41 {
42 }
43 
TearDownTestCase()44 void DiscoveryManagerTest::TearDownTestCase()
45 {
46 }
47 
48 namespace {
49     std::shared_ptr<SoftbusListener> softbusListener = std::make_shared<SoftbusListener>();
50     std::shared_ptr<IDeviceManagerServiceListener> listener = std::make_shared<DeviceManagerServiceListener>();
51     std::shared_ptr<DiscoveryManager> manager = std::make_shared<DiscoveryManager>(softbusListener, listener);
52 
checkSoftbusRes(int32_t ret)53 bool checkSoftbusRes(int32_t ret)
54 {
55     return ret == SOFTBUS_INVALID_PARAM || ret == SOFTBUS_NETWORK_NOT_INIT || ret == SOFTBUS_NETWORK_LOOPER_ERR;
56 }
57 
58 HWTEST_F(DiscoveryManagerTest, EnableDiscoveryListener_001, testing::ext::TestSize.Level0)
59 {
60     std::string pkgName;
61     std::map<std::string, std::string> discoverParam;
62     std::map<std::string, std::string> filterOptions;
63     int32_t ret = manager->EnableDiscoveryListener(pkgName, discoverParam, filterOptions);
64     EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
65 }
66 
67 HWTEST_F(DiscoveryManagerTest, EnableDiscoveryListener_002, testing::ext::TestSize.Level0)
68 {
69     std::string pkgName = "pkgName";
70     std::map<std::string, std::string> discoverParam;
71     discoverParam.insert(std::pair<std::string, std::string>("META_TYPE", "ohos.test"));
72     discoverParam.insert(std::pair<std::string, std::string>("SUBSCRIBE_ID", "ohos.test"));
73     std::map<std::string, std::string> filterOptions;
74     int32_t ret = manager->EnableDiscoveryListener(pkgName, discoverParam, filterOptions);
75     EXPECT_EQ(true, checkSoftbusRes(ret));
76 }
77 
78 HWTEST_F(DiscoveryManagerTest, EnableDiscoveryListener_003, testing::ext::TestSize.Level0)
79 {
80     std::string pkgName = "pkgName";
81     std::map<std::string, std::string> discoverParam;
82     std::map<std::string, std::string> filterOptions;
83     int32_t ret = manager->EnableDiscoveryListener(pkgName, discoverParam, filterOptions);
84     EXPECT_EQ(true, checkSoftbusRes(ret));
85 }
86 
87 HWTEST_F(DiscoveryManagerTest, DisableDiscoveryListener_001, testing::ext::TestSize.Level0)
88 {
89     std::string pkgName;
90     std::map<std::string, std::string> extraParam;
91     int32_t ret = manager->DisableDiscoveryListener(pkgName, extraParam);
92     EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
93 }
94 
95 HWTEST_F(DiscoveryManagerTest, DisableDiscoveryListener_002, testing::ext::TestSize.Level0)
96 {
97     std::string pkgName = "pkgName";
98     std::map<std::string, std::string> extraParam;
99     extraParam.insert(std::pair<std::string, std::string>("META_TYPE", "ohos.test"));
100     extraParam.insert(std::pair<std::string, std::string>("SUBSCRIBE_ID", "ohos.test"));
101     int32_t ret = manager->DisableDiscoveryListener(pkgName, extraParam);
102     EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
103 }
104 
105 HWTEST_F(DiscoveryManagerTest, DisableDiscoveryListener_003, testing::ext::TestSize.Level0)
106 {
107     std::string pkgName = "pkgName";
108     std::map<std::string, std::string> extraParam;
109     int32_t ret = manager->DisableDiscoveryListener(pkgName, extraParam);
110     EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
111 }
112 
113 HWTEST_F(DiscoveryManagerTest, StartDiscovering_001, testing::ext::TestSize.Level0)
114 {
115     std::string pkgName;
116     std::map<std::string, std::string> discoverParam;
117     std::map<std::string, std::string> filterOptions;
118     int32_t ret = manager->StartDiscovering(pkgName, discoverParam, filterOptions);
119     EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
120 }
121 
122 HWTEST_F(DiscoveryManagerTest, StartDiscovering_002, testing::ext::TestSize.Level0)
123 {
124     std::string pkgName = "pkgName";
125     std::map<std::string, std::string> discoverParam;
126     discoverParam.insert(std::pair<std::string, std::string>("SUBSCRIBE_ID", "ohos.test"));
127     discoverParam.insert(std::pair<std::string, std::string>("DISC_MEDIUM", "ohos.test"));
128     discoverParam.insert(std::pair<std::string, std::string>("META_TYPE", "ohos.test"));
129     discoverParam.insert(std::pair<std::string, std::string>("FILTER_OPTIONS", "ohos.test"));
130     std::map<std::string, std::string> filterOptions;
131     int32_t ret = manager->StartDiscovering(pkgName, discoverParam, filterOptions);
132     EXPECT_EQ(true, checkSoftbusRes(ret));
133 }
134 
135 HWTEST_F(DiscoveryManagerTest, StartDiscovering_003, testing::ext::TestSize.Level0)
136 {
137     std::string pkgName = "pkgName";
138     std::map<std::string, std::string> discoverParam;
139     std::map<std::string, std::string> filterOptions;
140     int32_t ret = manager->StartDiscovering(pkgName, discoverParam, filterOptions);
141     EXPECT_EQ(ret, ERR_DM_DISCOVERY_REPEATED);
142 }
143 
144 HWTEST_F(DiscoveryManagerTest, StartDiscovering_004, testing::ext::TestSize.Level0)
145 {
146     std::string pkgName = "pkgName_test1";
147     std::map<std::string, std::string> discoverParam;
148     std::map<std::string, std::string> filterOptions;
149     discoverParam.insert(std::pair<std::string, std::string>("SUBSCRIBE_ID", "test_value1"));
150     discoverParam.insert(std::pair<std::string, std::string>("DISC_MEDIUM", "test_value2"));
151     filterOptions.insert(std::pair<std::string, std::string>("PARAM_KEY_FILTER_OPTIONS", "test_value3"));
152     int32_t ret = manager->StartDiscovering(pkgName, discoverParam, filterOptions);
153     EXPECT_EQ(true, checkSoftbusRes(ret));
154 }
155 
156 HWTEST_F(DiscoveryManagerTest, StartDiscovering4MineLibary_001, testing::ext::TestSize.Level0)
157 {
158     std::string pkgName = "pkgName";
159     DmSubscribeInfo dmSubInfo;
160     std::string searchJson = "searchJson";
161     int32_t ret = manager->StartDiscovering4MineLibary(pkgName, dmSubInfo, searchJson);
162     EXPECT_EQ(ret, ERR_DM_JSON_PARSE_STRING);
163 }
164 
165 HWTEST_F(DiscoveryManagerTest, StartDiscoveringNoMetaType_001, testing::ext::TestSize.Level0)
166 {
167     DmSubscribeInfo dmSubInfo;
168     std::string pkgName = "pkgNameTest01";
169     std::map<std::string, std::string> param;
170     param.insert(std::pair<std::string, std::string>("META_TYPE", std::to_string(MetaNodeType::PROXY_SHARE)));
171     int32_t ret = manager->StartDiscoveringNoMetaType(pkgName, dmSubInfo, param);
172     EXPECT_NE(ret, DM_OK);
173 }
174 
175 HWTEST_F(DiscoveryManagerTest, StartDiscoveringNoMetaType_002, testing::ext::TestSize.Level0)
176 {
177     DmSubscribeInfo dmSubInfo;
178     std::string pkgName = "pkgNameTest02";
179     std::map<std::string, std::string> param;
180     param.insert(std::pair<std::string, std::string>("META_TYPE", std::to_string(MetaNodeType::PROXY_WEAR)));
181     int32_t ret = manager->StartDiscoveringNoMetaType(pkgName, dmSubInfo, param);
182     EXPECT_NE(ret, DM_OK);
183 }
184 
185 HWTEST_F(DiscoveryManagerTest, StartDiscoveringNoMetaType_003, testing::ext::TestSize.Level0)
186 {
187     DmSubscribeInfo dmSubInfo;
188     std::string pkgName = "pkgNameTest03";
189     std::map<std::string, std::string> param;
190     param.insert(std::pair<std::string, std::string>("META_TYPE", std::to_string(MetaNodeType::PROXY_CASTPLUS)));
191     int32_t ret = manager->StartDiscoveringNoMetaType(pkgName, dmSubInfo, param);
192     EXPECT_NE(ret, DM_OK);
193 }
194 
195 HWTEST_F(DiscoveryManagerTest, StartDiscoveringNoMetaType_004, testing::ext::TestSize.Level0)
196 {
197     DmSubscribeInfo dmSubInfo;
198     std::string pkgName = "pkgNameTest04";
199     std::map<std::string, std::string> param;
200     int32_t ret = manager->StartDiscoveringNoMetaType(pkgName, dmSubInfo, param);
201     EXPECT_NE(ret, DM_OK);
202 }
203 
204 HWTEST_F(DiscoveryManagerTest, StartDiscovering4MetaType_001, testing::ext::TestSize.Level0)
205 {
206     DmSubscribeInfo dmSubInfo;
207     std::string pkgName = "pkgNameTest01";
208     std::map<std::string, std::string> param;
209     param.emplace("META_TYPE", "4");
210     int32_t ret = manager->StartDiscovering4MetaType(pkgName, dmSubInfo, param);
211     EXPECT_NE(ret, DM_OK);
212 }
213 
214 HWTEST_F(DiscoveryManagerTest, StartDiscovering4MetaType_002, testing::ext::TestSize.Level0)
215 {
216     DmSubscribeInfo dmSubInfo;
217     std::string pkgName = "pkgNameTest02";
218     std::map<std::string, std::string> param;
219     param.emplace("META_TYPE", "7");
220     int32_t ret = manager->StartDiscovering4MetaType(pkgName, dmSubInfo, param);
221     EXPECT_NE(ret, DM_OK);
222 }
223 
224 HWTEST_F(DiscoveryManagerTest, StartDiscovering4MetaType_003, testing::ext::TestSize.Level0)
225 {
226     DmSubscribeInfo dmSubInfo;
227     std::string pkgName = "pkgNameTest03";
228     std::map<std::string, std::string> param;
229     param.emplace("META_TYPE", "5");
230     int32_t ret = manager->StartDiscovering4MetaType(pkgName, dmSubInfo, param);
231     EXPECT_NE(ret, DM_OK);
232 }
233 
234 HWTEST_F(DiscoveryManagerTest, StartDiscovering4MetaType_004, testing::ext::TestSize.Level0)
235 {
236     DmSubscribeInfo dmSubInfo;
237     std::string pkgName = "pkgNameTest04";
238     std::map<std::string, std::string> param;
239     param.emplace("META_TYPE", "1234");
240     int32_t ret = manager->StartDiscovering4MetaType(pkgName, dmSubInfo, param);
241     EXPECT_EQ(ret, ERR_DM_UNSUPPORTED_METHOD);
242 }
243 
244 HWTEST_F(DiscoveryManagerTest, StopDiscovering_001, testing::ext::TestSize.Level0)
245 {
246     std::string pkgName;
247     uint16_t subscribeId = 0;
248     int32_t ret = manager->StopDiscovering(pkgName, subscribeId);
249     EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
250 }
251 
252 HWTEST_F(DiscoveryManagerTest, StopDiscovering_002, testing::ext::TestSize.Level0)
253 {
254     std::string pkgName = "pkgName";
255     uint16_t subscribeId = 0;
256     manager->pkgNameSet_.insert(pkgName);
257     DiscoveryContext context;
258     manager->discoveryContextMap_.emplace(pkgName, context);
259     int32_t ret = manager->StopDiscovering(pkgName, subscribeId);
260     EXPECT_EQ(true, checkSoftbusRes(ret));
261 }
262 
263 HWTEST_F(DiscoveryManagerTest, OnDeviceFound_001, testing::ext::TestSize.Level0)
264 {
265     std::string pkgName = "pkgName";
266     DmDeviceInfo info;
267     bool isOnline = false;
268     manager->OnDeviceFound(pkgName, info, isOnline);
269     EXPECT_EQ(manager->discoveryContextMap_.empty(), false);
270 }
271 
272 HWTEST_F(DiscoveryManagerTest, OnDeviceFound_002, testing::ext::TestSize.Level0)
273 {
274     std::string pkgName = "pkgName";
275     DmDeviceInfo info;
276     bool isOnline = true;
277     manager->OnDeviceFound(pkgName, info, isOnline);
278     EXPECT_EQ(manager->discoveryContextMap_.empty(), false);
279 }
280 
281 HWTEST_F(DiscoveryManagerTest, OnDiscoveringResult_001, testing::ext::TestSize.Level0)
282 {
283     std::string pkgName;
284     int32_t subscribeId = 1;
285     int32_t result = 0;
286     manager->OnDiscoveringResult(pkgName, subscribeId, result);
287     EXPECT_EQ(manager->discoveryContextMap_.empty(), false);
288 }
289 
290 HWTEST_F(DiscoveryManagerTest, OnDiscoveringResult_002, testing::ext::TestSize.Level0)
291 {
292     std::string pkgName = "pkgName";
293     int32_t subscribeId = 1;
294     int32_t result = 0;
295     manager->listener_ = nullptr;
296     manager->OnDiscoveringResult(pkgName, subscribeId, result);
297     EXPECT_EQ(manager->discoveryContextMap_.empty(), false);
298 }
299 
300 HWTEST_F(DiscoveryManagerTest, OnDiscoveringResult_003, testing::ext::TestSize.Level0)
301 {
302     std::string pkgName = "pkgName";
303     int32_t subscribeId = 1;
304     int32_t result = 0;
305     manager->listener_ = std::make_shared<DeviceManagerServiceListener>();
306     manager->OnDiscoveringResult(pkgName, subscribeId, result);
307     EXPECT_NE(manager->discoveryContextMap_.empty(), true);
308 }
309 
310 HWTEST_F(DiscoveryManagerTest, OnDiscoveringResult_004, testing::ext::TestSize.Level0)
311 {
312     std::string pkgName = "pkgName";
313     int32_t subscribeId = 1;
314     int32_t result = 1;
315     manager->pkgNameSet_.insert(pkgName);
316     DiscoveryContext context;
317     manager->discoveryContextMap_.emplace(pkgName, context);
318     manager->listener_ = std::make_shared<DeviceManagerServiceListener>();
319     manager->OnDiscoveringResult(pkgName, subscribeId, result);
320     EXPECT_EQ(manager->discoveryContextMap_.empty(), false);
321 }
322 
323 HWTEST_F(DiscoveryManagerTest, StartDiscoveryTimer_001, testing::ext::TestSize.Level0)
324 {
325     manager->timer_ = nullptr;
326     std::string pkgName = "timeTest";
327     manager->StartDiscoveryTimer(pkgName);
328     EXPECT_EQ(manager->discoveryContextMap_.empty(), false);
329 }
330 
331 HWTEST_F(DiscoveryManagerTest, HandleDiscoveryQueue_001, testing::ext::TestSize.Level0)
332 {
333     std::string pkgName = "pkgName";
334     uint16_t subscribeId = 0;
335     std::map<std::string, std::string> filterOps;
336     filterOps.insert(std::pair<std::string, std::string>("FILTER_OPTIONS", pkgName));
337     int32_t ret = manager->HandleDiscoveryQueue(pkgName, subscribeId, filterOps);
338     EXPECT_NE(ret, DM_OK);
339 }
340 
341 HWTEST_F(DiscoveryManagerTest, HandleDiscoveryTimeout_001, testing::ext::TestSize.Level0)
342 {
343     std::string name = "nameTest01";
344     std::set<std::string> emptySet;
345     manager->pkgNameSet_ = emptySet;
346     manager->HandleDiscoveryTimeout(name);
347     EXPECT_EQ(manager->pkgNameSet_.empty(), true);
348 }
349 
350 HWTEST_F(DiscoveryManagerTest, HandleDiscoveryTimeout_002, testing::ext::TestSize.Level0)
351 {
352     std::string name = "nameTest02";
353     manager->pkgNameSet_.insert(name);
354     manager->discoveryContextMap_.clear();
355     manager->HandleDiscoveryTimeout(name);
356     EXPECT_EQ(manager->pkgNameSet_.empty(), false);
357 }
358 
359 HWTEST_F(DiscoveryManagerTest, HandleDiscoveryTimeout_003, testing::ext::TestSize.Level0)
360 {
361     manager->pkgNameSet_.clear();
362     std::string name = "nameTest03";
363     manager->pkgNameSet_.insert(name);
364     DiscoveryContext context;
365     manager->discoveryContextMap_.emplace(name, context);
366     manager->HandleDiscoveryTimeout(name);
367     EXPECT_EQ(manager->pkgNameSet_.empty(), false);
368 }
369 
370 HWTEST_F(DiscoveryManagerTest, GetDeviceAclParam_001, testing::ext::TestSize.Level0)
371 {
372     std::string pkgName;
373     std::string deviceId;
374     bool isonline = true;
375     int32_t authForm = 0;
376     int32_t ret = manager->GetDeviceAclParam(pkgName, 100, deviceId, isonline, authForm);
377     EXPECT_EQ(ret, DM_OK);
378 }
379 
380 HWTEST_F(DiscoveryManagerTest, GetCommonDependencyObj_001, testing::ext::TestSize.Level0)
381 {
382     auto ret = manager->GetCommonDependencyObj();
383     EXPECT_NE(ret, nullptr);
384 }
385 
386 HWTEST_F(DiscoveryManagerTest, IsCommonDependencyReady_001, testing::ext::TestSize.Level0)
387 {
388     manager->isSoLoaded_ = false;
389     bool ret = manager->IsCommonDependencyReady();
390     EXPECT_EQ(ret, true);
391 }
392 
393 HWTEST_F(DiscoveryManagerTest, CloseCommonDependencyObj_001, testing::ext::TestSize.Level0)
394 {
395     manager->isSoLoaded_ = false;
396     manager->dpConnector_ = nullptr;
397     manager->dpConnectorHandle_ = nullptr;
398     bool ret = manager->CloseCommonDependencyObj();
399     EXPECT_EQ(ret, true);
400 }
401 
402 HWTEST_F(DiscoveryManagerTest, CloseCommonDependencyObj_002, testing::ext::TestSize.Level0)
403 {
404     bool ret = manager->CloseCommonDependencyObj();
405     EXPECT_EQ(ret, true);
406 }
407 
408 /* *
409  * @tc.name: StopDiscoveringByInnerSubId_001
410  * @tc.desc: Test StopDiscoveringByInnerSubId
411  * @tc.type: FUNC
412  * @tc.require:
413  */
414 HWTEST_F(DiscoveryManagerTest, StopDiscoveringByInnerSubId_001, testing::ext::TestSize.Level0)
415 {
416     std::string pkgName;
417     uint16_t subscribeId = 0;
418     int32_t ret = manager->StopDiscoveringByInnerSubId(pkgName, subscribeId);
419     EXPECT_EQ(ret, ERR_DM_INPUT_PARA_INVALID);
420 }
421 
422 /* *
423  * @tc.name: StopDiscoveringByInnerSubId_002
424  * @tc.desc: Test StopDiscoveringByInnerSubId
425  * @tc.type: FUNC
426  * @tc.require:
427  */
428 HWTEST_F(DiscoveryManagerTest, StopDiscoveringByInnerSubId_002, testing::ext::TestSize.Level0)
429 {
430     std::string pkgName = "pkgName";
431     uint16_t subscribeId = 0;
432     manager->pkgNameSet_.insert(pkgName);
433     DiscoveryContext context;
434     manager->discoveryContextMap_.emplace(pkgName, context);
435     int32_t ret = manager->StopDiscoveringByInnerSubId(pkgName, subscribeId);
436 
437     EXPECT_EQ(checkSoftbusRes(ret), false);
438 }
439 } // namespace
440 } // namespace DistributedHardware
441 } // namespace OHOS
442