• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-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 <string>
17 #include <vector>
18 #define private   public
19 #define protected public
20 #include "gtest/gtest.h"
21 #include "refbase.h"
22 #include "distributed_device_profile_constants.h"
23 #include "distributed_device_profile_errors.h"
24 #include "distributed_device_profile_log.h"
25 #include "distributed_device_profile_enums.h"
26 #include "dp_inited_callback_stub.h"
27 #include "dp_inited_callback_proxy.h"
28 #include "device_profile.h"
29 #include "service_profile.h"
30 #include "dp_subscribe_info.h"
31 #include "i_sync_completed_callback.h"
32 #include "characteristic_profile.h"
33 #include "distributed_device_profile_client.h"
34 #include "trusted_device_info.h"
35 #undef private
36 #undef protected
37 
38 namespace OHOS {
39 namespace DistributedDeviceProfile {
40 using namespace testing::ext;
41 using namespace std;
42 
43 class DistributedDeviceProfileClientKvTest : public testing::Test {
44 public:
45     static void SetUpTestCase(void);
46     static void TearDownTestCase(void);
47     void SetUp();
48     void TearDown();
49 };
50 
SetUpTestCase(void)51 void DistributedDeviceProfileClientKvTest::SetUpTestCase(void) {
52 }
53 
TearDownTestCase(void)54 void DistributedDeviceProfileClientKvTest::TearDownTestCase(void) {
55 }
56 
SetUp()57 void DistributedDeviceProfileClientKvTest::SetUp() {
58 }
59 
TearDown()60 void DistributedDeviceProfileClientKvTest::TearDown() {
61 }
62 
63 class SubscribeDPChangeListener : public ProfileChangeListenerStub {
64 public:
SubscribeDPChangeListener()65     SubscribeDPChangeListener()
66     {
67     }
~SubscribeDPChangeListener()68     ~SubscribeDPChangeListener()
69     {
70     }
OnTrustDeviceProfileAdd(const TrustDeviceProfile & profile)71     int32_t OnTrustDeviceProfileAdd(const TrustDeviceProfile &profile)
72     {
73         return 0;
74     }
OnTrustDeviceProfileDelete(const TrustDeviceProfile & profile)75     int32_t OnTrustDeviceProfileDelete(const TrustDeviceProfile &profile)
76     {
77         return 0;
78     }
OnTrustDeviceProfileUpdate(const TrustDeviceProfile & oldProfile,const TrustDeviceProfile & newProfile)79     int32_t OnTrustDeviceProfileUpdate(const TrustDeviceProfile &oldProfile, const TrustDeviceProfile &newProfile)
80     {
81         return 0;
82     }
OnDeviceProfileAdd(const DeviceProfile & profile)83     int32_t OnDeviceProfileAdd(const DeviceProfile &profile)
84     {
85         return 0;
86     }
OnDeviceProfileDelete(const DeviceProfile & profile)87     int32_t OnDeviceProfileDelete(const DeviceProfile &profile)
88     {
89         return 0;
90     }
OnDeviceProfileUpdate(const DeviceProfile & oldProfile,const DeviceProfile & newProfile)91     int32_t OnDeviceProfileUpdate(const DeviceProfile &oldProfile, const DeviceProfile &newProfile)
92     {
93         return 0;
94     }
OnServiceProfileAdd(const ServiceProfile & profile)95     int32_t OnServiceProfileAdd(const ServiceProfile &profile)
96     {
97         return 0;
98     }
OnServiceProfileDelete(const ServiceProfile & profile)99     int32_t OnServiceProfileDelete(const ServiceProfile &profile)
100     {
101         return 0;
102     }
OnServiceProfileUpdate(const ServiceProfile & oldProfile,const ServiceProfile & newProfile)103     int32_t OnServiceProfileUpdate(const ServiceProfile &oldProfile, const ServiceProfile &newProfile)
104     {
105         return 0;
106     }
OnCharacteristicProfileAdd(const CharacteristicProfile & profile)107     int32_t OnCharacteristicProfileAdd(const CharacteristicProfile &profile)
108     {
109         return 0;
110     }
OnCharacteristicProfileDelete(const CharacteristicProfile & profile)111     int32_t OnCharacteristicProfileDelete(const CharacteristicProfile &profile)
112     {
113         return 0;
114     }
OnCharacteristicProfileUpdate(const CharacteristicProfile & oldProfile,const CharacteristicProfile & newProfile)115     int32_t OnCharacteristicProfileUpdate(const CharacteristicProfile &oldProfile,
116                                           const CharacteristicProfile &newProfile)
117     {
118         return 0;
119     }
120 };
121 
122 class DpInitedCallback : public DpInitedCallbackStub {
123 public:
DpInitedCallback()124     DpInitedCallback()
125     {
126     }
~DpInitedCallback()127     ~DpInitedCallback()
128     {
129     }
OnDpInited()130     int32_t OnDpInited()
131     {
132         return 0;
133     }
134 };
135 
136 class MockDpInitedCallbackStub : public DpInitedCallbackStub {
137 public:
OnDpInited()138     int32_t OnDpInited()
139     {
140         return 0;
141     }
142 };
143 
144 /**
145  * @tc.name:PutServiceProfile001
146  * @tc.desc: PutServiceProfile success
147  * @tc.type: FUNC
148  * @tc.require:
149  */
150 HWTEST_F(DistributedDeviceProfileClientKvTest, PutServiceProfile001, TestSize.Level1)
151 {
152     ServiceProfile serviceProfile;
153     serviceProfile.SetDeviceId("deviceId");
154     serviceProfile.SetServiceName("serviceName");
155     serviceProfile.SetServiceType("serviceType");
156 
157     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutServiceProfile(serviceProfile);
158     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
159 }
160 
161 /**
162  * @tc.name:PutServiceProfileBatch001
163  * @tc.desc: PutServiceProfileBatch success
164  * @tc.type: FUNC
165  * @tc.require:
166  */
167 HWTEST_F(DistributedDeviceProfileClientKvTest, PutServiceProfileBatch001, TestSize.Level1)
168 {
169     vector<ServiceProfile> serviceProfiles;
170 
171     ServiceProfile serviceProfile1;
172     serviceProfile1.SetDeviceId("deviceId1");
173     serviceProfile1.SetServiceName("serviceName1");
174     serviceProfile1.SetServiceType("serviceType1");
175     ServiceProfile serviceProfile2;
176     serviceProfile2.SetDeviceId("deviceId2");
177     serviceProfile2.SetServiceName("serviceName2");
178     serviceProfile2.SetServiceType("serviceType2");
179     serviceProfiles.push_back(serviceProfile1);
180     serviceProfiles.push_back(serviceProfile2);
181 
182     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutServiceProfileBatch(serviceProfiles);
183     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
184 }
185 
186 /**
187  * @tc.name:PutServiceProfileBatch002
188  * @tc.desc: PutServiceProfileBatch failed, ServiceProfiles size is invalid
189  * @tc.type: FUNC
190  * @tc.require:
191  */
192 HWTEST_F(DistributedDeviceProfileClientKvTest, PutServiceProfileBatch002, TestSize.Level1)
193 {
194     vector<ServiceProfile> serviceProfiles;
195 
196     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutServiceProfileBatch(serviceProfiles);
197     EXPECT_EQ(errCode, DP_INVALID_PARAMS);
198 }
199 
200 /**
201  * @tc.name:PutCharacteristicProfile001
202  * @tc.desc: PutCharacteristicProfile success
203  * @tc.type: FUNC
204  * @tc.require:
205  */
206 HWTEST_F(DistributedDeviceProfileClientKvTest, PutCharacteristicProfile001, TestSize.Level1)
207 {
208     CharacteristicProfile charProfile;
209     charProfile.SetDeviceId("deviceId");
210     charProfile.SetServiceName("serviceName");
211     charProfile.SetCharacteristicKey("characteristicKey");
212     charProfile.SetCharacteristicValue("characteristicValue");
213 
214     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutCharacteristicProfile(charProfile);
215     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
216 }
217 
218 /**
219  * @tc.name:PutCharacteristicProfileBatch001
220  * @tc.desc: PutCharacteristicProfileBatch success
221  * @tc.type: FUNC
222  * @tc.require:
223  */
224 HWTEST_F(DistributedDeviceProfileClientKvTest, PutCharacteristicProfileBatch001, TestSize.Level1)
225 {
226     vector<CharacteristicProfile> charProfiles;
227 
228     CharacteristicProfile charProfile1;
229     charProfile1.SetDeviceId("deviceId1");
230     charProfile1.SetServiceName("serviceName1");
231     charProfile1.SetCharacteristicKey("characteristicKey1");
232     charProfile1.SetCharacteristicValue("characteristicValue1");
233     CharacteristicProfile charProfile2;
234     charProfile2.SetDeviceId("deviceId2");
235     charProfile2.SetServiceName("serviceName2");
236     charProfile2.SetCharacteristicKey("characteristicKey2");
237     charProfile2.SetCharacteristicValue("characteristicValue2");
238     charProfiles.push_back(charProfile1);
239     charProfiles.push_back(charProfile2);
240 
241     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutCharacteristicProfileBatch(charProfiles);
242     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
243 }
244 
245 /**
246  * @tc.name:PutCharacteristicProfileBatch002
247  * @tc.desc: PutCharacteristicProfileBatch failed, CharacteristicProfiles size is invalid
248  * @tc.type: FUNC
249  * @tc.require:
250  */
251 HWTEST_F(DistributedDeviceProfileClientKvTest, PutCharacteristicProfileBatch002, TestSize.Level1)
252 {
253     vector<CharacteristicProfile> charProfiles;
254 
255     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutCharacteristicProfileBatch(charProfiles);
256     EXPECT_EQ(errCode, DP_INVALID_PARAMS);
257 }
258 
259 /**
260  * @tc.name: GetDeviceProfile001
261  * @tc.desc: GetDeviceProfile success, DeviceProfile Set and Get
262  * @tc.type: FUNC
263  * @tc.require:
264  */
265 HWTEST_F(DistributedDeviceProfileClientKvTest, GetDeviceProfile001, TestSize.Level1)
266 {
267     string deviceId = "deviceId";
268     DeviceProfile deviceProfile;
269 
270     int32_t errCode = DistributedDeviceProfileClient::GetInstance().GetDeviceProfile(deviceId, deviceProfile);
271     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
272 
273     DeviceProfile deviceProfile1;
274     deviceProfile1.SetDeviceId("anything");
275     deviceProfile1.SetDeviceName("anything");
276     deviceProfile1.SetManufactureName("anything");
277     deviceProfile1.SetDeviceModel("anything");
278     deviceProfile1.SetStorageCapability(1);
279     deviceProfile1.SetOsSysCap("anything");
280     deviceProfile1.SetOsApiLevel(1);
281     deviceProfile1.SetOsVersion("anything");
282     deviceProfile1.SetOsType(1);
283 
284     deviceProfile1.GetDeviceId();
285     deviceProfile1.GetDeviceName();
286     deviceProfile1.GetManufactureName();
287     deviceProfile1.GetDeviceModel();
288     deviceProfile1.GetStorageCapability();
289     deviceProfile1.GetOsSysCap();
290     deviceProfile1.GetOsApiLevel();
291     deviceProfile1.GetOsVersion();
292     deviceProfile1.GetOsType();
293 }
294 
295 /**
296  * @tc.name: GetServiceProfile001
297  * @tc.desc: GetServiceProfile success, ServiceProfile Get
298  * @tc.type: FUNC
299  * @tc.require:
300  */
301 HWTEST_F(DistributedDeviceProfileClientKvTest, GetServiceProfile001, TestSize.Level1)
302 {
303     string deviceId = "deviceId";
304     string serviceName = "serviceName";
305     ServiceProfile serviceProfile;
306 
307     int32_t errCode = DistributedDeviceProfileClient::GetInstance().GetServiceProfile(
308         deviceId, serviceName, serviceProfile);
309     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
310 }
311 
312 /**
313  * @tc.name: GetCharacteristicProfile001
314  * @tc.desc: GetCharacteristicProfile success, CharacteristicProfile Get
315  * @tc.type: FUNC
316  * @tc.require:
317  */
318 HWTEST_F(DistributedDeviceProfileClientKvTest, GetCharacteristicProfile001, TestSize.Level1)
319 {
320     string deviceId = "deviceId";
321     string serviceName = "serviceName";
322     string characteristicKey = "characteristicKey";
323     CharacteristicProfile characteristicProfile;
324 
325     int32_t errCode = DistributedDeviceProfileClient::GetInstance().GetCharacteristicProfile(
326             deviceId, serviceName, characteristicKey, characteristicProfile);
327     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
328 
329     characteristicProfile.GetDeviceId();
330     characteristicProfile.GetServiceName();
331     characteristicProfile.GetCharacteristicKey();
332 }
333 
334 /**
335  * @tc.name: DeleteServiceProfile001
336  * @tc.desc: DeleteServiceProfile success
337  * @tc.type: FUNC
338  * @tc.require:
339  */
340 HWTEST_F(DistributedDeviceProfileClientKvTest, DeleteServiceProfile001, TestSize.Level1)
341 {
342     int32_t errCode = DistributedDeviceProfileClient::GetInstance().DeleteServiceProfile(
343             "deviceId", "serviceName", false, DEFAULT_USER_ID);
344     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
345 }
346 
347 /**
348  * @tc.name: DeleteCharacteristicProfile001
349  * @tc.desc: DeleteCharacteristicProfile success
350  * @tc.type: FUNC
351  * @tc.require:
352  */
353 HWTEST_F(DistributedDeviceProfileClientKvTest, DeleteCharacteristicProfile001, TestSize.Level1)
354 {
355     int32_t errCode = DistributedDeviceProfileClient::GetInstance().DeleteCharacteristicProfile(
356             "deviceId", "serviceName", "characteristicKey", false, DEFAULT_USER_ID);
357     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
358 }
359 
360 /**
361  * @tc.name: SubscribeDeviceProfile001
362  * @tc.desc: SubscribeDeviceProfile success
363  * @tc.type: FUNC
364  * @tc.require:
365  */
366 HWTEST_F(DistributedDeviceProfileClientKvTest, SubscribeDeviceProfile001, TestSize.Level1)
367 {
368     string subscribeKey = "subscribeKey";
369     int32_t saId = 4801;
370     unordered_set<ProfileChangeType> subscribeTypes = {
371         ProfileChangeType::SERVICE_PROFILE_ADD,
372         ProfileChangeType::SERVICE_PROFILE_UPDATE,
373         ProfileChangeType::SERVICE_PROFILE_DELETE
374     };
375     OHOS::sptr<IProfileChangeListener> subscribeDPChangeListener =
376         OHOS::sptr<ProfileChangeListenerStub>(new SubscribeDPChangeListener);
377     SubscribeInfo subscribeInfo(saId, subscribeKey, subscribeTypes, subscribeDPChangeListener);
378 
379     int32_t errCode = DistributedDeviceProfileClient::GetInstance().SubscribeDeviceProfile(subscribeInfo);
380     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
381 }
382 
383 /**
384  * @tc.name: UnSubscribeDeviceProfile001
385  * @tc.desc: UnSubscribeDeviceProfile success
386  * @tc.type: FUNC
387  * @tc.require:
388  */
389 HWTEST_F(DistributedDeviceProfileClientKvTest, UnSubscribeDeviceProfile001, TestSize.Level1)
390 {
391     string subscribeKey = "subscribeKey";
392     int32_t saId = 4801;
393     unordered_set<ProfileChangeType> subscribeTypes = {
394             ProfileChangeType::SERVICE_PROFILE_ADD,
395             ProfileChangeType::SERVICE_PROFILE_UPDATE,
396             ProfileChangeType::SERVICE_PROFILE_DELETE
397     };
398     OHOS::sptr<IProfileChangeListener> subscribeDPChangeListener =
399         OHOS::sptr<ProfileChangeListenerStub>(new SubscribeDPChangeListener);
400     SubscribeInfo subscribeInfo(saId, subscribeKey, subscribeTypes, subscribeDPChangeListener);
401 
402     int32_t errCode = DistributedDeviceProfileClient::GetInstance().UnSubscribeDeviceProfile(subscribeInfo);
403     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
404 }
405 
406 /**
407  * @tc.name: SyncDeviceProfile001
408  * @tc.desc: SyncDeviceProfile failed, SyncCb is nullptr!
409  * @tc.type: FUNC
410  * @tc.require:
411  */
412 HWTEST_F(DistributedDeviceProfileClientKvTest, SyncDeviceProfile001, TestSize.Level1)
413 {
414     DistributedDeviceProfile::DpSyncOptions syncOptions;
415     OHOS::sptr<ISyncCompletedCallback> syncCb = nullptr;
416 
417     syncOptions.AddDevice("deviceId1");
418     syncOptions.AddDevice("deviceId2");
419     syncOptions.SetSyncMode(SyncMode::MIN);
420 
421     int32_t errCode = DistributedDeviceProfileClient::GetInstance().SyncDeviceProfile(syncOptions, syncCb);
422     EXPECT_EQ(errCode, DP_SYNC_DEVICE_FAIL);
423 }
424 
425 /**
426  * @tc.name: OnServiceDied001
427  * @tc.desc: OnServiceDied
428  * @tc.type: FUNC
429  * @tc.require:
430  */
431 HWTEST_F(DistributedDeviceProfileClientKvTest, OnServiceDied001, TestSize.Level1)
432 {
433     OHOS::wptr<OHOS::IRemoteObject> remsotes = nullptr;
434     DistributedDeviceProfileClient::DeviceProfileDeathRecipient deathRecipient;
435     deathRecipient.OnRemoteDied(remsotes);
436 
437     OHOS::sptr<OHOS::IRemoteObject> remote = nullptr;
438     DistributedDeviceProfileClient::GetInstance().OnServiceDied(remote);
439     EXPECT_EQ(nullptr, DistributedDeviceProfileClient::GetInstance().dpProxy_);
440 }
441 
442 /**
443  * @tc.name: SubscribeDeviceProfileInited_001
444  * @tc.desc: succeed
445  * @tc.type: FUNC
446  * @tc.require:
447  */
448 HWTEST_F(DistributedDeviceProfileClientKvTest, SubscribeDeviceProfileInited_001, TestSize.Level1)
449 {
450     OHOS::sptr<IDpInitedCallback> initedCb = sptr<IDpInitedCallback>(new DpInitedCallback());
451     int32_t ret = DistributedDeviceProfileClient::GetInstance().SubscribeDeviceProfileInited(1000, initedCb);
452     EXPECT_EQ(ret, DP_PERMISSION_DENIED);
453 }
454 
455 /**
456  * @tc.name: SubscribeDeviceProfileInited_002
457  * @tc.desc: saId < 0
458  * @tc.type: FUNC
459  * @tc.require:
460  */
461 HWTEST_F(DistributedDeviceProfileClientKvTest, SubscribeDeviceProfileInited_002, TestSize.Level1)
462 {
463     OHOS::sptr<IDpInitedCallback> initedCb = sptr<IDpInitedCallback>(new DpInitedCallback());
464     int32_t ret = DistributedDeviceProfileClient::GetInstance().SubscribeDeviceProfileInited(-1, initedCb);
465     EXPECT_EQ(ret, DP_INVALID_PARAM);
466 }
467 
468 /**
469  * @tc.name: SubscribeDeviceProfileInited_003
470  * @tc.desc: saId > MAX_SAID
471  * @tc.type: FUNC
472  * @tc.require:
473  */
474 HWTEST_F(DistributedDeviceProfileClientKvTest, SubscribeDeviceProfileInited_003, TestSize.Level1)
475 {
476     OHOS::sptr<IDpInitedCallback> initedCb = sptr<IDpInitedCallback>(new DpInitedCallback());
477     int32_t ret = DistributedDeviceProfileClient::GetInstance().SubscribeDeviceProfileInited(MAX_SAID + 1, initedCb);
478     EXPECT_EQ(ret, DP_INVALID_PARAM);
479 }
480 
481 /**
482  * @tc.name: SubscribeDeviceProfileInited_004
483  * @tc.desc: initedCb == nullptr
484  * @tc.type: FUNC
485  * @tc.require:
486  */
487 HWTEST_F(DistributedDeviceProfileClientKvTest, SubscribeDeviceProfileInited_004, TestSize.Level1)
488 {
489     OHOS::sptr<IDpInitedCallback> initedCb = nullptr;
490     int32_t ret = DistributedDeviceProfileClient::GetInstance().SubscribeDeviceProfileInited(MAX_SAID + 1, initedCb);
491     EXPECT_EQ(ret, DP_INVALID_PARAM);
492 }
493 
494 /**
495  * @tc.name: UnSubscribeDeviceProfileInited_001
496  * @tc.desc: succeed
497  * @tc.type: FUNC
498  * @tc.require:
499  */
500 HWTEST_F(DistributedDeviceProfileClientKvTest, UnSubscribeDeviceProfileInited_001, TestSize.Level1)
501 {
502     OHOS::sptr<IDpInitedCallback> initedCb = sptr<IDpInitedCallback>(new DpInitedCallback());
503     DistributedDeviceProfileClient::GetInstance().dpInitedCallback_ = initedCb;
504     int32_t ret = DistributedDeviceProfileClient::GetInstance().UnSubscribeDeviceProfileInited(1000);
505     EXPECT_EQ(ret, DP_PERMISSION_DENIED);
506 }
507 
508 /**
509  * @tc.name: UnSubscribeDeviceProfileInited_002
510  * @tc.desc: dpInitedCallback_ == nullptr
511  * @tc.type: FUNC
512  * @tc.require:
513  */
514 HWTEST_F(DistributedDeviceProfileClientKvTest, UnSubscribeDeviceProfileInited_002, TestSize.Level1)
515 {
516     DistributedDeviceProfileClient::GetInstance().dpInitedCallback_ = nullptr;
517     int32_t ret = DistributedDeviceProfileClient::GetInstance().UnSubscribeDeviceProfileInited(1000);
518     EXPECT_EQ(ret, DP_SUCCESS);
519 }
520 
521 /**
522  * @tc.name: UnSubscribeDeviceProfileInited_003
523  * @tc.desc: saId < 0
524  * @tc.type: FUNC
525  * @tc.require:
526  */
527 HWTEST_F(DistributedDeviceProfileClientKvTest, UnSubscribeDeviceProfileInited_003, TestSize.Level1)
528 {
529     OHOS::sptr<IDpInitedCallback> initedCb = sptr<IDpInitedCallback>(new DpInitedCallback());
530     DistributedDeviceProfileClient::GetInstance().dpInitedCallback_ = initedCb;
531     int32_t ret = DistributedDeviceProfileClient::GetInstance().UnSubscribeDeviceProfileInited(-1);
532     EXPECT_EQ(ret, DP_INVALID_PARAM);
533 }
534 
535 /**
536  * @tc.name: UnSubscribeDeviceProfileInited_004
537  * @tc.desc: saId > MAX_SAID
538  * @tc.type: FUNC
539  * @tc.require:
540  */
541 HWTEST_F(DistributedDeviceProfileClientKvTest, UnSubscribeDeviceProfileInited_004, TestSize.Level1)
542 {
543     OHOS::sptr<IDpInitedCallback> initedCb = sptr<IDpInitedCallback>(new DpInitedCallback());
544     DistributedDeviceProfileClient::GetInstance().dpInitedCallback_ = initedCb;
545     int32_t ret = DistributedDeviceProfileClient::GetInstance().UnSubscribeDeviceProfileInited(MAX_SAID + 1);
546     EXPECT_EQ(ret, DP_INVALID_PARAM);
547 }
548 
549 /**
550  * @tc.name: DpinitedCallback001
551  * @tc.desc: DP_SUCCESS
552  * @tc.type: FUNC
553  * @tc.require:
554  */
555 HWTEST_F(DistributedDeviceProfileClientKvTest, DpinitedCallback001, TestSize.Level1)
556 {
557     std::shared_ptr<DpInitedCallbackStub> DpinitedCallbackStub_ = std::make_shared<MockDpInitedCallbackStub>();
558     MessageParcel data;
559     MessageParcel reply;
560     DpInitedCallbackProxy proxy(nullptr);
561     proxy.OnDpInited();
562     int32_t ret = DpinitedCallbackStub_->OnDpInitedInner(data, reply);
563     EXPECT_EQ(DP_SUCCESS, ret);
564 }
565 
566 /**
567  * @tc.name: OnRemoteRequest_001
568  * @tc.desc: succeed
569  * @tc.type: FUNC
570  * @tc.require:
571  */
572 HWTEST_F(DistributedDeviceProfileClientKvTest, OnRemoteRequest_001, TestSize.Level0)
573 {
574     std::shared_ptr<DpInitedCallbackStub> DpinitedCallbackStub_ = std::make_shared<MockDpInitedCallbackStub>();
575     uint32_t code = static_cast<uint32_t>(DPInterfaceCode::ON_DEVICE_PROFILE_INITED);
576     MessageParcel data;
577     MessageParcel reply;
578     MessageOption option;
579     int32_t ret = DpinitedCallbackStub_->OnRemoteRequest(code, data, reply, option);
580     EXPECT_EQ(DP_INTERFACE_CHECK_FAILED, ret);
581 }
582 
583 /**
584  * @tc.name: PutAllTrustedDevices_001
585  * @tc.desc: succeed
586  * @tc.type: FUNC
587  * @tc.require:
588  */
589 HWTEST_F(DistributedDeviceProfileClientKvTest, PutAllTrustedDevices_001, TestSize.Level0)
590 {
591     std::vector<TrustedDeviceInfo> deviceInfos;
592     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutAllTrustedDevices(deviceInfos);
593     EXPECT_EQ(errCode, DP_INVALID_PARAMS);
594 }
595 
596 /**
597  * @tc.name: PutAllTrustedDevices_002
598  * @tc.desc: succeed
599  * @tc.type: FUNC
600  * @tc.require:
601  */
602 HWTEST_F(DistributedDeviceProfileClientKvTest, PutAllTrustedDevices_002, TestSize.Level0)
603 {
604     TrustedDeviceInfo deviceInfo;
605     std::vector<TrustedDeviceInfo> deviceInfos { deviceInfo };
606     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutAllTrustedDevices(deviceInfos);
607     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
608 }
609 
610 /**
611  * @tc.name: PutDeviceProfileBatch_001
612  * @tc.desc: succeed
613  * @tc.type: FUNC
614  * @tc.require:
615  */
616 HWTEST_F(DistributedDeviceProfileClientKvTest, PutDeviceProfileBatch_001, TestSize.Level0)
617 {
618     std::vector<DeviceProfile> deviceProfiles;
619     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutDeviceProfileBatch(deviceProfiles);
620     EXPECT_EQ(errCode, DP_WRITE_PARCEL_FAIL);
621 }
622 
623 /**
624  * @tc.name: GetDeviceProfiles_001
625  * @tc.desc: succeed
626  * @tc.type: FUNC
627  * @tc.require:
628  */
629 HWTEST_F(DistributedDeviceProfileClientKvTest, GetDeviceProfiles_001, TestSize.Level0)
630 {
631     std::vector<DeviceProfile> deviceProfiles;
632     DeviceProfileFilterOptions options;
633     int32_t errCode = DistributedDeviceProfileClient::GetInstance().GetDeviceProfiles(options, deviceProfiles);
634     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
635 }
636 
637 /**
638  * @tc.name: DeleteDeviceProfileBatch_001
639  * @tc.desc: succeed
640  * @tc.type: FUNC
641  * @tc.require:
642  */
643 HWTEST_F(DistributedDeviceProfileClientKvTest, DeleteDeviceProfileBatch_001, TestSize.Level0)
644 {
645     std::vector<DeviceProfile> deviceProfiles;
646     int32_t errCode = DistributedDeviceProfileClient::GetInstance().DeleteDeviceProfileBatch(deviceProfiles);
647     EXPECT_EQ(errCode, DP_WRITE_PARCEL_FAIL);
648 }
649 
650 /**
651  * @tc.name: PutDeviceIconInfoBatch_001
652  * @tc.desc: succeed
653  * @tc.type: FUNC
654  * @tc.require:
655  */
656 HWTEST_F(DistributedDeviceProfileClientKvTest, PutDeviceIconInfoBatch_001, TestSize.Level0)
657 {
658     std::vector<DeviceIconInfo> deviceIconInfos;
659     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutDeviceIconInfoBatch(deviceIconInfos);
660     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
661 }
662 
663 /**
664  * @tc.name: GetDeviceIconInfos_001
665  * @tc.desc: succeed
666  * @tc.type: FUNC
667  * @tc.require:
668  */
669 HWTEST_F(DistributedDeviceProfileClientKvTest, GetDeviceIconInfos_001, TestSize.Level0)
670 {
671     DeviceIconInfoFilterOptions filterOptions;
672     std::vector<DeviceIconInfo> deviceIconInfos;
673     int32_t errCode = DistributedDeviceProfileClient::GetInstance().GetDeviceIconInfos(filterOptions, deviceIconInfos);
674     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
675 }
676 
677 /**
678  * @tc.name: SubscribePinCodeInvalid_001
679  * @tc.desc: succeed
680  * @tc.type: FUNC
681  * @tc.require:
682  */
683 HWTEST_F(DistributedDeviceProfileClientKvTest, SubscribePinCodeInvalid_001, TestSize.Level0)
684 {
685     std::string bundleName = "";
686     int32_t pinExchangeType = 5;
687     sptr<IPincodeInvalidCallback> pinCodeCallback;
688     int32_t errCode = DistributedDeviceProfileClient::GetInstance().SubscribePinCodeInvalid(bundleName,
689         pinExchangeType, pinCodeCallback);
690     EXPECT_EQ(errCode, DP_INVALID_PARAM);
691 }
692 
693 /**
694  * @tc.name: UnSubscribePinCodeInvalid_001
695  * @tc.desc: succeed
696  * @tc.type: FUNC
697  * @tc.require:
698  */
699 HWTEST_F(DistributedDeviceProfileClientKvTest, UnSubscribePinCodeInvalid_001, TestSize.Level0)
700 {
701     std::string bundleName = "";
702     int32_t pinExchangeType = 5;
703     int32_t errCode = DistributedDeviceProfileClient::GetInstance().UnSubscribePinCodeInvalid(bundleName,
704         pinExchangeType);
705     EXPECT_EQ(errCode, DP_SUCCESS);
706 }
707 
708 /**
709  * @tc.name: PutServiceInfoProfile_001
710  * @tc.desc: succeed
711  * @tc.type: FUNC
712  * @tc.require:
713  */
714 HWTEST_F(DistributedDeviceProfileClientKvTest, PutServiceInfoProfile_001, TestSize.Level0)
715 {
716     ServiceInfoProfile serviceInfoProfile;
717     int32_t errCode = DistributedDeviceProfileClient::GetInstance().PutServiceInfoProfile(serviceInfoProfile);
718     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
719 }
720 
721 /**
722  * @tc.name: DeleteServiceInfoProfile_001
723  * @tc.desc: succeed
724  * @tc.type: FUNC
725  * @tc.require:
726  */
727 HWTEST_F(DistributedDeviceProfileClientKvTest, DeleteServiceInfoProfile_001, TestSize.Level0)
728 {
729     ServiceInfoUniqueKey key;
730     int32_t errCode = DistributedDeviceProfileClient::GetInstance().DeleteServiceInfoProfile(key);
731     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
732 }
733 
734 /**
735  * @tc.name: UpdateServiceInfoProfile_001
736  * @tc.desc: succeed
737  * @tc.type: FUNC
738  * @tc.require:
739  */
740 HWTEST_F(DistributedDeviceProfileClientKvTest, UpdateServiceInfoProfile_001, TestSize.Level0)
741 {
742     ServiceInfoProfile serviceInfoProfile;
743     int32_t errCode = DistributedDeviceProfileClient::GetInstance().UpdateServiceInfoProfile(serviceInfoProfile);
744     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
745 }
746 
747 
748 /**
749  * @tc.name: GetServiceInfoProfileByUniqueKey_001
750  * @tc.desc: succeed
751  * @tc.type: FUNC
752  * @tc.require:
753  */
754 HWTEST_F(DistributedDeviceProfileClientKvTest, GetServiceInfoProfileByUniqueKey_001, TestSize.Level0)
755 {
756     ServiceInfoUniqueKey key;
757     ServiceInfoProfile serviceInfoProfile;
758     int32_t errCode = DistributedDeviceProfileClient::GetInstance().GetServiceInfoProfileByUniqueKey(key,
759         serviceInfoProfile);
760     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
761 }
762 
763 /**
764  * @tc.name: GetServiceInfoProfileListByTokenId_001
765  * @tc.desc: succeed
766  * @tc.type: FUNC
767  * @tc.require:
768  */
769 HWTEST_F(DistributedDeviceProfileClientKvTest, GetServiceInfoProfileListByTokenId_001, TestSize.Level0)
770 {
771     ServiceInfoUniqueKey key;
772     std::vector<ServiceInfoProfile> serviceInfoProfiles;
773     int32_t errCode =
774         DistributedDeviceProfileClient::GetInstance().GetServiceInfoProfileListByTokenId(key, serviceInfoProfiles);
775     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
776 }
777 
778 /**
779  * @tc.name: GetAllServiceInfoProfileList_001
780  * @tc.desc: succeed
781  * @tc.type: FUNC
782  * @tc.require:
783  */
784 HWTEST_F(DistributedDeviceProfileClientKvTest, GetAllServiceInfoProfileList_001, TestSize.Level0)
785 {
786     std::vector<ServiceInfoProfile> serviceInfoProfiles;
787     int32_t errCode = DistributedDeviceProfileClient::GetInstance().GetAllServiceInfoProfileList(serviceInfoProfiles);
788     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
789 }
790 
791 /**
792  * @tc.name: GetServiceInfoProfileListByBundleName_001
793  * @tc.desc: succeed
794  * @tc.type: FUNC
795  * @tc.require:
796  */
797 HWTEST_F(DistributedDeviceProfileClientKvTest, GetServiceInfoProfileListByBundleName_001, TestSize.Level0)
798 {
799     ServiceInfoUniqueKey key;
800     std::vector<ServiceInfoProfile> serviceInfoProfiles;
801     int32_t errCode =
802         DistributedDeviceProfileClient::GetInstance().GetServiceInfoProfileListByBundleName(key, serviceInfoProfiles);
803     EXPECT_EQ(errCode, DP_PERMISSION_DENIED);
804 }
805 } // namespace DistributedDeviceProfile
806 } // namespace OHOS
807