• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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 #include <gtest/gtest.h>
16 #include <thread>
17 
18 #include "external_deps_proxy.h"
19 
20 namespace OHOS {
21 namespace NFC {
22 namespace TEST {
23 using namespace testing::ext;
24 using namespace OHOS::NFC;
25 std::string g_errLog;
MyLogCallback(const LogType type,const LogLevel level,const unsigned int domain,const char * tag,const char * msg)26 void MyLogCallback(
27     const LogType type, const LogLevel level, const unsigned int domain, const char *tag, const char *msg)
28 {
29     g_errLog = msg;
30 }
31 
32 class ExternalDepsProxyTest : public testing::Test {
33 public:
34     static void SetUpTestCase();
35     static void TearDownTestCase();
36     void SetUp();
37     void TearDown();
38 };
39 
SetUpTestCase()40 void ExternalDepsProxyTest::SetUpTestCase()
41 {
42     std::cout << " SetUpTestCase ExternalDepsProxyTest." << std::endl;
43 }
44 
TearDownTestCase()45 void ExternalDepsProxyTest::TearDownTestCase()
46 {
47     std::cout << " TearDownTestCase ExternalDepsProxyTest." << std::endl;
48 }
49 
SetUp()50 void ExternalDepsProxyTest::SetUp()
51 {
52     std::cout << " SetUp ExternalDepsProxyTest." << std::endl;
53 }
54 
TearDown()55 void ExternalDepsProxyTest::TearDown()
56 {
57     std::cout << " TearDown ExternalDepsProxyTest." << std::endl;
58 }
59 
60 /**
61  * @tc.name: HandleAppAddOrChangedEvent001
62  * @tc.desc: Test ExternalDepsProxyTest HandleAppAddOrChangedEvent.
63  * @tc.type: FUNC
64  */
65 HWTEST_F(ExternalDepsProxyTest, HandleAppAddOrChangedEvent001, TestSize.Level1)
66 {
67     std::shared_ptr<EventFwk::CommonEventData> data = nullptr;
68     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
69     externalDepsProxy->HandleAppAddOrChangedEvent(data);
70     std::vector<int> discTechList;
71     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
72     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
73 }
74 
75 /**
76  * @tc.name: GetDispatchTagAppsByTech001
77  * @tc.desc: Test ExternalDepsProxyTest GetDispatchTagAppsByTech.
78  * @tc.type: FUNC
79  */
80 HWTEST_F(ExternalDepsProxyTest, GetDispatchTagAppsByTech001, TestSize.Level1)
81 {
82     std::vector<int> discTechList;
83     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
84     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
85     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
86 }
87 #ifdef VENDOR_APPLICATIONS_ENABLED
88 /**
89  * @tc.name: GetVendorDispatchTagAppsByTech001
90  * @tc.desc: Test ExternalDepsProxyTest GetVendorDispatchTagAppsByTech.
91  * @tc.type: FUNC
92  */
93 HWTEST_F(ExternalDepsProxyTest, GetVendorDispatchTagAppsByTech001, TestSize.Level1)
94 {
95     std::vector<int> discTechList;
96     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
97     std::vector<ElementName> getVendorDispatchTagAppsByTech =
98         externalDepsProxy->GetVendorDispatchTagAppsByTech(discTechList);
99     ASSERT_TRUE(getVendorDispatchTagAppsByTech.size() == 0);
100 }
101 
102 /**
103  * @tc.name: RegQueryApplicationCb001
104  * @tc.desc: Test ExternalDepsProxyTest RegQueryApplicationCb.
105  * @tc.type: FUNC
106  */
107 HWTEST_F(ExternalDepsProxyTest, RegQueryApplicationCb001, TestSize.Level1)
108 {
109     sptr<IQueryAppInfoCallback> callback = nullptr;
110     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
111     externalDepsProxy->RegQueryApplicationCb(callback);
112     std::vector<int> discTechList;
113     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
114     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
115 }
116 
117 /**
118  * @tc.name: RegCardEmulationNotifyCb001
119  * @tc.desc: Test ExternalDepsProxyTest RegCardEmulationNotifyCb.
120  * @tc.type: FUNC
121  */
122 HWTEST_F(ExternalDepsProxyTest, RegCardEmulationNotifyCb001, TestSize.Level1)
123 {
124     sptr<IOnCardEmulationNotifyCb> callback = nullptr;
125     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
126     externalDepsProxy->RegCardEmulationNotifyCb(callback);
127     std::vector<int> discTechList;
128     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
129     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
130 }
131 
132 /**
133  * @tc.name: GetNotifyCardEmulationCallback001
134  * @tc.desc: Test ExternalDepsProxyTest GetNotifyCardEmulationCallback.
135  * @tc.type: FUNC
136  */
137 HWTEST_F(ExternalDepsProxyTest, GetNotifyCardEmulationCallback001, TestSize.Level1)
138 {
139     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
140     externalDepsProxy->GetNotifyCardEmulationCallback();
141     std::vector<int> discTechList;
142     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
143     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
144 }
145 #endif
146 /**
147  * @tc.name: NfcDataGetValue001
148  * @tc.desc: Test ExternalDepsProxyTest NfcDataGetValue.
149  * @tc.type: FUNC
150  */
151 HWTEST_F(ExternalDepsProxyTest, NfcDataGetValue001, TestSize.Level1)
152 {
153     Uri nfcEnableUri(KITS::NFC_DATA_URI);
154     std::string column = "";
155     int32_t value = 0;
156     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
157     KITS::ErrorCode errorCode = externalDepsProxy->NfcDataGetValue(nfcEnableUri, column, value);
158     ASSERT_TRUE(errorCode == KITS::ERR_NFC_DATABASE_RW);
159 }
160 
161 /**
162  * @tc.name: NfcDataSetValue001
163  * @tc.desc: Test ExternalDepsProxyTest NfcDataSetValue.
164  * @tc.type: FUNC
165  */
166 HWTEST_F(ExternalDepsProxyTest, NfcDataSetValue001, TestSize.Level1)
167 {
168     Uri nfcEnableUri(KITS::NFC_DATA_URI);
169     std::string column = "";
170     int32_t value = 0;
171     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
172     KITS::ErrorCode errorCode = externalDepsProxy->NfcDataSetValue(nfcEnableUri, column, value);
173     ASSERT_TRUE(errorCode == KITS::ERR_NONE);
174 }
175 
176 /**
177  * @tc.name: NfcDataSetString001
178  * @tc.desc: Test ExternalDepsProxyTest NfcDataSetString.
179  * @tc.type: FUNC
180  */
181 HWTEST_F(ExternalDepsProxyTest, NfcDataSetString001, TestSize.Level1)
182 {
183     std::string key = "";
184     std::string value = "";
185     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
186     externalDepsProxy->NfcDataSetString(key, value);
187     std::vector<int> discTechList;
188     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
189     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
190 }
191 
192 /**
193  * @tc.name: NfcDataGetString001
194  * @tc.desc: Test ExternalDepsProxyTest NfcDataGetString.
195  * @tc.type: FUNC
196  */
197 HWTEST_F(ExternalDepsProxyTest, NfcDataGetString001, TestSize.Level1)
198 {
199     std::string key = "";
200     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
201     externalDepsProxy->NfcDataGetString(key);
202     std::vector<int> discTechList;
203     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
204     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
205 }
206 
207 /**
208  * @tc.name: PublishNfcStateChanged001
209  * @tc.desc: Test ExternalDepsProxyTest PublishNfcStateChanged.
210  * @tc.type: FUNC
211  */
212 HWTEST_F(ExternalDepsProxyTest, PublishNfcStateChanged001, TestSize.Level1)
213 {
214     int newState = 0;
215     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
216     externalDepsProxy->PublishNfcStateChanged(newState);
217     std::vector<int> discTechList;
218     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
219     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
220 }
221 
222 /**
223  * @tc.name: WriteOpenAndCloseHiSysEvent001
224  * @tc.desc: Test ExternalDepsProxyTest WriteOpenAndCloseHiSysEvent.
225  * @tc.type: FUNC
226  */
227 HWTEST_F(ExternalDepsProxyTest, WriteOpenAndCloseHiSysEvent001, TestSize.Level1)
228 {
229     int openRequestCnt = 0;
230     int openFailCnt = 0;
231     int closeRequestCnt = 0;
232     int closeFailCnt = 0;
233     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
234     externalDepsProxy->WriteOpenAndCloseHiSysEvent(openRequestCnt, openFailCnt, closeRequestCnt, closeFailCnt);
235     std::vector<int> discTechList;
236     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
237     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
238 }
239 
240 /**
241  * @tc.name: WriteHceSwipeResultHiSysEvent001
242  * @tc.desc: Test ExternalDepsProxyTest WriteHceSwipeResultHiSysEvent.
243  * @tc.type: FUNC
244  */
245 HWTEST_F(ExternalDepsProxyTest, WriteHceSwipeResultHiSysEvent001, TestSize.Level1)
246 {
247     std::string appPackageName = "";
248     int hceSwipeCnt = 0;
249     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
250     externalDepsProxy->WriteHceSwipeResultHiSysEvent(appPackageName, hceSwipeCnt);
251     std::vector<int> discTechList;
252     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
253     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
254 }
255 
256 /**
257  * @tc.name: WriteDefaultPaymentAppChangeHiSysEvent001
258  * @tc.desc: Test ExternalDepsProxyTest WriteDefaultPaymentAppChangeHiSysEvent.
259  * @tc.type: FUNC
260  */
261 HWTEST_F(ExternalDepsProxyTest, WriteDefaultPaymentAppChangeHiSysEvent001, TestSize.Level1)
262 {
263     std::string oldAppPackageName = "";
264     std::string newAppPackageName = "";
265     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
266     externalDepsProxy->WriteDefaultPaymentAppChangeHiSysEvent(oldAppPackageName, newAppPackageName);
267     std::vector<int> discTechList;
268     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
269     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
270 }
271 
272 /**
273  * @tc.name: WriteTagFoundHiSysEvent001
274  * @tc.desc: Test ExternalDepsProxyTest WriteTagFoundHiSysEvent.
275  * @tc.type: FUNC
276  */
277 HWTEST_F(ExternalDepsProxyTest, WriteTagFoundHiSysEvent001, TestSize.Level1)
278 {
279     std::vector<int> techList;
280     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
281     externalDepsProxy->WriteTagFoundHiSysEvent(techList);
282     techList = {1, 2};
283     externalDepsProxy->WriteTagFoundHiSysEvent(techList);
284     std::vector<int> discTechList;
285     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
286     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
287 }
288 
289 /**
290  * @tc.name: WritePassiveListenHiSysEvent001
291  * @tc.desc: Test ExternalDepsProxyTest WritePassiveListenHiSysEvent.
292  * @tc.type: FUNC
293  */
294 HWTEST_F(ExternalDepsProxyTest, WritePassiveListenHiSysEvent001, TestSize.Level1)
295 {
296     int requestCnt = 0;
297     int failCnt = 0;
298     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
299     externalDepsProxy->WritePassiveListenHiSysEvent(requestCnt, failCnt);
300     std::vector<int> discTechList;
301     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
302     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
303 }
304 
305 /**
306  * @tc.name: WriteFirmwareUpdateHiSysEvent001
307  * @tc.desc: Test ExternalDepsProxyTest WriteFirmwareUpdateHiSysEvent.
308  * @tc.type: FUNC
309  */
310 HWTEST_F(ExternalDepsProxyTest, WriteFirmwareUpdateHiSysEvent001, TestSize.Level1)
311 {
312     int requestCnt = 0;
313     int failCnt = 0;
314     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
315     externalDepsProxy->WriteFirmwareUpdateHiSysEvent(requestCnt, failCnt);
316     std::vector<int> discTechList;
317     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
318     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
319 }
320 
321 /**
322  * @tc.name: BuildFailedParams001
323  * @tc.desc: Test ExternalDepsProxyTest BuildFailedParams.
324  * @tc.type: FUNC
325  */
326 HWTEST_F(ExternalDepsProxyTest, BuildFailedParams001, TestSize.Level1)
327 {
328     NfcFailedParams nfcFailedParams;
329     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
330     externalDepsProxy->BuildFailedParams(nfcFailedParams, MainErrorCode::INIT_SA_FAILED,
331         SubErrorCode::DEFAULT_ERR_DEF);
332     std::vector<int> discTechList;
333     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
334     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
335 }
336 
337 /**
338  * @tc.name: IsGranted001
339  * @tc.desc: Test ExternalDepsProxyTest IsGranted.
340  * @tc.type: FUNC
341  */
342 HWTEST_F(ExternalDepsProxyTest, IsGranted001, TestSize.Level1)
343 {
344     std::string permission = "";
345     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
346     bool isGranted = externalDepsProxy->IsGranted(permission);
347     ASSERT_TRUE(isGranted);
348 }
349 
350 /**
351  * @tc.name: DispatchTagAbility001
352  * @tc.desc: Test ExternalDepsProxyTest DispatchTagAbility.
353  * @tc.type: FUNC
354  */
355 HWTEST_F(ExternalDepsProxyTest, DispatchTagAbility001, TestSize.Level1)
356 {
357     std::shared_ptr<KITS::TagInfo> tagInfo = nullptr;
358     OHOS::sptr<IRemoteObject> tagServiceIface = nullptr;
359     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
360     externalDepsProxy->DispatchTagAbility(tagInfo, tagServiceIface);
361     std::vector<int> discTechList;
362     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
363     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
364 }
365 
366 /**
367  * @tc.name: StartVibratorOnce001
368  * @tc.desc: Test ExternalDepsProxyTest StartVibratorOnce.
369  * @tc.type: FUNC
370  */
371 HWTEST_F(ExternalDepsProxyTest, StartVibratorOnce001, TestSize.Level1)
372 {
373     LOG_SetCallback(MyLogCallback);
374     ExternalDepsProxy::GetInstance().StartVibratorOnce(true);
375     ASSERT_TRUE(g_errLog.find("vibrator") == std::string::npos);
376 }
377 
378 /**
379  * @tc.name: StartVibratorOnce002
380  * @tc.desc: Test ExternalDepsProxyTest StartVibratorOnce.
381  * @tc.type: FUNC
382  */
383 HWTEST_F(ExternalDepsProxyTest, StartVibratorOnce002, TestSize.Level1)
384 {
385     LOG_SetCallback(MyLogCallback);
386     ExternalDepsProxy::GetInstance().StartVibratorOnce(false);
387     ASSERT_TRUE(g_errLog.find("vibrator") == std::string::npos);
388 }
389 
390 /**
391  * @tc.name: GetPaymentAbilityInfos001
392  * @tc.desc: Test ExternalDepsProxyTest GetPaymentAbilityInfos.
393  * @tc.type: FUNC
394  */
395 HWTEST_F(ExternalDepsProxyTest, GetPaymentAbilityInfos001, TestSize.Level1)
396 {
397     std::vector<AbilityInfo> paymentAbilityInfos;
398     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
399     externalDepsProxy->GetPaymentAbilityInfos(paymentAbilityInfos);
400     std::vector<int> discTechList;
401     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
402     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
403 }
404 
405 /**
406  * @tc.name: GetHceAppsByAid001
407  * @tc.desc: Test ExternalDepsProxyTest GetHceAppsByAid.
408  * @tc.type: FUNC
409  */
410 HWTEST_F(ExternalDepsProxyTest, GetHceAppsByAid001, TestSize.Level1)
411 {
412     std::string aid = "";
413     std::vector<AppDataParser::HceAppAidInfo> hceApps;
414     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
415     externalDepsProxy->GetHceAppsByAid(aid, hceApps);
416     std::vector<int> discTechList;
417     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
418     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
419 }
420 
421 /**
422  * @tc.name: GetHceApps001
423  * @tc.desc: Test ExternalDepsProxyTest GetHceApps.
424  * @tc.type: FUNC
425  */
426 HWTEST_F(ExternalDepsProxyTest, GetHceApps001, TestSize.Level1)
427 {
428     std::vector<AppDataParser::HceAppAidInfo> hceApps;
429     std::shared_ptr<ExternalDepsProxy> externalDepsProxy = std::make_shared<ExternalDepsProxy>();
430     externalDepsProxy->GetHceApps(hceApps);
431     std::vector<int> discTechList;
432     std::vector<ElementName> getDispatchTagAppsByTech = externalDepsProxy->GetDispatchTagAppsByTech(discTechList);
433     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
434 }
435 
436 /**
437  * @tc.name: PublishNtf001
438  * @tc.desc: Test Publish Notification.
439  * @tc.type: FUNC
440  */
441 HWTEST_F(ExternalDepsProxyTest, PublishNtf001, TestSize.Level1)
442 {
443     std::string cardName = "";
444     int balance = 0;
445     ExternalDepsProxy::GetInstance().PublishNfcNotification(TAG::NFC_TAG_DEFAULT_NOTIFICATION_ID, cardName, balance);
446     std::vector<int> discTechList;
447     std::vector<ElementName> getDispatchTagAppsByTech =
448         ExternalDepsProxy::GetInstance().GetDispatchTagAppsByTech(discTechList);
449     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
450 }
451 
452 /**
453  * @tc.name: PublishNtf002
454  * @tc.desc: Test Publish Notification.
455  * @tc.type: FUNC
456  */
457 HWTEST_F(ExternalDepsProxyTest, PublishNtf002, TestSize.Level1)
458 {
459     std::string cardName = "";
460     int balance = 0;
461     int invalidNotificationId = 0;
462     ExternalDepsProxy::GetInstance().PublishNfcNotification(invalidNotificationId, cardName, balance);
463     std::vector<int> discTechList;
464     std::vector<ElementName> getDispatchTagAppsByTech =
465         ExternalDepsProxy::GetInstance().GetDispatchTagAppsByTech(discTechList);
466     ASSERT_TRUE(getDispatchTagAppsByTech.size() == 0);
467 }
468 }
469 }
470 }