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 }