• 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 
16 #include "widget_client.h"
17 
18 #include <future>
19 #include "iam_callback_proxy.h"
20 #include "auth_common.h"
21 #include "iam_check.h"
22 #include "iam_ptr.h"
23 #include "widget_json.h"
24 #include "iwidget_callback.h"
25 
26 #include "mock_authentication.h"
27 #include "mock_context.h"
28 #include "mock_resource_node.h"
29 #include "mock_schedule_node.h"
30 #include "mock_widget_schedule_node.h"
31 #include "mock_widget_callback_interface.h"
32 #include "schedule_node_impl.h"
33 #include "widget_schedule_node.h"
34 #include "widget_callback_proxy.h"
35 
36 using namespace testing;
37 using namespace testing::ext;
38 namespace OHOS {
39 namespace UserIam {
40 namespace UserAuth {
41 
42 class WidgetClientTest : public testing::Test {
43 public:
44     static void SetUpTestCase();
45 
46     static void TearDownTestCase();
47 
48     void SetUp() override;
49 
50     void TearDown() override;
51 
52     std::shared_ptr<WidgetScheduleNode> BuildSchedule();
53 };
54 
SetUpTestCase()55 void WidgetClientTest::SetUpTestCase()
56 {
57 }
58 
TearDownTestCase()59 void WidgetClientTest::TearDownTestCase()
60 {
61 }
62 
SetUp()63 void WidgetClientTest::SetUp()
64 {
65 }
66 
TearDown()67 void WidgetClientTest::TearDown()
68 {
69 }
70 
BuildSchedule()71 std::shared_ptr<WidgetScheduleNode> WidgetClientTest::BuildSchedule()
72 {
73     auto schedule = Common::MakeShared<MockWidgetScheduleNode>();
74     EXPECT_NE(schedule, nullptr);
75     EXPECT_CALL(*schedule, StartSchedule).WillRepeatedly(Return(true));
76     EXPECT_CALL(*schedule, StopSchedule).WillRepeatedly(Return(true));
77     EXPECT_CALL(*schedule, StartAuthList).WillRepeatedly(Return(true));
78     EXPECT_CALL(*schedule, StopAuthList).WillRepeatedly(Return(true));
79     EXPECT_CALL(*schedule, SuccessAuth).WillRepeatedly(Return(true));
80     EXPECT_CALL(*schedule, NaviPinAuth).WillRepeatedly(Return(true));
81     EXPECT_CALL(*schedule, WidgetReload).WillRepeatedly(Return(true));
82     return schedule;
83 }
84 
85 HWTEST_F(WidgetClientTest, WidgetClientTestSetWidgetSchedule_0001, TestSize.Level0)
86 {
87     auto schedule = BuildSchedule();
88     uint64_t widgetContextId = 1;
89     WidgetClient::Instance().SetWidgetSchedule(widgetContextId, schedule);
90     EXPECT_NE(schedule, nullptr);
91     WidgetClient::Instance().ClearSchedule(widgetContextId);
92 }
93 
94 HWTEST_F(WidgetClientTest, WidgetClientTestSetWidgetSchedule_0002, TestSize.Level0)
95 {
96     std::shared_ptr<WidgetScheduleNode> nullSchedule(nullptr);
97     uint64_t widgetContextId = 1;
98     WidgetClient::Instance().SetWidgetSchedule(widgetContextId, nullSchedule);
99     EXPECT_EQ(nullSchedule, nullptr);
100     WidgetClient::Instance().ClearSchedule(widgetContextId);
101 }
102 
103 HWTEST_F(WidgetClientTest, WidgetClientTestSetWidgetParam, TestSize.Level0)
104 {
105     WidgetParamInner widgetParam;
106     WidgetClient::Instance().SetWidgetParam(widgetParam);
107     EXPECT_EQ(widgetParam.title, "");
108 }
109 
110 HWTEST_F(WidgetClientTest, WidgetClientTestSetWidgetCallback, TestSize.Level0)
111 {
112     sptr<IWidgetCallback> testCallback = nullptr;
113     WidgetClient::Instance().SetWidgetCallback(testCallback);
114     EXPECT_EQ(testCallback, nullptr);
115 }
116 
117 HWTEST_F(WidgetClientTest, WidgetClientTestSetAuthTokenId, TestSize.Level0)
118 {
119     uint32_t tokenId = 1;
120     WidgetClient::Instance().SetAuthTokenId(tokenId);
121     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), tokenId);
122 }
123 
124 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0001, TestSize.Level0)
125 {
126     std::string eventData = "";
127     WidgetClient::Instance().Reset();
128     EXPECT_EQ(WidgetClient::Instance().OnNotice((NoticeType)0, eventData), ResultCode::INVALID_PARAMETERS);
129 }
130 
131 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0002, TestSize.Level0)
132 {
133     std::string eventData = "";
134     WidgetClient::Instance().Reset();
135     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::INVALID_PARAMETERS);
136 }
137 
138 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0003, TestSize.Level0)
139 {
140     std::string eventData = "invalid_json_string";
141     WidgetClient::Instance().Reset();
142     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::INVALID_PARAMETERS);
143 }
144 
145 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0004, TestSize.Level0)
146 {
147     WidgetNotice widgetNotice;
148     nlohmann::json root = widgetNotice;
149     std::string eventData = root.dump();
150     WidgetClient::Instance().Reset();
151     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::INVALID_PARAMETERS);
152 }
153 
154 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0005, TestSize.Level0)
155 {
156     WidgetNotice widgetNotice;
157     widgetNotice.widgetContextId = 1;
158     widgetNotice.event = "INVALID_EVENT_AUTH_TYPE";
159     nlohmann::json root = widgetNotice;
160     std::string eventData = root.dump();
161     WidgetClient::Instance().Reset();
162     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::INVALID_PARAMETERS);
163 }
164 
165 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0006, TestSize.Level0)
166 {
167     WidgetNotice widgetNotice;
168     widgetNotice.widgetContextId = 1;
169     widgetNotice.event = NOTICE_EVENT_AUTH_READY;
170     nlohmann::json root = widgetNotice;
171     std::string eventData = root.dump();
172     WidgetClient::Instance().Reset();
173     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::GENERAL_ERROR);
174 }
175 
176 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0007, TestSize.Level0)
177 {
178     WidgetNotice widgetNotice;
179     widgetNotice.widgetContextId = 1;
180     widgetNotice.event = NOTICE_EVENT_AUTH_READY;
181     nlohmann::json root = widgetNotice;
182     std::string eventData = root.dump();
183     WidgetClient::Instance().Reset();
184     std::vector<AuthType> authTypeList;
185     WidgetClient::Instance().SetAuthTypeList(authTypeList);
186     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
187     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::INVALID_PARAMETERS);
188     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
189 }
190 
191 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0008, TestSize.Level0)
192 {
193     WidgetNotice widgetNotice;
194     widgetNotice.widgetContextId = 1;
195     widgetNotice.event = NOTICE_EVENT_AUTH_READY;
196     nlohmann::json root = widgetNotice;
197     std::string eventData = root.dump();
198     WidgetClient::Instance().Reset();
199     std::vector<AuthType> authTypeList;
200     authTypeList.emplace_back(AuthType::PIN);
201     WidgetClient::Instance().SetAuthTypeList(authTypeList);
202     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
203     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::INVALID_PARAMETERS);
204     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
205 }
206 
207 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0009, TestSize.Level0)
208 {
209     WidgetNotice widgetNotice;
210     widgetNotice.widgetContextId = 1;
211     widgetNotice.event = NOTICE_EVENT_AUTH_READY;
212     widgetNotice.typeList.push_back("all");
213     nlohmann::json root = widgetNotice;
214     std::string eventData = root.dump();
215     WidgetClient::Instance().Reset();
216     std::vector<AuthType> authTypeList;
217     authTypeList.emplace_back(AuthType::PIN);
218     WidgetClient::Instance().SetAuthTypeList(authTypeList);
219     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
220     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::INVALID_PARAMETERS);
221     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
222 }
223 
224 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0010, TestSize.Level0)
225 {
226     WidgetNotice widgetNotice;
227     widgetNotice.widgetContextId = 1;
228     widgetNotice.event = NOTICE_EVENT_AUTH_READY;
229     widgetNotice.typeList.push_back("pin");
230     nlohmann::json root = widgetNotice;
231     std::string eventData = root.dump();
232     WidgetClient::Instance().Reset();
233     std::vector<AuthType> authTypeList;
234     authTypeList.emplace_back(AuthType::FACE);
235     WidgetClient::Instance().SetAuthTypeList(authTypeList);
236     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
237     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::SUCCESS);
238     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
239 }
240 
241 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0011, TestSize.Level0)
242 {
243     WidgetNotice widgetNotice;
244     widgetNotice.widgetContextId = 1;
245     widgetNotice.event = NOTICE_EVENT_AUTH_READY;
246     widgetNotice.typeList.push_back("pin");
247     nlohmann::json root = widgetNotice;
248     std::string eventData = root.dump();
249     WidgetClient::Instance().Reset();
250     std::vector<AuthType> authTypeList;
251     authTypeList.emplace_back(AuthType::PIN);
252     WidgetClient::Instance().SetAuthTypeList(authTypeList);
253     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
254     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::SUCCESS);
255     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
256 }
257 
258 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0012, TestSize.Level0)
259 {
260     WidgetNotice widgetNotice;
261     widgetNotice.widgetContextId = 1;
262     widgetNotice.event = NOTICE_EVENT_CANCEL_AUTH;
263     widgetNotice.typeList.push_back("all");
264     nlohmann::json root = widgetNotice;
265     std::string eventData = root.dump();
266     WidgetClient::Instance().Reset();
267     std::vector<AuthType> authTypeList;
268     authTypeList.emplace_back(AuthType::PIN);
269     WidgetClient::Instance().SetAuthTypeList(authTypeList);
270     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
271     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::SUCCESS);
272     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
273 }
274 
275 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0013, TestSize.Level0)
276 {
277     WidgetNotice widgetNotice;
278     widgetNotice.widgetContextId = 1;
279     widgetNotice.event = NOTICE_EVENT_CANCEL_AUTH;
280     widgetNotice.typeList.push_back("pin");
281     nlohmann::json root = widgetNotice;
282     std::string eventData = root.dump();
283     WidgetClient::Instance().Reset();
284     std::vector<AuthType> authTypeList;
285     authTypeList.emplace_back(AuthType::PIN);
286     authTypeList.emplace_back(AuthType::FACE);
287     WidgetClient::Instance().SetAuthTypeList(authTypeList);
288     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
289     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::SUCCESS);
290     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
291 }
292 
293 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0014, TestSize.Level0)
294 {
295     WidgetNotice widgetNotice;
296     widgetNotice.widgetContextId = 1;
297     widgetNotice.event = NOTICE_EVENT_CANCEL_AUTH;
298     widgetNotice.typeList.push_back("pin");
299     widgetNotice.typeList.push_back("face");
300     nlohmann::json root = widgetNotice;
301     std::string eventData = root.dump();
302     WidgetClient::Instance().Reset();
303     std::vector<AuthType> authTypeList;
304     authTypeList.emplace_back(AuthType::PIN);
305     authTypeList.emplace_back(AuthType::FACE);
306     authTypeList.emplace_back(AuthType::FINGERPRINT);
307     WidgetClient::Instance().SetAuthTypeList(authTypeList);
308     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
309     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::SUCCESS);
310     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
311 }
312 
313 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0015, TestSize.Level0)
314 {
315     WidgetNotice widgetNotice;
316     widgetNotice.widgetContextId = 1;
317     widgetNotice.event = NOTICE_EVENT_CANCEL_AUTH;
318     widgetNotice.typeList.push_back("pin");
319     nlohmann::json root = widgetNotice;
320     std::string eventData = root.dump();
321     WidgetClient::Instance().Reset();
322     std::vector<AuthType> authTypeList;
323     authTypeList.emplace_back(AuthType::PIN);
324     WidgetClient::Instance().SetAuthTypeList(authTypeList);
325     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
326     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::SUCCESS);
327     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
328 }
329 
330 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0016, TestSize.Level0)
331 {
332     WidgetNotice widgetNotice;
333     widgetNotice.widgetContextId = 1;
334     widgetNotice.event = NOTICE_EVENT_USER_NAVIGATION;
335     widgetNotice.typeList.push_back("pin");
336     nlohmann::json root = widgetNotice;
337     std::string eventData = root.dump();
338     WidgetClient::Instance().Reset();
339     std::vector<AuthType> authTypeList;
340     authTypeList.emplace_back(AuthType::PIN);
341     WidgetClient::Instance().SetAuthTypeList(authTypeList);
342     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
343     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::SUCCESS);
344     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
345 }
346 
347 HWTEST_F(WidgetClientTest, WidgetClientTestOnNotice_0017, TestSize.Level0)
348 {
349     WidgetNotice widgetNotice;
350     widgetNotice.widgetContextId = 1;
351     widgetNotice.event = NOTICE_EVENT_CANCEL_AUTH;
352     widgetNotice.typeList.push_back("all");
353     widgetNotice.typeList.push_back("face");
354     nlohmann::json root = widgetNotice;
355     std::string eventData = root.dump();
356     WidgetClient::Instance().Reset();
357     std::vector<AuthType> authTypeList;
358     authTypeList.emplace_back(AuthType::PIN);
359     WidgetClient::Instance().SetAuthTypeList(authTypeList);
360     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
361     EXPECT_EQ(WidgetClient::Instance().OnNotice(NoticeType::WIDGET_NOTICE, eventData), ResultCode::SUCCESS);
362     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
363 }
364 
365 HWTEST_F(WidgetClientTest, WidgetClientTestReportWidgetResult_0001, TestSize.Level0)
366 {
367     WidgetClient::Instance().Reset();
368     WidgetClient::Instance().SetSensorInfo("fake senor info");
369     WidgetClient::Instance().ReportWidgetResult(1, AuthType::FINGERPRINT, 1, 1, false);
370     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), 0);
371 }
372 
373 HWTEST_F(WidgetClientTest, WidgetClientTestReportWidgetResult_0002, TestSize.Level0)
374 {
375     WidgetClient::Instance().Reset();
376     WidgetClient::Instance().ReportWidgetResult(1, AuthType::FINGERPRINT, 1, 1, false);
377     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), 0);
378 }
379 
380 HWTEST_F(WidgetClientTest, WidgetClientTestReportWidgetResult_0003, TestSize.Level0)
381 {
382     WidgetClient::Instance().Reset();
383     WidgetClient::Instance().SetSensorInfo("fake senor info");
384     WidgetClient::Instance().ReportWidgetResult(1, AuthType::PIN, 1, 1, false);
385     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), 0);
386 }
387 
388 HWTEST_F(WidgetClientTest, WidgetClientTestReportWidgetResult_0004, TestSize.Level0)
389 {
390     WidgetClient::Instance().Reset();
391     std::vector<AuthType> authTypeList;
392     authTypeList.emplace_back(AuthType::PIN);
393     WidgetClient::Instance().SetAuthTypeList(authTypeList);
394     WidgetClient::Instance().SetPinSubType(PinSubType::PIN_NUMBER);
395     WidgetClient::Instance().ReportWidgetResult(1, AuthType::PIN, 1, 1, false);
396     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), 0);
397 }
398 
399 HWTEST_F(WidgetClientTest, WidgetClientTestReportWidgetResult_0005, TestSize.Level0)
400 {
401     WidgetClient::Instance().Reset();
402     std::vector<AuthType> authTypeList;
403     authTypeList.emplace_back(AuthType::PIN);
404     WidgetClient::Instance().SetAuthTypeList(authTypeList);
405     WidgetClient::Instance().SetPinSubType(PinSubType::PIN_NUMBER);
406     sptr<MockIWidgetCallback> widgetCallback(new (std::nothrow) MockIWidgetCallback);
407     EXPECT_NE(widgetCallback, nullptr);
408     EXPECT_CALL(*widgetCallback, SendCommand);
409     WidgetClient::Instance().SetWidgetCallback(widgetCallback);
410     WidgetClient::Instance().ReportWidgetResult(1, AuthType::PIN, 1, 1, false);
411     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), 0);
412 }
413 
414 HWTEST_F(WidgetClientTest, WidgetClientTestForceStopAuth_0001, TestSize.Level0)
415 {
416     WidgetClient::Instance().Reset();
417     WidgetClient::Instance().ForceStopAuth();
418     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), 0);
419 }
420 
421 HWTEST_F(WidgetClientTest, WidgetClientTestForceStopAuth_0002, TestSize.Level0)
422 {
423     uint64_t contextId = 6;
424     WidgetClient::Instance().Reset();
425     WidgetClient::Instance().SetWidgetSchedule(contextId, BuildSchedule());
426     WidgetClient::Instance().ForceStopAuth();
427     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), 0);
428 }
429 
430 HWTEST_F(WidgetClientTest, WidgetClientTestSetPinSubType, TestSize.Level0)
431 {
432     WidgetClient::Instance().SetPinSubType(PinSubType::PIN_SIX);
433     WidgetClient::Instance().SetPinSubType(PinSubType::PIN_NUMBER);
434     WidgetClient::Instance().SetPinSubType(PinSubType::PIN_MIXED);
435     WidgetClient::Instance().SetPinSubType(PinSubType::PIN_MAX);
436     WidgetClient::Instance().SetPinSubType((PinSubType)123);
437     EXPECT_EQ(WidgetClient::Instance().GetAuthTokenId(), 0);
438 }
439 
440 HWTEST_F(WidgetClientTest, WidgetClientTestProcessNotice_001, TestSize.Level0)
441 {
442     WidgetNotice widgetNotice;
443     widgetNotice.widgetContextId = 1;
444     widgetNotice.event = NOTICE_EVENT_WIDGET_PARA_INVALID;
445     widgetNotice.typeList.push_back("pin");
446     WidgetClient::Instance().Reset();
447     std::vector<AuthType> authTypeList;
448     authTypeList.emplace_back(AuthType::PIN);
449     WidgetClient::Instance().SetAuthTypeList(authTypeList);
450     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
451     EXPECT_NO_THROW(WidgetClient::Instance().ProcessNotice(widgetNotice, authTypeList));
452     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
453 }
454 
455 HWTEST_F(WidgetClientTest, WidgetClientTestProcessNotice_002, TestSize.Level0)
456 {
457     WidgetNotice widgetNotice;
458     widgetNotice.widgetContextId = 1;
459     widgetNotice.event = NOTICE_EVENT_END;
460     widgetNotice.typeList.push_back("pin");
461     WidgetClient::Instance().Reset();
462     std::vector<AuthType> authTypeList;
463     authTypeList.emplace_back(AuthType::PIN);
464     WidgetClient::Instance().SetAuthTypeList(authTypeList);
465     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
466     EXPECT_NO_THROW(WidgetClient::Instance().ProcessNotice(widgetNotice, authTypeList));
467     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
468 }
469 
470 HWTEST_F(WidgetClientTest, WidgetClientTestProcessNotice_003, TestSize.Level0)
471 {
472     WidgetNotice widgetNotice;
473     widgetNotice.widgetContextId = 1;
474     widgetNotice.event = NOTICE_EVENT_RELOAD;
475     widgetNotice.typeList.push_back("pin");
476     WidgetClient::Instance().Reset();
477     std::vector<AuthType> authTypeList;
478     authTypeList.emplace_back(AuthType::PIN);
479     WidgetClient::Instance().SetAuthTypeList(authTypeList);
480     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
481     EXPECT_NO_THROW(WidgetClient::Instance().ProcessNotice(widgetNotice, authTypeList));
482     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
483 }
484 
485 HWTEST_F(WidgetClientTest, WidgetClientTestProcessNotice_004, TestSize.Level0)
486 {
487     WidgetNotice widgetNotice;
488     widgetNotice.widgetContextId = 1;
489     widgetNotice.event = NOTICE_EVENT_RELOAD;
490     widgetNotice.typeList.push_back("pin");
491     WidgetClient::Instance().Reset();
492     std::vector<AuthType> authTypeList;
493     authTypeList.emplace_back(AuthType::ALL);
494     WidgetClient::Instance().SetAuthTypeList(authTypeList);
495     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
496     EXPECT_NO_THROW(WidgetClient::Instance().ProcessNotice(widgetNotice, authTypeList));
497     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
498 }
499 
500 HWTEST_F(WidgetClientTest, WidgetClientTestProcessNotice_005, TestSize.Level0)
501 {
502     WidgetNotice widgetNotice;
503     widgetNotice.widgetContextId = 1;
504     widgetNotice.event = NOTICE_EVENT_RELOAD;
505     widgetNotice.typeList.push_back("pin");
506     WidgetClient::Instance().Reset();
507     std::vector<AuthType> authTypeList;
508     authTypeList.emplace_back(AuthType::ALL);
509     authTypeList.emplace_back(AuthType::PIN);
510     WidgetClient::Instance().SetAuthTypeList(authTypeList);
511     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
512     EXPECT_NO_THROW(WidgetClient::Instance().ProcessNotice(widgetNotice, authTypeList));
513     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
514 }
515 
516 HWTEST_F(WidgetClientTest, WidgetClientTestProcessNotice_006, TestSize.Level0)
517 {
518     WidgetNotice widgetNotice;
519     widgetNotice.widgetContextId = 1;
520     widgetNotice.event = NOTICE_EVENT_AUTH_WIDGET_LOADED;
521     widgetNotice.typeList.push_back("pin");
522     WidgetClient::Instance().Reset();
523     std::vector<AuthType> authTypeList;
524     authTypeList.emplace_back(AuthType::PIN);
525     WidgetClient::Instance().SetAuthTypeList(authTypeList);
526     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
527     EXPECT_NO_THROW(WidgetClient::Instance().ProcessNotice(widgetNotice, authTypeList));
528     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
529 }
530 
531 HWTEST_F(WidgetClientTest, WidgetClientTestProcessNotice_007, TestSize.Level0)
532 {
533     WidgetNotice widgetNotice;
534     widgetNotice.widgetContextId = 1;
535     widgetNotice.event = NOTICE_EVENT_AUTH_WIDGET_RELEASED;
536     widgetNotice.typeList.push_back("pin");
537     WidgetClient::Instance().Reset();
538     std::vector<AuthType> authTypeList;
539     authTypeList.emplace_back(AuthType::PIN);
540     WidgetClient::Instance().SetAuthTypeList(authTypeList);
541     WidgetClient::Instance().SetWidgetSchedule(widgetNotice.widgetContextId, BuildSchedule());
542     EXPECT_NO_THROW(WidgetClient::Instance().ProcessNotice(widgetNotice, authTypeList));
543     WidgetClient::Instance().ClearSchedule(widgetNotice.widgetContextId);
544 }
545 
546 HWTEST_F(WidgetClientTest, WidgetClientTestSetPinSubType_001, TestSize.Level0)
547 {
548     WidgetClient::Instance().Reset();
549     EXPECT_NO_THROW(WidgetClient::Instance().SetPinSubType(PinSubType::PIN_FOUR));
550 }
551 
552 HWTEST_F(WidgetClientTest, WidgetClientTestSetPinSubType_002, TestSize.Level0)
553 {
554     WidgetClient::Instance().Reset();
555     EXPECT_NO_THROW(WidgetClient::Instance().SetPinSubType(PinSubType::PIN_PATTERN));
556 }
557 } // namespace UserAuth
558 } // namespace UserIam
559 } // namespace OHOS
560