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