1 /*
2 * Copyright (c) 2021-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 <gtest/gtest.h>
17 #include <map>
18 #include <string>
19 #include <thread>
20
21 #include "appexecfwk_errors.h"
22 #define private public
23 #include "form_db_cache.h"
24 #include "form_data_mgr.h"
25 #undef private
26 #include "form_constants.h"
27 #include "form_mgr_errors.h"
28 #include "form_record.h"
29 #include "form_util.h"
30 #include "fms_log_wrapper.h"
31 #include "ipc_skeleton.h"
32 #include "mock_form_host_client.h"
33 #include "running_form_info.h"
34
35 using namespace testing::ext;
36 using namespace OHOS;
37 using namespace OHOS::AppExecFwk;
38 static const std::string FORM_HOST_BUNDLE_NAME = "com.form.provider.service";
39 static const std::string FORM_PROVIDER_ABILITY_NAME = "com.form.provider.app.test.ability";
40 static const std::string PARAM_PROVIDER_MODULE_NAME = "com.form.provider.app.test.ability";
41 static const std::string FORM_NAME = "formName";
42 const std::string FORM_BUNDLE_NAME = "formBundleName";
43 const int64_t FORM_ID_ONE = 1;
44 const int64_t FORM_ID_ZERO = 0;
45 const int64_t FORM_USER_UIDS_ZERO = 0;
46
47 extern void MockGetBundleNameByUid(ErrCode mockRet);
48 extern void MockGetAllFormInfo(int32_t mockRet);
49
50 namespace {
51 class FmsFormDataMgrTest : public testing::Test {
52 public:
FmsFormDataMgrTest()53 FmsFormDataMgrTest()
54 {}
~FmsFormDataMgrTest()55 ~FmsFormDataMgrTest()
56 {}
57
58 void SetUp();
59 void TearDown();
60 void InitFormItemInfo(int64_t formId, FormItemInfo &form_item_info, bool istemp = true);
61
62 protected:
63 FormDataMgr formDataMgr_;
64 sptr<OHOS::AppExecFwk::MockFormHostClient> token_;
65 };
66
SetUp(void)67 void FmsFormDataMgrTest::SetUp(void)
68 {
69 // token
70 token_ = new (std::nothrow) OHOS::AppExecFwk::MockFormHostClient();
71 }
72
TearDown(void)73 void FmsFormDataMgrTest::TearDown(void)
74 {
75 while (!formDataMgr_.formRecords_.empty()) {
76 formDataMgr_.formRecords_.erase(formDataMgr_.formRecords_.begin());
77 }
78 if (!formDataMgr_.clientRecords_.empty()) {
79 formDataMgr_.clientRecords_.erase(formDataMgr_.clientRecords_.begin(), formDataMgr_.clientRecords_.end());
80 }
81 if (!formDataMgr_.tempForms_.empty()) {
82 formDataMgr_.tempForms_.erase(formDataMgr_.tempForms_.begin(), formDataMgr_.tempForms_.end());
83 }
84 if (!FormDbCache::GetInstance().formDBInfos_.empty()) {
85 FormDbCache::GetInstance().formDBInfos_.clear();
86 }
87 formDataMgr_.udidHash_ = 0;
88 }
89
InitFormItemInfo(int64_t formId,FormItemInfo & form_item_info,bool istemp)90 void FmsFormDataMgrTest::InitFormItemInfo(int64_t formId, FormItemInfo &form_item_info, bool istemp)
91 {
92 // create hapSourceDirs
93 std::vector<std::string> hapSourceDirs;
94 std::string hapSourceDir = "1/2/3";
95 hapSourceDirs.emplace_back(hapSourceDir);
96
97 // create form_item_info
98 form_item_info.SetFormId(formId);
99 form_item_info.SetTemporaryFlag(istemp);
100 form_item_info.SetEnableUpdateFlag(true);
101 form_item_info.SetUpdateDuration(Constants::MIN_CONFIG_DURATION);
102 form_item_info.SetScheduledUpdateTime("10:30");
103 form_item_info.SetHapSourceDirs(hapSourceDirs);
104 }
105
106 /**
107 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_001
108 * @tc.name: AllotFormRecord
109 * @tc.desc: Verify that the return value is correct.
110 * @tc.details:
111 * temporaryFlag is true, and tempForms is empty, then create a tempForm.
112 * formRecords_ is empty, then create formRecords.
113 */
114 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_001, TestSize.Level0)
115 {
116 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_001 start";
117
118 int64_t formId = 1;
119 int callingUid = 0;
120
121 // create FormItemInfo
122 FormItemInfo form_item_info;
123 InitFormItemInfo(formId, form_item_info);
124
125 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
126 EXPECT_EQ(formId, recordResult.formId);
127
128 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_001 end";
129 }
130
131 /**
132 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_002
133 * @tc.name: AllotFormRecord
134 * @tc.desc: Verify that the return value is correct.
135 * @tc.details:
136 * formRecords_ is include this formId.
137 */
138 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_002, TestSize.Level0)
139 {
140 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_002 start";
141
142 int64_t formId = 2;
143 int callingUid = 0;
144
145 // create FormItemInfo
146 FormItemInfo form_item_info;
147 InitFormItemInfo(formId, form_item_info);
148
149 // create formRecords
150 FormRecord record = formDataMgr_.CreateFormRecord(form_item_info, callingUid);
151 formDataMgr_.formRecords_.emplace(formId, record);
152
153 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
154 EXPECT_EQ(formId, recordResult.formId);
155
156 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_002 end";
157 }
158
159 /**
160 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_003
161 * @tc.name: AllotFormRecord
162 * @tc.desc: Verify that the return value is correct.
163 * @tc.details:
164 * formRecords_ is not include this formId, then create formRecords.
165 */
166 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_003, TestSize.Level0)
167 {
168 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_003 start";
169
170 int64_t formId = 3;
171 int64_t otherformId = 100;
172 int callingUid = 0;
173
174 // create FormItemInfo
175 FormItemInfo form_item_info;
176 InitFormItemInfo(formId, form_item_info);
177
178 // create other FormItemInfo
179 FormItemInfo otherFormItemInfo;
180 InitFormItemInfo(otherformId, otherFormItemInfo);
181
182 // create formRecords
183 FormRecord record = formDataMgr_.CreateFormRecord(otherFormItemInfo, callingUid);
184 formDataMgr_.formRecords_.emplace(otherformId, record);
185
186 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
187 EXPECT_EQ(formId, recordResult.formId);
188
189 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_003 end";
190 }
191
192 /**
193 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_004
194 * @tc.name: AllotFormRecord
195 * @tc.desc: Verify that the return value is correct.
196 * @tc.details:
197 * EnableUpdateFlag is true,
198 * SetUpdateDuration is not MAX_CONFIG_DURATION.(call ParseIntervalConfig)
199 */
200 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_004, TestSize.Level0)
201 {
202 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_004 start";
203
204 int64_t formId = 4;
205 int callingUid = 0;
206
207 // create FormItemInfo
208 FormItemInfo form_item_info;
209 InitFormItemInfo(formId, form_item_info);
210 form_item_info.SetUpdateDuration(Constants::MAX_CONFIG_DURATION);
211
212 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
213 EXPECT_EQ(formId, recordResult.formId);
214
215 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_004 end";
216 }
217
218 /**
219 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_005
220 * @tc.name: AllotFormRecord
221 * @tc.desc: Verify that the return value is correct.
222 * @tc.details:
223 * EnableUpdateFlag is true,
224 * SetUpdateDuration is between MIN_CONFIG_DURATION and MAX_CONFIG_DURATION.(call ParseIntervalConfig)
225 */
226 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_005, TestSize.Level0)
227 {
228 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_005 start";
229
230 int64_t formId = 5;
231 int callingUid = 0;
232
233 // create FormItemInfo
234 FormItemInfo form_item_info;
235 InitFormItemInfo(formId, form_item_info);
236 form_item_info.SetUpdateDuration(Constants::MAX_CONFIG_DURATION-2);
237
238 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
239 EXPECT_EQ(formId, recordResult.formId);
240
241 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_005 end";
242 }
243
244 /**
245 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_006
246 * @tc.name: AllotFormRecord
247 * @tc.desc: Verify that the return value is correct.
248 * @tc.details:
249 * SetUpdateDuration is 0.(call ParseAtTimerConfig)
250 * 获取配置项scheduledUpdateTime_为empty
251 */
252 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_006, TestSize.Level0)
253 {
254 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_006 start";
255
256 int64_t formId = 6;
257 int callingUid = 0;
258
259 // create FormItemInfo
260 FormItemInfo form_item_info;
261 InitFormItemInfo(formId, form_item_info);
262 form_item_info.SetUpdateDuration(0);
263 form_item_info.scheduledUpdateTime_.clear();
264
265 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
266 EXPECT_EQ(formId, recordResult.formId);
267
268 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_006 end";
269 }
270
271 /**
272 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_007
273 * @tc.name: AllotFormRecord
274 * @tc.desc: Verify that the return value is correct.
275 * @tc.details:
276 * SetUpdateDuration is 0.(call ParseAtTimerConfig)
277 * Gets the configuration item scheduledUpdateTime_ an invalid value.
278 */
279 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_007, TestSize.Level0)
280 {
281 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_007 start";
282
283 int64_t formId = 7;
284 int callingUid = 0;
285
286 // create FormItemInfo
287 FormItemInfo form_item_info;
288 InitFormItemInfo(formId, form_item_info);
289 form_item_info.SetUpdateDuration(0);
290 form_item_info.SetScheduledUpdateTime("10:30:10");
291
292 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
293 EXPECT_EQ(formId, recordResult.formId);
294
295 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_007 end";
296 }
297
298 /**
299 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_008
300 * @tc.name: AllotFormRecord
301 * @tc.desc: Verify that the return value is correct.
302 * @tc.details:
303 * SetUpdateDuration is 0.(call ParseAtTimerConfig)
304 * 获取配置项scheduledUpdateTime_为无效值
305 * 不存在hapSourceDirs_
306 */
307 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_008, TestSize.Level0)
308 {
309 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_008 start";
310
311 int64_t formId = 8;
312 int callingUid = 0;
313
314 // create FormItemInfo
315 FormItemInfo form_item_info;
316 InitFormItemInfo(formId, form_item_info);
317 form_item_info.SetUpdateDuration(0);
318 form_item_info.SetScheduledUpdateTime("10:70");
319 form_item_info.hapSourceDirs_.clear();
320
321 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
322 EXPECT_EQ(formId, recordResult.formId);
323
324 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_008 end";
325 }
326
327 /**
328 * @tc.number: FmsFormDataMgrTest_AllotFormRecord_009
329 * @tc.name: AllotFormRecord
330 * @tc.desc: Verify that the return value is correct.
331 * @tc.details:
332 * SetUpdateDuration is 0.(call ParseAtTimerConfig)
333 * 获取配置项scheduledUpdateTime_为有效值
334 */
335 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormRecord_009, TestSize.Level0)
336 {
337 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_009 start";
338
339 int64_t formId = 9;
340 int callingUid = 0;
341
342 // create FormItemInfo
343 FormItemInfo form_item_info;
344 InitFormItemInfo(formId, form_item_info);
345 form_item_info.SetUpdateDuration(0);
346
347 FormRecord recordResult = formDataMgr_.AllotFormRecord(form_item_info, callingUid);
348 EXPECT_EQ(formId, recordResult.formId);
349
350 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormRecord_009 end";
351 }
352
353
354 /**
355 * @tc.number: FmsFormDataMgrTest_AllotFormHostRecord_001
356 * @tc.name: AllotFormHostRecord
357 * @tc.desc: Verify that the return value is correct.
358 * @tc.details:
359 * clientRecords_ is include token_.
360 */
361 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormHostRecord_001, TestSize.Level0)
362 {
363 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormHostRecord_001 start";
364
365 int64_t formId = 1;
366 int callingUid = 0;
367
368 // create FormItemInfo
369 FormItemInfo formItemInfo;
370 InitFormItemInfo(formId, formItemInfo);
371
372 // create clientRecords_
373 FormHostRecord formHostRecord;
374 formHostRecord.SetFormHostClient(token_);
375 formDataMgr_.clientRecords_.push_back(formHostRecord);
376
377 EXPECT_EQ(true, formDataMgr_.AllotFormHostRecord(formItemInfo, token_, formId, callingUid));
378 EXPECT_EQ(true, formDataMgr_.clientRecords_.begin()->forms_[formId]);
379
380 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormHostRecord_001 end";
381 }
382
383 /**
384 * @tc.number: FmsFormDataMgrTest_AllotFormHostRecord_002
385 * @tc.name: AllotFormHostRecord
386 * @tc.desc: Verify that the return value is correct.
387 * @tc.details:
388 * clientRecords_ is not include token_.
389 * CreateHostRecord is OK.
390 */
391 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormHostRecord_002, TestSize.Level0)
392 {
393 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormHostRecord_002 start";
394
395 int64_t formId = 2;
396 int callingUid = 0;
397
398 // create FormItemInfo
399 FormItemInfo formItemInfo;
400 InitFormItemInfo(formId, formItemInfo);
401
402 EXPECT_EQ(true, formDataMgr_.AllotFormHostRecord(formItemInfo, token_, formId, callingUid));
403
404 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormHostRecord_002 end";
405 }
406
407 /**
408 * @tc.number: FmsFormDataMgrTest_AllotFormHostRecord_003
409 * @tc.name: AllotFormHostRecord
410 * @tc.desc: Verify that the return value is correct.
411 * @tc.details:
412 * clientRecords_ is not include token_.
413 * CreateHostRecord is NG.
414 */
415 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AllotFormHostRecord_003, TestSize.Level0)
416 {
417 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormHostRecord_003 start";
418
419 int64_t formId = 3;
420 int callingUid = 0;
421
422 // create FormItemInfo
423 FormItemInfo formItemInfo;
424 InitFormItemInfo(formId, formItemInfo);
425
426 // set callerToken nullptr
427 token_ = nullptr;
428
429 EXPECT_EQ(false, formDataMgr_.AllotFormHostRecord(formItemInfo, token_, formId, callingUid));
430
431 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AllotFormHostRecord_003 end";
432 }
433
434 /**
435 * @tc.number: FmsFormDataMgrTest_CreateFormInfo_001
436 * @tc.name: CreateFormInfo
437 * @tc.desc: Verify that the return value is correct.
438 */
439 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CreateFormInfo_001, TestSize.Level0)
440 {
441 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormInfo_001 start";
442
443 int64_t formId = 1;
444
445 // create record
446 FormRecord record;
447 record.bundleName = FORM_HOST_BUNDLE_NAME;
448 record.abilityName = FORM_PROVIDER_ABILITY_NAME;
449 record.formName = FORM_NAME;
450 record.formTempFlag = true;
451
452 FormJsInfo formInfo;
453 std::shared_ptr<FormDataMgr> formDataMgr = std::make_shared<FormDataMgr>();
454 ASSERT_NE(nullptr, formDataMgr);
455 formDataMgr->CreateFormJsInfo(formId, record, formInfo);
456
457 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormInfo_001 output=>bundleName:"<<formInfo.bundleName
458 <<"abilityName:"<<formInfo.abilityName<<"formName:"<<formInfo.formName<<"formTempFlag:"<<formInfo.formTempFlag;
459 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormInfo_001 end";
460 }
461
462 /**
463 * @tc.number: FmsFormDataMgrTest_CheckTempEnoughForm_001
464 * @tc.name: CheckTempEnoughForm
465 * @tc.desc: Verify that the return value is correct.
466 * @tc.details:
467 * tempForms_ is empty.
468 */
469 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CheckTempEnoughForm_001, TestSize.Level0)
470 {
471 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckTempEnoughForm_001 start";
472
473 EXPECT_EQ(ERR_OK, formDataMgr_.CheckTempEnoughForm());
474
475 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckTempEnoughForm_001 end";
476 }
477
478 /**
479 * @tc.number: FmsFormDataMgrTest_CheckTempEnoughForm_002
480 * @tc.name: CheckTempEnoughForm
481 * @tc.desc: Verify that the return value is correct.
482 * @tc.details:
483 * tempForms_'s size is over 256.
484 */
485 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CheckTempEnoughForm_002, TestSize.Level0)
486 {
487 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckTempEnoughForm_002 start";
488
489 for (int index = 0; index < Constants::MAX_TEMP_FORMS; index++) {
490 formDataMgr_.tempForms_.emplace_back(index);
491 }
492 EXPECT_EQ(ERR_APPEXECFWK_FORM_MAX_SYSTEM_TEMP_FORMS, formDataMgr_.CheckTempEnoughForm());
493
494 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckTempEnoughForm_002 end";
495 }
496
497 /**
498 * @tc.number: FmsFormDataMgrTest_CheckEnoughForm_001
499 * @tc.name: CheckEnoughForm
500 * @tc.desc: Verify that the return value is correct.
501 * @tc.details:
502 * formDBInfos_'s size is over 512.
503 */
504 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CheckEnoughForm_001, TestSize.Level0)
505 {
506 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckEnoughForm_001 start";
507
508 int callingUid = 0;
509 int32_t checkAllDBFormMaxSize = 2;
510
511 // set formDbInfos size is over 512
512 MockGetAllFormInfo(checkAllDBFormMaxSize);
513
514 EXPECT_EQ(ERR_APPEXECFWK_FORM_MAX_SYSTEM_FORMS, formDataMgr_.CheckEnoughForm(callingUid));
515
516 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckEnoughForm_001 end";
517 }
518
519 /**
520 * @tc.number: FmsFormDataMgrTest_CheckEnoughForm_002
521 * @tc.name: CheckEnoughForm
522 * @tc.desc: Verify that the return value is correct.
523 * @tc.details:
524 * there is no formRecords.
525 */
526 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CheckEnoughForm_002, TestSize.Level0)
527 {
528 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckEnoughForm_002 start";
529
530 int callingUid = 0;
531 int32_t checkAllDBFormPreAPPSize = 1;
532
533 MockGetAllFormInfo(checkAllDBFormPreAPPSize);
534
535 EXPECT_EQ(ERR_OK, formDataMgr_.CheckEnoughForm(callingUid));
536
537 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckEnoughForm_002 end";
538 }
539
540 /**
541 * @tc.number: FmsFormDataMgrTest_CheckEnoughForm_003
542 * @tc.name: CheckEnoughForm
543 * @tc.desc: Verify that the return value is correct.
544 * @tc.details:
545 * there is 256 formDBInfos_ and their callingUid is -1.
546 */
547 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CheckEnoughForm_003, TestSize.Level0)
548 {
549 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckEnoughForm_003 start";
550
551 int callingUid = -1;
552 int32_t checkAllDBFormPreAPPSize = 1;
553
554 // set formDbInfos size is over 256
555 MockGetAllFormInfo(checkAllDBFormPreAPPSize);
556
557 EXPECT_EQ(ERR_APPEXECFWK_FORM_MAX_FORMS_PER_CLIENT, formDataMgr_.CheckEnoughForm(callingUid));
558
559 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CheckEnoughForm_003 end";
560 }
561
562 /**
563 * @tc.number: FmsFormDataMgrTest_DeleteTempForm_001
564 * @tc.name: DeleteTempForm
565 * @tc.desc: Verify that the return value is correct.
566 * @tc.details:
567 * temp form is not found.
568 */
569 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteTempForm_001, TestSize.Level0)
570 {
571 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteTempForm_001 start";
572
573 int64_t formId = 1;
574 EXPECT_EQ(false, formDataMgr_.DeleteTempForm(formId));
575
576 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteTempForm_001 end";
577 }
578
579 /**
580 * @tc.number: FmsFormDataMgrTest_DeleteTempForm_002
581 * @tc.name: DeleteTempForm
582 * @tc.desc: Verify that the return value is correct.
583 * @tc.details:
584 * temp form is found.
585 */
586 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteTempForm_002, TestSize.Level0)
587 {
588 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteTempForm_002 start";
589
590 int64_t formId = 2;
591 formDataMgr_.tempForms_.emplace_back(formId);
592
593 EXPECT_EQ(true, formDataMgr_.DeleteTempForm(formId));
594 EXPECT_EQ(true, formDataMgr_.tempForms_.empty());
595
596 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteTempForm_002 end";
597 }
598
599 /**
600 * @tc.number: FmsFormDataMgrTest_ModifyFormTempFlag_001
601 * @tc.name: ModifyFormTempFlag
602 * @tc.desc: Verify that the return value is correct.
603 * @tc.details:
604 * formRecords is not found.
605 */
606 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ModifyFormTempFlag_001, TestSize.Level0)
607 {
608 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ModifyFormTempFlag_001 start";
609
610 int64_t formId = 1;
611 bool formTempFlag = true;
612
613 EXPECT_EQ(false, formDataMgr_.ModifyFormTempFlag(formId, formTempFlag));
614
615 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ModifyFormTempFlag_001 end";
616 }
617
618 /**
619 * @tc.number: FmsFormDataMgrTest_ModifyFormTempFlag_002
620 * @tc.name: ModifyFormTempFlag
621 * @tc.desc: Verify that the return value is correct.
622 * @tc.details:
623 * formRecords is found.
624 */
625 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ModifyFormTempFlag_002, TestSize.Level0)
626 {
627 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ModifyFormTempFlag_002 start";
628
629 int64_t formId = 2;
630 bool formTempFlag = false;
631
632 // create formRecords
633 int callingUid = 0;
634 FormItemInfo formItemInfo;
635 InitFormItemInfo(formId, formItemInfo);
636 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
637 formDataMgr_.formRecords_.emplace(formId, record);
638
639 EXPECT_EQ(true, formDataMgr_.ModifyFormTempFlag(formId, formTempFlag));
640 EXPECT_EQ(false, formDataMgr_.formRecords_[formId].formTempFlag);
641
642 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ModifyFormTempFlag_002 end";
643 }
644
645 /**
646 * @tc.number: FmsFormDataMgrTest_AddFormUserUid_001
647 * @tc.name: AddFormUserUid
648 * @tc.desc: Verify that the return value is correct.
649 * @tc.details:
650 * formRecords is not found.
651 */
652 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AddFormUserUid_001, TestSize.Level0)
653 {
654 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AddFormUserUid_001 start";
655
656 int64_t formId = 1;
657 int formUserUid = 100;
658
659 EXPECT_EQ(false, formDataMgr_.AddFormUserUid(formId, formUserUid));
660
661 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AddFormUserUid_001 end";
662 }
663
664 /**
665 * @tc.number: FmsFormDataMgrTest_AddFormUserUid_002
666 * @tc.name: AddFormUserUid
667 * @tc.desc: Verify that the return value is correct.
668 * @tc.details:
669 * formRecords is found, and add new formUserUid.
670 */
671 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AddFormUserUid_002, TestSize.Level0)
672 {
673 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AddFormUserUid_002 start";
674
675 int64_t formId = 2;
676 int formUserUid = 100;
677
678 // create formRecords
679 int callingUid = 0;
680 FormItemInfo formItemInfo;
681 InitFormItemInfo(formId, formItemInfo);
682 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
683 formDataMgr_.formRecords_.emplace(formId, record);
684
685 EXPECT_EQ(true, formDataMgr_.AddFormUserUid(formId, formUserUid));
686
687 // check formUserUids
688 bool find = false;
689 for (int uid : formDataMgr_.formRecords_[formId].formUserUids) {
690 if (uid == formUserUid) {
691 find = true;
692 }
693 }
694 EXPECT_EQ(true, find);
695
696 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AddFormUserUid_002 end";
697 }
698
699 /**
700 * @tc.number: FmsFormDataMgrTest_DeleteFormUserUid_001
701 * @tc.name: DeleteFormUserUid
702 * @tc.desc: Verify that the return value is correct.
703 * @tc.details:
704 * formRecords is not found.
705 */
706 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteFormUserUid_001, TestSize.Level0)
707 {
708 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormUserUid_001 start";
709
710 int64_t formId = 1;
711 int32_t formUserUid = 100;
712
713 EXPECT_EQ(false, formDataMgr_.DeleteFormUserUid(formId, formUserUid));
714
715 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormUserUid_001 end";
716 }
717
718 /**
719 * @tc.number: FmsFormDataMgrTest_DeleteFormUserUid_002
720 * @tc.name: DeleteFormUserUid
721 * @tc.desc: Verify that the return value is correct.
722 * @tc.details:
723 * formRecords is found, and delete.
724 */
725 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteFormUserUid_002, TestSize.Level0)
726 {
727 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormUserUid_002 start";
728
729 int64_t formId = 2;
730 int32_t formUserUid = 100;
731
732 // create formRecords
733 FormItemInfo formItemInfo;
734 InitFormItemInfo(formId, formItemInfo);
735 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, formUserUid);
736 formDataMgr_.formRecords_.emplace(formId, record);
737
738 EXPECT_EQ(true, formDataMgr_.DeleteFormUserUid(formId, formUserUid));
739
740 // check formUserUids
741 bool find = false;
742 for (int uid : formDataMgr_.formRecords_[formId].formUserUids) {
743 if (uid == formUserUid) {
744 find = true;
745 }
746 }
747 EXPECT_EQ(false, find);
748
749 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormUserUid_002 end";
750 }
751
752 /**
753 * @tc.number: FmsFormDataMgrTest_UpdateFormRecord_001
754 * @tc.name: UpdateFormRecord
755 * @tc.desc: Verify that the return value is correct.
756 * @tc.details:
757 * formRecords is not found.
758 */
759 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateFormRecord_001, TestSize.Level0)
760 {
761 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormRecord_001 start";
762
763 int64_t formId = 1;
764
765 // create record
766 int callingUid = 0;
767 FormItemInfo formItemInfo;
768 InitFormItemInfo(formId, formItemInfo);
769 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
770
771 EXPECT_EQ(false, formDataMgr_.UpdateFormRecord(formId, record));
772
773 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormRecord_001 end";
774 }
775
776 /**
777 * @tc.number: FmsFormDataMgrTest_UpdateFormRecord_002
778 * @tc.name: UpdateFormRecord
779 * @tc.desc: Verify that the return value is correct.
780 * @tc.details:
781 * formRecords is found.
782 */
783 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateFormRecord_002, TestSize.Level0)
784 {
785 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormRecord_002 start";
786
787 int64_t formId = 2;
788
789 // create formRecords
790 int callingUid = 0;
791 FormItemInfo formItemInfo;
792 InitFormItemInfo(formId, formItemInfo);
793 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
794 formDataMgr_.formRecords_.emplace(formId, record);
795
796 int callingUidModify = 1;
797 FormRecord recordModify = formDataMgr_.CreateFormRecord(formItemInfo, callingUidModify);
798
799 EXPECT_EQ(true, formDataMgr_.UpdateFormRecord(formId, recordModify));
800
801 // check update form
802 auto iter = std::find(formDataMgr_.formRecords_[formId].formUserUids.begin(),
803 formDataMgr_.formRecords_[formId].formUserUids.end(), callingUidModify);
804 if (iter != formDataMgr_.formRecords_[formId].formUserUids.end())
805 {
806 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormRecord_002 find callingUidModify after update!";
807 }
808
809 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormRecord_002 end";
810 }
811
812 /**
813 * @tc.number: FmsFormDataMgrTest_GetFormRecord_001
814 * @tc.name: GetFormRecord
815 * @tc.desc: Verify that the return value is correct.
816 * @tc.details:
817 * formRecords is not found.
818 */
819 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormRecord_001, TestSize.Level0)
820 {
821 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormRecord_001 start";
822
823 int64_t formId = 1;
824 FormRecord record;
825
826 EXPECT_EQ(false, formDataMgr_.GetFormRecord(formId, record));
827
828 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormRecord_001 end";
829 }
830
831 /**
832 * @tc.number: FmsFormDataMgrTest_GetFormRecord_002
833 * @tc.name: GetFormRecord
834 * @tc.desc: Verify that the return value is correct.
835 * @tc.details:
836 * formRecords is found.
837 */
838 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormRecord_002, TestSize.Level0)
839 {
840 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormRecord_002 start";
841
842 int64_t formId = 2;
843
844 // create formRecords_
845 int callingUid = 0;
846 FormItemInfo formItemInfo;
847 InitFormItemInfo(formId, formItemInfo);
848 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
849 formDataMgr_.formRecords_.emplace(formId, record);
850
851 FormRecord recordOutput;
852 EXPECT_EQ(true, formDataMgr_.GetFormRecord(formId, recordOutput));
853 EXPECT_EQ(formId, recordOutput.formId);
854
855 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormRecord_002 end";
856 }
857
858
859 /**
860 * @tc.number: FmsFormDataMgrTest_GetFormRecord_2_001
861 * @tc.name: GetFormRecord_2
862 * @tc.desc: Verify that the return value is correct.
863 * @tc.details:
864 * formRecords is not found.
865 */
866 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormRecord_2_001, TestSize.Level0)
867 {
868 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormRecord_2_001 start";
869
870 std::string bundleName = "bundleName";
871 std::vector<FormRecord> formInfos;
872
873 EXPECT_EQ(false, formDataMgr_.GetFormRecord(bundleName, formInfos));
874
875 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormRecord_2_001 end";
876 }
877
878 /**
879 * @tc.number: FmsFormDataMgrTest_GetFormRecord_2_002
880 * @tc.name: GetFormRecord_2
881 * @tc.desc: Verify that the return value is correct.
882 * @tc.details:
883 * formRecords is found.
884 */
885 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormRecord_2_002, TestSize.Level0)
886 {
887 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormRecord_2_002 start";
888
889 std::string bundleName = "bundleName";
890 std::vector<FormRecord> formInfos;
891
892 // create formRecords_
893 int64_t formId = 2;
894 int callingUid = 0;
895 FormItemInfo formItemInfo;
896 InitFormItemInfo(formId, formItemInfo);
897 formItemInfo.SetProviderBundleName(bundleName);
898 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
899 formDataMgr_.formRecords_.emplace(formId, record);
900
901 EXPECT_EQ(true, formDataMgr_.GetFormRecord(bundleName, formInfos));
902
903 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormRecord_2_002 end";
904 }
905
906 /**
907 * @tc.number: FmsFormDataMgrTest_HasFormUserUids_001
908 * @tc.name: HasFormUserUids
909 * @tc.desc: Verify that the return value is correct.
910 * @tc.details:
911 * formRecords is not found.
912 */
913 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_HasFormUserUids_001, TestSize.Level0)
914 {
915 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HasFormUserUids_001 start";
916
917 int64_t formId = 1;
918
919 EXPECT_EQ(false, formDataMgr_.HasFormUserUids(formId));
920
921 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HasFormUserUids_001 end";
922 }
923
924 /**
925 * @tc.number: FmsFormDataMgrTest_HasFormUserUids_002
926 * @tc.name: HasFormUserUids
927 * @tc.desc: Verify that the return value is correct.
928 * @tc.details:
929 * formRecords is found.
930 */
931 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_HasFormUserUids_002, TestSize.Level0)
932 {
933 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HasFormUserUids_002 start";
934
935 int64_t formId = 2;
936
937 // create formRecords_
938 int callingUid = 0;
939 FormItemInfo formItemInfo;
940 InitFormItemInfo(formId, formItemInfo);
941 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
942 formDataMgr_.formRecords_.emplace(formId, record);
943
944 EXPECT_EQ(true, formDataMgr_.HasFormUserUids(formId));
945
946 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HasFormUserUids_002 end";
947 }
948
949 /**
950 * @tc.number: FmsFormDataMgrTest_GetFormHostRecord_001
951 * @tc.name: GetFormHostRecord
952 * @tc.desc: Verify that the return value is correct.
953 * @tc.details:
954 * clientRecords_ is not found.
955 */
956 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormHostRecord_001, TestSize.Level0)
957 {
958 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormHostRecord_001 start";
959
960 int64_t formId = 1;
961 std::vector<FormHostRecord> formHostRecords;
962
963 formDataMgr_.GetFormHostRecord(formId, formHostRecords);
964 EXPECT_EQ(true, formHostRecords.empty());
965
966 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormHostRecord_001 end";
967 }
968
969 /**
970 * @tc.number: FmsFormDataMgrTest_GetFormHostRecord_002
971 * @tc.name: GetFormHostRecord
972 * @tc.desc: Verify that the return value is correct.
973 * @tc.details:
974 * clientRecords_ is found.
975 */
976 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormHostRecord_002, TestSize.Level0)
977 {
978 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormHostRecord_002 start";
979
980 int64_t formId = 2;
981 std::vector<FormHostRecord> formHostRecords;
982
983 // create clientRecords_
984 FormHostRecord form_host_record;
985 form_host_record.SetFormHostClient(token_);
986 form_host_record.AddForm(formId);
987 formDataMgr_.clientRecords_.push_back(form_host_record);
988
989 formDataMgr_.GetFormHostRecord(formId, formHostRecords);
990 EXPECT_EQ(true, formHostRecords[0].forms_[formId]);
991
992 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormHostRecord_002 end";
993 }
994
995 /**
996 * @tc.number: FmsFormDataMgrTest_DeleteHostRecord_001
997 * @tc.name: DeleteHostRecord
998 * @tc.desc: Verify that the return value is correct.
999 * @tc.details:
1000 * clientRecords_ is found.
1001 */
1002 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteHostRecord_001, TestSize.Level0)
1003 {
1004 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteHostRecord_001 start";
1005
1006 int64_t formId = 1;
1007
1008 // create clientRecords_
1009 FormHostRecord formHostRecord;
1010 formHostRecord.SetFormHostClient(token_);
1011 formHostRecord.AddForm(formId);
1012 formDataMgr_.clientRecords_.push_back(formHostRecord);
1013
1014 EXPECT_EQ(true, formDataMgr_.DeleteHostRecord(token_, formId));
1015 EXPECT_EQ(false, formDataMgr_.clientRecords_.empty());
1016
1017 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteHostRecord_001 end";
1018 }
1019
1020 /**
1021 * @tc.number: FmsFormDataMgrTest_CleanHostRemovedForms_001
1022 * @tc.name: CleanHostRemovedForms
1023 * @tc.desc: Verify that the return value is correct.
1024 * @tc.details:
1025 * clientRecords_ is found.
1026 */
1027 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CleanHostRemovedForms_001, TestSize.Level0)
1028 {
1029 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanHostRemovedForms_001 start";
1030
1031 std::vector<int64_t> removedFormIds;
1032 int64_t formId = 1;
1033 removedFormIds.emplace_back(formId);
1034
1035 // create clientRecords_
1036 FormHostRecord formHostRecord;
1037 formHostRecord.SetFormHostClient(token_);
1038 formHostRecord.AddForm(formId);
1039 formDataMgr_.clientRecords_.push_back(formHostRecord);
1040
1041 formDataMgr_.CleanHostRemovedForms(removedFormIds);
1042
1043 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanHostRemovedForms_001 end";
1044 }
1045
1046 /**
1047 * @tc.number: FmsFormDataMgrTest_HandleHostDied_001
1048 * @tc.name: HandleHostDied
1049 * @tc.desc: Verify that the return value is correct.
1050 * @tc.details:
1051 * clientRecords_ & tempForms_ & formRecords is found.
1052 */
1053 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_HandleHostDied_001, TestSize.Level0)
1054 {
1055 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HandleHostDied_001 start";
1056
1057 int64_t formId = 1;
1058
1059 // create tempForms_
1060 formDataMgr_.tempForms_.emplace_back(formId);
1061
1062 // create clientRecords_
1063 FormHostRecord formHostRecord;
1064 formHostRecord.SetFormHostClient(token_);
1065 formHostRecord.AddForm(formId);
1066 formDataMgr_.clientRecords_.push_back(formHostRecord);
1067
1068 // create formRecords
1069 int callingUid = 0;
1070 FormItemInfo formItemInfo;
1071 InitFormItemInfo(formId, formItemInfo);
1072 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1073 formDataMgr_.formRecords_.emplace(formId, record);
1074
1075 formDataMgr_.HandleHostDied(token_);
1076
1077 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HandleHostDied_001 end";
1078 }
1079
1080 /**
1081 * @tc.number: FmsFormDataMgrTest_HandleHostDied_002
1082 * @tc.name: HandleHostDied
1083 * @tc.desc: Verify that the return value is correct.
1084 * @tc.details:
1085 * tempForms_ is not match.
1086 */
1087 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_HandleHostDied_002, TestSize.Level0)
1088 {
1089 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HandleHostDied_002 start";
1090
1091 int64_t formId = 2;
1092 int64_t otherFormId = 3;
1093
1094 // create tempForms_
1095 formDataMgr_.tempForms_.emplace_back(otherFormId);
1096
1097 // create clientRecords_
1098 FormHostRecord formHostRecord;
1099 formHostRecord.SetFormHostClient(token_);
1100 formHostRecord.AddForm(formId);
1101 formDataMgr_.clientRecords_.push_back(formHostRecord);
1102
1103 // create formRecords
1104 int callingUid = 0;
1105 FormItemInfo formItemInfo;
1106 InitFormItemInfo(formId, formItemInfo);
1107 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1108 formDataMgr_.formRecords_.emplace(formId, record);
1109
1110 formDataMgr_.HandleHostDied(token_);
1111
1112 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HandleHostDied_002 end";
1113 }
1114
1115 /**
1116 * @tc.number: FmsFormDataMgrTest_HandleHostDied_003
1117 * @tc.name: HandleHostDied
1118 * @tc.desc: Verify that the return value is correct.
1119 * @tc.details:
1120 * remoteHost is not match, formRecords is not found.
1121 */
1122 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_HandleHostDied_003, TestSize.Level0)
1123 {
1124 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HandleHostDied_003 start";
1125
1126 int64_t formId = 3;
1127
1128 // create clientRecords_
1129 sptr<OHOS::AppExecFwk::MockFormHostClient> token_2;
1130 FormHostRecord formHostRecord;
1131 formHostRecord.SetFormHostClient(token_2);
1132 formHostRecord.AddForm(formId);
1133 formDataMgr_.clientRecords_.push_back(formHostRecord);
1134
1135 // create formRecords
1136 int callingUid = 0;
1137 FormItemInfo formItemInfo;
1138 InitFormItemInfo(formId, formItemInfo);
1139 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1140 formDataMgr_.formRecords_.emplace(formId, record);
1141
1142 formDataMgr_.HandleHostDied(token_);
1143
1144 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HandleHostDied_003 end";
1145 }
1146
1147 /**
1148 * @tc.number: FmsFormDataMgrTest_IsEnableRefresh_001
1149 * @tc.name: IsEnableRefresh
1150 * @tc.desc: Verify that the return value is correct.
1151 * @tc.details:
1152 * clientRecords_ is not found.
1153 */
1154 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsEnableRefresh_001, TestSize.Level0)
1155 {
1156 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsEnableRefresh_001 start";
1157
1158 int64_t formId = 1;
1159 EXPECT_EQ(false, formDataMgr_.IsEnableRefresh(formId));
1160
1161 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsEnableRefresh_001 end";
1162 }
1163
1164 /**
1165 * @tc.number: FmsFormDataMgrTest_IsEnableRefresh_002
1166 * @tc.name: IsEnableRefresh
1167 * @tc.desc: Verify that the return value is correct.
1168 * @tc.details:
1169 * clientRecords_ is found.
1170 */
1171 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsEnableRefresh_002, TestSize.Level0)
1172 {
1173 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsEnableRefresh_002 start";
1174
1175 int64_t formId = 2;
1176
1177 // create clientRecords_
1178 sptr<OHOS::AppExecFwk::MockFormHostClient> token_;
1179 FormHostRecord formHostRecord;
1180 formHostRecord.SetFormHostClient(token_);
1181 formHostRecord.AddForm(formId);
1182 formDataMgr_.clientRecords_.push_back(formHostRecord);
1183
1184 EXPECT_EQ(true, formDataMgr_.IsEnableRefresh(formId));
1185
1186 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsEnableRefresh_002 end";
1187 }
1188
1189 /**
1190 * @tc.number: FmsFormDataMgrTest_GenerateUdidHash_001
1191 * @tc.name: GenerateUdidHash
1192 * @tc.desc: Verify that the return value is correct.
1193 * @tc.details:
1194 * udidHash_ is not 0.
1195 */
1196 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GenerateUdidHash_001, TestSize.Level0)
1197 {
1198 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GenerateUdidHash_001 start";
1199
1200 formDataMgr_.udidHash_ = 1;
1201 EXPECT_EQ(true, formDataMgr_.GenerateUdidHash());
1202
1203 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GenerateUdidHash_001 end";
1204 }
1205
1206 /**
1207 * @tc.number: FmsFormDataMgrTest_GenerateUdidHash_002
1208 * @tc.name: GenerateUdidHash
1209 * @tc.desc: Verify that the return value is correct.
1210 * @tc.details:
1211 * udidHash_ is 0.
1212 */
1213 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GenerateUdidHash_002, TestSize.Level0)
1214 {
1215 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GenerateUdidHash_002 start";
1216
1217 formDataMgr_.udidHash_ = Constants::INVALID_UDID_HASH;
1218 EXPECT_EQ(true, formDataMgr_.GenerateUdidHash());
1219
1220 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GenerateUdidHash_002 end";
1221 }
1222
1223 /**
1224 * @tc.number: FmsFormDataMgrTest_GetMatchedHostClient_001
1225 * @tc.name: GetMatchedHostClient
1226 * @tc.desc: Verify that the return value is correct.
1227 * @tc.details:
1228 * clientRecords_ is not found.
1229 */
1230 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetMatchedHostClient_001, TestSize.Level0)
1231 {
1232 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetMatchedHostClient_001 start";
1233
1234 // create clientRecords_
1235 FormHostRecord formHostRecord;
1236
1237 EXPECT_EQ(false, formDataMgr_.GetMatchedHostClient(token_, formHostRecord));
1238
1239 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetMatchedHostClient_001 end";
1240 }
1241
1242 /**
1243 * @tc.number: FmsFormDataMgrTest_GetMatchedHostClient_002
1244 * @tc.name: GetMatchedHostClient
1245 * @tc.desc: Verify that the return value is correct.
1246 * @tc.details:
1247 * clientRecords_ is found.
1248 */
1249 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetMatchedHostClient_002, TestSize.Level0)
1250 {
1251 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetMatchedHostClient_002 start";
1252
1253 int64_t formId = 2;
1254
1255 // create clientRecords_
1256 FormHostRecord formHostRecord;
1257 formHostRecord.SetFormHostClient(token_);
1258 formHostRecord.AddForm(formId);
1259 formDataMgr_.clientRecords_.push_back(formHostRecord);
1260
1261 FormHostRecord formHostRecordOutput;
1262
1263 EXPECT_EQ(true, formDataMgr_.GetMatchedHostClient(token_, formHostRecordOutput));
1264 EXPECT_EQ(true, formHostRecordOutput.forms_[formId]);
1265
1266 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetMatchedHostClient_002 end";
1267 }
1268
1269 /**
1270 * @tc.number: FmsFormDataMgrTest_SetNeedRefresh_001
1271 * @tc.name: SetNeedRefresh
1272 * @tc.desc: Verify that the return value is correct.
1273 * @tc.details:
1274 * formRecords_ is not found.
1275 */
1276 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetNeedRefresh_001, TestSize.Level0)
1277 {
1278 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetNeedRefresh_001 start";
1279
1280 int64_t formId = 1;
1281 bool needRefresh = true;
1282 std::shared_ptr<FormDataMgr> formDataMgr = std::make_shared<FormDataMgr>();
1283 ASSERT_NE(nullptr, formDataMgr);
1284 formDataMgr->SetNeedRefresh(formId, needRefresh);
1285
1286 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetNeedRefresh_001 end";
1287 }
1288
1289 /**
1290 * @tc.number: FmsFormDataMgrTest_SetNeedRefresh_002
1291 * @tc.name: SetNeedRefresh
1292 * @tc.desc: Verify that the return value is correct.
1293 * @tc.details:
1294 * formRecords_ is not found.
1295 */
1296 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetNeedRefresh_002, TestSize.Level0)
1297 {
1298 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetNeedRefresh_002 start";
1299
1300 int64_t formId = 2;
1301 bool needRefresh = true;
1302
1303 // create formRecords
1304 int callingUid = 0;
1305 FormItemInfo formItemInfo;
1306 InitFormItemInfo(formId, formItemInfo);
1307 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1308 formDataMgr_.formRecords_.emplace(formId, record);
1309
1310 formDataMgr_.SetNeedRefresh(formId, needRefresh);
1311 EXPECT_EQ(true, formDataMgr_.formRecords_.find(formId)->second.needRefresh);
1312
1313 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetNeedRefresh_002 end";
1314 }
1315
1316 /**
1317 * @tc.number: FmsFormDataMgrTest_SetCountTimerRefresh_001
1318 * @tc.name: SetCountTimerRefresh
1319 * @tc.desc: Verify that the return value is correct.
1320 * @tc.details:
1321 * formRecords_ is not found.
1322 */
1323 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetCountTimerRefresh_001, TestSize.Level0)
1324 {
1325 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetCountTimerRefresh_001 start";
1326
1327 int64_t formId = 1;
1328 bool countTimerRefresh = true;
1329 std::shared_ptr<FormDataMgr> formDataMgr = std::make_shared<FormDataMgr>();
1330 ASSERT_NE(nullptr, formDataMgr);
1331 formDataMgr->SetCountTimerRefresh(formId, countTimerRefresh);
1332
1333 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetCountTimerRefresh_001 end";
1334 }
1335
1336 /**
1337 * @tc.number: FmsFormDataMgrTest_SetCountTimerRefresh_002
1338 * @tc.name: SetCountTimerRefresh
1339 * @tc.desc: Verify that the return value is correct.
1340 * @tc.details:
1341 * formRecords_ is not found.
1342 */
1343 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetCountTimerRefresh_002, TestSize.Level0)
1344 {
1345 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetCountTimerRefresh_002 start";
1346
1347 int64_t formId = 2;
1348 bool countTimerRefresh = true;
1349
1350 // create formRecords
1351 int callingUid = 0;
1352 FormItemInfo formItemInfo;
1353 InitFormItemInfo(formId, formItemInfo);
1354 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1355 formDataMgr_.formRecords_.emplace(formId, record);
1356
1357 formDataMgr_.SetCountTimerRefresh(formId, countTimerRefresh);
1358 EXPECT_EQ(true, formDataMgr_.formRecords_.find(formId)->second.isCountTimerRefresh);
1359
1360 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetCountTimerRefresh_002 end";
1361 }
1362
1363 /**
1364 * @tc.number: FmsFormDataMgrTest_GetUpdatedForm_001
1365 * @tc.name: GetUpdatedForm
1366 * @tc.desc: Verify that the return value is correct.
1367 * @tc.details:
1368 * targetForms is empty.
1369 */
1370 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetUpdatedForm_001, TestSize.Level0)
1371 {
1372 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUpdatedForm_001 start";
1373
1374 FormRecord record;
1375 record.bundleName = "";
1376 record.moduleName = "";
1377 record.abilityName = "";
1378 record.formName = "";
1379 record.specification = 0;
1380
1381 std::vector<FormInfo> targetForms;
1382 FormInfo updatedForm;
1383
1384 EXPECT_EQ(false, formDataMgr_.GetUpdatedForm(record, targetForms, updatedForm));
1385
1386 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUpdatedForm_001 end";
1387 }
1388
1389 /**
1390 * @tc.number: FmsFormDataMgrTest_GetUpdatedForm_002
1391 * @tc.name: GetUpdatedForm
1392 * @tc.desc: Verify that the return value is correct.
1393 * @tc.details:
1394 * targetForms is not empty. record is same as formInfo.
1395 */
1396 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetUpdatedForm_002, TestSize.Level0)
1397 {
1398 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUpdatedForm_002 start";
1399
1400 int32_t specification = 2;
1401
1402 FormRecord record;
1403 record.bundleName = FORM_HOST_BUNDLE_NAME;
1404 record.moduleName = PARAM_PROVIDER_MODULE_NAME;
1405 record.abilityName = FORM_PROVIDER_ABILITY_NAME;
1406 record.formName = FORM_NAME;
1407 record.specification = specification;
1408
1409 std::vector<FormInfo> targetForms;
1410 FormInfo formInfo;
1411 formInfo.bundleName = FORM_HOST_BUNDLE_NAME;
1412 formInfo.moduleName = PARAM_PROVIDER_MODULE_NAME;
1413 formInfo.abilityName = FORM_PROVIDER_ABILITY_NAME;
1414 formInfo.name = FORM_NAME;
1415 formInfo.supportDimensions.emplace_back(specification);
1416 targetForms.emplace_back(formInfo);
1417
1418 FormInfo updatedForm;
1419
1420 EXPECT_EQ(true, formDataMgr_.GetUpdatedForm(record, targetForms, updatedForm));
1421 EXPECT_EQ(FORM_HOST_BUNDLE_NAME, updatedForm.bundleName);
1422
1423 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUpdatedForm_002 end";
1424 }
1425
1426 /**
1427 * @tc.number: FmsFormDataMgrTest_GetUpdatedForm_003
1428 * @tc.name: GetUpdatedForm
1429 * @tc.desc: Verify that the return value is correct.
1430 * @tc.details:
1431 * targetForms is not empty. record is not same as formInfo.
1432 */
1433 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetUpdatedForm_003, TestSize.Level0)
1434 {
1435 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUpdatedForm_003 start";
1436
1437 int32_t specification = 3;
1438
1439 FormRecord record;
1440 record.bundleName = "bundleName";
1441 record.moduleName = PARAM_PROVIDER_MODULE_NAME;
1442 record.abilityName = FORM_PROVIDER_ABILITY_NAME;
1443 record.formName = FORM_NAME;
1444 record.specification = specification;
1445
1446 std::vector<FormInfo> targetForms;
1447 FormInfo formInfo;
1448 formInfo.bundleName = FORM_HOST_BUNDLE_NAME;
1449 formInfo.moduleName = PARAM_PROVIDER_MODULE_NAME;
1450 formInfo.abilityName = FORM_PROVIDER_ABILITY_NAME;
1451 formInfo.name = FORM_NAME;
1452 formInfo.supportDimensions.emplace_back(specification);
1453 targetForms.emplace_back(formInfo);
1454
1455 FormInfo updatedForm;
1456
1457 EXPECT_EQ(false, formDataMgr_.GetUpdatedForm(record, targetForms, updatedForm));
1458
1459 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUpdatedForm_003 end";
1460 }
1461
1462 /**
1463 * @tc.number: FmsFormDataMgrTest_SetEnableUpdate_001
1464 * @tc.name: SetEnableUpdate
1465 * @tc.desc: Verify that the return value is correct.
1466 * @tc.details:
1467 * formRecords_ is not found.
1468 */
1469 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetEnableUpdate_001, TestSize.Level0)
1470 {
1471 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetEnableUpdate_001 start";
1472
1473 int64_t formId = 1;
1474 bool enableUpdate = true;
1475
1476 std::shared_ptr<FormDataMgr> formDataMgr = std::make_shared<FormDataMgr>();
1477 ASSERT_NE(nullptr, formDataMgr);
1478 formDataMgr->SetEnableUpdate(formId, enableUpdate);
1479
1480 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetEnableUpdate_001 end";
1481 }
1482
1483 /**
1484 * @tc.number: FmsFormDataMgrTest_SetEnableUpdate_002
1485 * @tc.name: SetEnableUpdate
1486 * @tc.desc: Verify that the return value is correct.
1487 * @tc.details:
1488 * formRecords_ is not found.
1489 */
1490 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetEnableUpdate_002, TestSize.Level0)
1491 {
1492 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetEnableUpdate_002 start";
1493
1494 int64_t formId = 2;
1495 bool enableUpdate = true;
1496
1497 // create formRecords
1498 int callingUid = 0;
1499 FormItemInfo formItemInfo;
1500 InitFormItemInfo(formId, formItemInfo);
1501 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1502 formDataMgr_.formRecords_.emplace(formId, record);
1503
1504 formDataMgr_.SetEnableUpdate(formId, enableUpdate);
1505 EXPECT_EQ(true, formDataMgr_.formRecords_.find(formId)->second.isEnableUpdate);
1506
1507 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetEnableUpdate_002 end";
1508 }
1509
1510 /**
1511 * @tc.number: FmsFormDataMgrTest_SetUpdateInfo_001
1512 * @tc.name: SetUpdateInfo
1513 * @tc.desc: Verify that the return value is correct.
1514 * @tc.details:
1515 * formRecords_ is not found.
1516 */
1517 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetUpdateInfo_001, TestSize.Level0)
1518 {
1519 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetUpdateInfo_001 start";
1520
1521 int64_t formId = 1;
1522 bool enableUpdate = true;
1523 long updateDuration = 100;
1524 int updateAtHour = 24;
1525 int updateAtMin = 59;
1526
1527 std::shared_ptr<FormDataMgr> formDataMgr = std::make_shared<FormDataMgr>();
1528 ASSERT_NE(nullptr, formDataMgr);
1529 formDataMgr->SetUpdateInfo(formId, enableUpdate, updateDuration, updateAtHour, updateAtMin);
1530
1531 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetUpdateInfo_001 end";
1532 }
1533
1534 /**
1535 * @tc.number: FmsFormDataMgrTest_SetUpdateInfo_002
1536 * @tc.name: SetUpdateInfo
1537 * @tc.desc: Verify that the return value is correct.
1538 * @tc.details:
1539 * formRecords_ is not found.
1540 */
1541 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetUpdateInfo_002, TestSize.Level0)
1542 {
1543 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetUpdateInfo_002 start";
1544
1545 int64_t formId = 1;
1546 bool enableUpdate = true;
1547 long updateDuration = 100;
1548 int updateAtHour = 24;
1549 int updateAtMin = 59;
1550
1551 // create formRecords
1552 int callingUid = 0;
1553 FormItemInfo formItemInfo;
1554 InitFormItemInfo(formId, formItemInfo);
1555 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1556 formDataMgr_.formRecords_.emplace(formId, record);
1557
1558 formDataMgr_.SetUpdateInfo(formId, enableUpdate, updateDuration, updateAtHour, updateAtMin);
1559 EXPECT_EQ(true, formDataMgr_.formRecords_.find(formId)->second.isEnableUpdate);
1560 EXPECT_EQ(100, formDataMgr_.formRecords_.find(formId)->second.updateDuration);
1561 EXPECT_EQ(24, formDataMgr_.formRecords_.find(formId)->second.updateAtHour);
1562 EXPECT_EQ(59, formDataMgr_.formRecords_.find(formId)->second.updateAtMin);
1563
1564 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetUpdateInfo_002 end";
1565 }
1566
1567 /**
1568 * @tc.number: FmsFormDataMgrTest_CleanRemovedFormRecords_001
1569 * @tc.name: CleanRemovedFormRecords
1570
1571 * @tc.desc: Verify that the return value is correct.
1572 * @tc.details:
1573 * removedForm is matched with formRecords_.
1574 */
1575 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CleanRemovedFormRecords_001, TestSize.Level0)
1576 {
1577 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanRemovedFormRecords_001 start";
1578
1579 // create formRecords
1580 int callingUid = 0;
1581 int64_t formId = 1;
1582 FormItemInfo formItemInfo;
1583 InitFormItemInfo(formId, formItemInfo);
1584 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1585 formDataMgr_.formRecords_.emplace(formId, record);
1586
1587 std::string bundleName = FORM_HOST_BUNDLE_NAME;
1588
1589 std::set<int64_t> removedForms;
1590 int64_t removedForm = formId;
1591 removedForms.emplace(removedForm);
1592
1593 formDataMgr_.CleanRemovedFormRecords(bundleName, removedForms);
1594 EXPECT_EQ(true, formDataMgr_.formRecords_.empty());
1595
1596 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanRemovedFormRecords_001 end";
1597 }
1598
1599 /**
1600 * @tc.number: FmsFormDataMgrTest_CleanRemovedFormRecords_002
1601 * @tc.name: CleanRemovedFormRecords
1602
1603 * @tc.desc: Verify that the return value is correct.
1604 * @tc.details:
1605 * removedForm is not matched with formRecords_.
1606 */
1607 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CleanRemovedFormRecords_002, TestSize.Level0)
1608 {
1609 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanRemovedFormRecords_002 start";
1610
1611 // create formRecords
1612 int callingUid = 0;
1613 int64_t formId = 2;
1614 FormItemInfo formItemInfo;
1615 InitFormItemInfo(formId, formItemInfo);
1616 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1617 formDataMgr_.formRecords_.emplace(formId, record);
1618
1619 std::string bundleName = FORM_HOST_BUNDLE_NAME;
1620
1621 std::set<int64_t> removedForms;
1622 int64_t removedForm = 100;
1623 removedForms.emplace(removedForm);
1624
1625 formDataMgr_.CleanRemovedFormRecords(bundleName, removedForms);
1626
1627 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanRemovedFormRecords_002 end";
1628 }
1629
1630 /**
1631 * @tc.number: FmsFormDataMgrTest_CleanRemovedTempFormRecords_001
1632 * @tc.name: CleanRemovedTempFormRecords
1633
1634 * @tc.desc: Verify that the return value is correct.
1635 * @tc.details:
1636 * bundleName is matched with formRecords_, and it is temp.
1637 * erase formRecords_ and tempForms_.
1638 */
1639 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CleanRemovedTempFormRecords_001, TestSize.Level0)
1640 {
1641 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanRemovedTempFormRecords_001 start";
1642
1643 int64_t formId = 1;
1644 std::string bundleName = FORM_HOST_BUNDLE_NAME;
1645
1646 std::set<int64_t> removedForms;
1647 int64_t removedForm = formId;
1648 removedForms.emplace(removedForm);
1649
1650 // create formRecords
1651 int callingUid = 0;
1652 FormItemInfo formItemInfo;
1653 InitFormItemInfo(formId, formItemInfo);
1654 formItemInfo.SetProviderBundleName(bundleName);
1655 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1656 formDataMgr_.formRecords_.emplace(formId, record);
1657
1658 // create tempForms_
1659 formDataMgr_.tempForms_.emplace_back(formId);
1660
1661 formDataMgr_.CleanRemovedTempFormRecords(bundleName, FormUtil::GetCurrentAccountId(), removedForms);
1662 EXPECT_EQ(true, formDataMgr_.formRecords_.empty());
1663 EXPECT_EQ(true, formDataMgr_.tempForms_.empty());
1664
1665 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanRemovedTempFormRecords_001 end";
1666 }
1667
1668 /**
1669 * @tc.number: FmsFormDataMgrTest_CleanRemovedTempFormRecords_002
1670 * @tc.name: CleanRemovedTempFormRecords
1671
1672 * @tc.desc: Verify that the return value is correct.
1673 * @tc.details:
1674 * bundleName is not matched with formRecords_.
1675 * erase none.
1676 */
1677 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CleanRemovedTempFormRecords_002, TestSize.Level0)
1678 {
1679 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanRemovedTempFormRecords_002 start";
1680
1681 int64_t formId = 2;
1682 std::string bundleName = FORM_HOST_BUNDLE_NAME;
1683 std::string otherBundleName = "bundleName";
1684
1685 std::set<int64_t> removedForms;
1686 int64_t removedForm = formId;
1687 removedForms.emplace(removedForm);
1688
1689 // create formRecords
1690 int callingUid = 0;
1691 FormItemInfo formItemInfo;
1692 InitFormItemInfo(formId, formItemInfo);
1693 formItemInfo.SetProviderBundleName(otherBundleName);
1694 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1695 formDataMgr_.formRecords_.emplace(formId, record);
1696
1697 // create tempForms_
1698 formDataMgr_.tempForms_.emplace_back(formId);
1699
1700 formDataMgr_.CleanRemovedTempFormRecords(bundleName, Constants::DEFAULT_USER_ID, removedForms);
1701 EXPECT_EQ(false, formDataMgr_.formRecords_.empty());
1702 EXPECT_EQ(false, formDataMgr_.tempForms_.empty());
1703
1704 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CleanRemovedTempFormRecords_002 end";
1705 }
1706
1707 /**
1708 * @tc.number: FmsFormDataMgrTest_GetReCreateFormRecordsByBundleName_001
1709 * @tc.name: GetReCreateFormRecordsByBundleName
1710
1711 * @tc.desc: Verify that the return value is correct.
1712 */
1713 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetReCreateFormRecordsByBundleName_001, TestSize.Level0)
1714 {
1715 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetReCreateFormRecordsByBundleName_001 start";
1716
1717 int64_t formId = 1;
1718 std::string bundleName = FORM_HOST_BUNDLE_NAME;
1719
1720 std::set<int64_t> reCreateForms;
1721 int64_t reCreateForm = formId;
1722 reCreateForms.emplace(reCreateForm);
1723
1724 // create formRecords
1725 int callingUid = 0;
1726 FormItemInfo formItemInfo;
1727 InitFormItemInfo(formId, formItemInfo);
1728 formItemInfo.SetProviderBundleName(bundleName);
1729 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1730 formDataMgr_.formRecords_.emplace(formId, record);
1731
1732 formDataMgr_.GetReCreateFormRecordsByBundleName(bundleName, reCreateForms);
1733 EXPECT_EQ(true, reCreateForms.count(formId));
1734
1735 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetReCreateFormRecordsByBundleName_001 end";
1736 }
1737
1738 /**
1739 * @tc.number: FmsFormDataMgrTest_SetFormCacheInited_001
1740 * @tc.name: SetFormCacheInited
1741 * @tc.desc: Verify that the return value is correct.
1742 * @tc.details:
1743 * formRecords_ is not found.
1744 */
1745 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetFormCacheInited_001, TestSize.Level0)
1746 {
1747 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetFormCacheInited_001 start";
1748
1749 int64_t formId = 1;
1750 std::shared_ptr<FormDataMgr> formDataMgr = std::make_shared<FormDataMgr>();
1751 ASSERT_NE(nullptr, formDataMgr);
1752 formDataMgr->SetFormCacheInited(formId, true);
1753
1754 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetFormCacheInited_001 end";
1755 }
1756
1757 /**
1758 * @tc.number: FmsFormDataMgrTest_SetFormCacheInited_002
1759 * @tc.name: SetFormCacheInited
1760 * @tc.desc: Verify that the return value is correct.
1761 * @tc.details:
1762 * formRecords_ is found.
1763 */
1764 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetFormCacheInited_002, TestSize.Level0)
1765 {
1766 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetFormCacheInited_002 start";
1767
1768 int64_t formId = 2;
1769
1770 // create formRecords
1771 int callingUid = 0;
1772 FormItemInfo formItemInfo;
1773 InitFormItemInfo(formId, formItemInfo);
1774 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1775 formDataMgr_.formRecords_.emplace(formId, record);
1776
1777 formDataMgr_.SetFormCacheInited(formId, true);
1778 EXPECT_EQ(true, formDataMgr_.formRecords_.find(formId)->second.isInited);
1779 EXPECT_EQ(false, formDataMgr_.formRecords_.find(formId)->second.needRefresh);
1780
1781 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetFormCacheInited_002 end";
1782 }
1783
1784 /**
1785 * @tc.number: FmsFormDataMgrTest_SetVersionUpgrade_001
1786 * @tc.name: SetVersionUpgrade
1787 * @tc.desc: Verify that the return value is correct.
1788 * @tc.details:
1789 * formRecords_ is not found.
1790 */
1791 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetVersionUpgrade_001, TestSize.Level0)
1792 {
1793 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetVersionUpgrade_001 start";
1794
1795 int64_t formId = 1;
1796 bool version = true;
1797 std::shared_ptr<FormDataMgr> formDataMgr = std::make_shared<FormDataMgr>();
1798 ASSERT_NE(nullptr, formDataMgr);
1799 formDataMgr->SetVersionUpgrade(formId, version);
1800
1801 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetVersionUpgrade_001 end";
1802 }
1803
1804 /**
1805 * @tc.number: FmsFormDataMgrTest_SetVersionUpgrade_002
1806 * @tc.name: SetFormCacheInited
1807 * @tc.desc: Verify that the return value is correct.
1808 * @tc.details:
1809 * formRecords_ is found.
1810 */
1811 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetVersionUpgrade_002, TestSize.Level0)
1812 {
1813 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetVersionUpgrade_002 start";
1814
1815 int64_t formId = 2;
1816 bool versionUpgrade = true;
1817
1818 // create formRecords
1819 int callingUid = 0;
1820 FormItemInfo formItemInfo;
1821 InitFormItemInfo(formId, formItemInfo);
1822 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1823 formDataMgr_.formRecords_.emplace(formId, record);
1824
1825 formDataMgr_.SetVersionUpgrade(formId, versionUpgrade);
1826 EXPECT_EQ(true, formDataMgr_.formRecords_.find(formId)->second.versionUpgrade);
1827
1828 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetVersionUpgrade_002 end";
1829 }
1830
1831 /**
1832 * @tc.number: FmsFormDataMgrTest_UpdateHostNeedRefresh_001
1833 * @tc.name: UpdateHostNeedRefresh
1834 * @tc.desc: Verify that the return value is correct.
1835 */
1836 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostNeedRefresh_001, TestSize.Level0)
1837 {
1838 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostNeedRefresh_001 start";
1839
1840 int64_t formId = 1;
1841 bool needRefresh = true;
1842
1843 // create clientRecords_
1844 FormHostRecord formHostRecord;
1845 formHostRecord.AddForm(formId);
1846 formDataMgr_.clientRecords_.push_back(formHostRecord);
1847
1848 formDataMgr_.UpdateHostNeedRefresh(formId, needRefresh);
1849
1850 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostNeedRefresh_001 end";
1851 }
1852
1853 /**
1854 * @tc.number: FmsFormDataMgrTest_UpdateHostForm_001
1855 * @tc.name: UpdateHostForm
1856 * @tc.desc: Verify that the return value is correct.
1857 */
1858 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostForm_001, TestSize.Level0)
1859 {
1860 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostForm_001 start";
1861
1862 int64_t formId = 1;
1863 FormRecord formRecord;
1864
1865 // create clientRecords_
1866 FormHostRecord formHostRecord;
1867 formHostRecord.AddForm(formId);
1868 formDataMgr_.clientRecords_.push_back(formHostRecord);
1869
1870 EXPECT_EQ(true, formDataMgr_.UpdateHostForm(formId, formRecord));
1871
1872 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostForm_001 end";
1873 }
1874
1875 /**
1876 * @tc.number: FmsFormDataMgrTest_UpdateHostFormFlag_001
1877 * @tc.name: UpdateHostFormFlag
1878 * @tc.desc: Verify that the return value is correct.
1879 * @tc.details:
1880 * clientRecords_ is not exit.
1881 */
1882 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostFormFlag_001, TestSize.Level0)
1883 {
1884 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_001 start";
1885
1886 std::vector<int64_t> formIds;
1887 int64_t formId = 1;
1888 formIds.emplace_back(formId);
1889
1890 bool flag = true;
1891
1892 std::vector<int64_t> refreshForms;
1893
1894 EXPECT_EQ(ERR_APPEXECFWK_FORM_OPERATION_NOT_SELF, formDataMgr_.UpdateHostFormFlag(formIds, token_, flag, false,
1895 refreshForms));
1896
1897 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_001 end";
1898 }
1899
1900 /**
1901 * @tc.number: FmsFormDataMgrTest_UpdateHostFormFlag_002
1902 * @tc.name: UpdateHostFormFlag
1903 * @tc.desc: Verify that the return value is correct.
1904 * @tc.details:
1905 * formRecords's VersionUpgrade is false.
1906 */
1907 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostFormFlag_002, TestSize.Level0)
1908 {
1909 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_002 start";
1910
1911 std::vector<int64_t> formIds;
1912 int64_t formId = 2;
1913 formIds.emplace_back(formId);
1914
1915 bool flag = true;
1916
1917 std::vector<int64_t> refreshForms;
1918
1919 // create clientRecords_
1920 FormHostRecord formHostRecord;
1921 formHostRecord.SetFormHostClient(token_);
1922 formHostRecord.AddForm(formId);
1923 // SetNeedRefresh:true
1924 formHostRecord.SetNeedRefresh(formId, true);
1925 formDataMgr_.clientRecords_.push_back(formHostRecord);
1926
1927 // create formRecords
1928 int callingUid = 0;
1929 FormItemInfo formItemInfo;
1930 InitFormItemInfo(formId, formItemInfo);
1931 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1932 formDataMgr_.formRecords_.emplace(formId, record);
1933 // versionUpgrade : false
1934 formDataMgr_.SetVersionUpgrade(formId, false);
1935
1936 EXPECT_EQ(ERR_OK, formDataMgr_.UpdateHostFormFlag(formIds, token_, flag, false, refreshForms));
1937
1938 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_002 end";
1939 }
1940
1941 /**
1942 * @tc.number: FmsFormDataMgrTest_UpdateHostFormFlag_003
1943 * @tc.name: UpdateHostFormFlag
1944 * @tc.desc: Verify that the return value is correct.
1945 * @tc.details:
1946 * formRecords's VersionUpgrade is true.
1947 */
1948 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostFormFlag_003, TestSize.Level0)
1949 {
1950 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_003 start";
1951
1952 std::vector<int64_t> formIds;
1953 int64_t formId = 3;
1954 formIds.emplace_back(formId);
1955
1956 bool flag = true;
1957
1958 std::vector<int64_t> refreshForms;
1959
1960 // create clientRecords_
1961 FormHostRecord formHostRecord;
1962 formHostRecord.SetFormHostClient(token_);
1963 formHostRecord.AddForm(formId);
1964 // SetNeedRefresh:true
1965 formHostRecord.SetNeedRefresh(formId, true);
1966 formDataMgr_.clientRecords_.push_back(formHostRecord);
1967
1968 // create formRecords
1969 int callingUid = 0;
1970 FormItemInfo formItemInfo;
1971 InitFormItemInfo(formId, formItemInfo);
1972 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
1973 formDataMgr_.formRecords_.emplace(formId, record);
1974 // versionUpgrade : true
1975 formDataMgr_.SetVersionUpgrade(formId, true);
1976
1977 EXPECT_EQ(ERR_OK, formDataMgr_.UpdateHostFormFlag(formIds, token_, flag, false, refreshForms));
1978
1979 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_003 end";
1980 }
1981
1982 /**
1983 * @tc.number: FmsFormDataMgrTest_UpdateHostFormFlag_004
1984 * @tc.name: UpdateHostFormFlag
1985 * @tc.desc: Verify that the return value is correct.
1986 * @tc.details:
1987 * clientRecords_'s NeedRefresh is false.
1988 */
1989 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostFormFlag_004, TestSize.Level0)
1990 {
1991 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_004 start";
1992
1993 std::vector<int64_t> formIds;
1994 int64_t formId = 4;
1995 formIds.emplace_back(formId);
1996
1997 bool flag = true;
1998
1999 std::vector<int64_t> refreshForms;
2000
2001 // create clientRecords_
2002 FormHostRecord formHostRecord;
2003 formHostRecord.SetFormHostClient(token_);
2004 formHostRecord.AddForm(formId);
2005 // SetNeedRefresh:false
2006 formHostRecord.SetNeedRefresh(formId, false);
2007 formDataMgr_.clientRecords_.push_back(formHostRecord);
2008
2009 // create formRecords
2010 int callingUid = 0;
2011 FormItemInfo formItemInfo;
2012 InitFormItemInfo(formId, formItemInfo);
2013 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2014 formDataMgr_.formRecords_.emplace(formId, record);
2015
2016 EXPECT_EQ(ERR_OK, formDataMgr_.UpdateHostFormFlag(formIds, token_, flag, false, refreshForms));
2017
2018 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_004 end";
2019 }
2020
2021 /**
2022 * @tc.number: FmsFormDataMgrTest_UpdateHostFormFlag_005
2023 * @tc.name: UpdateHostFormFlag
2024 * @tc.desc: Verify that the return value is correct.
2025 * @tc.details:
2026 * clientRecords_ is not include formId.
2027 */
2028 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostFormFlag_005, TestSize.Level0)
2029 {
2030 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_005 start";
2031
2032 std::vector<int64_t> formIds;
2033 int64_t formId = 5;
2034 formIds.emplace_back(formId);
2035
2036 bool flag = true;
2037
2038 std::vector<int64_t> refreshForms;
2039
2040 // create clientRecords_
2041 int64_t otherformId = 500;
2042 FormHostRecord formHostRecord;
2043 formHostRecord.SetFormHostClient(token_);
2044 formHostRecord.AddForm(otherformId);
2045 formDataMgr_.clientRecords_.push_back(formHostRecord);
2046
2047 // create formRecords
2048 int callingUid = 0;
2049 FormItemInfo formItemInfo;
2050 InitFormItemInfo(formId, formItemInfo);
2051 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2052 formDataMgr_.formRecords_.emplace(formId, record);
2053
2054 EXPECT_EQ(ERR_OK, formDataMgr_.UpdateHostFormFlag(formIds, token_, flag, false, refreshForms));
2055
2056 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_005 end";
2057 }
2058
2059 /**
2060 * @tc.number: FmsFormDataMgrTest_UpdateHostFormFlag_006
2061 * @tc.name: UpdateHostFormFlag
2062 * @tc.desc: Verify that the return value is correct.
2063 * @tc.details:
2064 * flag is false.
2065 */
2066 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostFormFlag_006, TestSize.Level0)
2067 {
2068 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_006 start";
2069
2070 std::vector<int64_t> formIds;
2071 int64_t formId = 6;
2072 formIds.emplace_back(formId);
2073
2074 bool flag = false;
2075
2076 std::vector<int64_t> refreshForms;
2077
2078 // create clientRecords_
2079 FormHostRecord formHostRecord;
2080 formHostRecord.SetFormHostClient(token_);
2081 formHostRecord.AddForm(formId);
2082 formDataMgr_.clientRecords_.push_back(formHostRecord);
2083
2084 // create formRecords
2085 int callingUid = 0;
2086 FormItemInfo formItemInfo;
2087 InitFormItemInfo(formId, formItemInfo);
2088 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2089 formDataMgr_.formRecords_.emplace(formId, record);
2090
2091 EXPECT_EQ(ERR_OK, formDataMgr_.UpdateHostFormFlag(formIds, token_, flag, false, refreshForms));
2092
2093 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_006 end";
2094 }
2095
2096 /**
2097 * @tc.number: FmsFormDataMgrTest_UpdateHostFormFlag_007
2098 * @tc.name: UpdateHostFormFlag
2099 * @tc.desc: Verify that the return value is correct.
2100 * @tc.details:
2101 * formRecords's needRefresh is true.
2102 */
2103 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostFormFlag_007, TestSize.Level0)
2104 {
2105 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_007 start";
2106
2107 std::vector<int64_t> formIds;
2108 int64_t formId = 7;
2109 formIds.emplace_back(formId);
2110
2111 bool flag = true;
2112
2113 std::vector<int64_t> refreshForms;
2114
2115 // create clientRecords_
2116 FormHostRecord formHostRecord;
2117 formHostRecord.SetFormHostClient(token_);
2118 formHostRecord.AddForm(formId);
2119 formDataMgr_.clientRecords_.push_back(formHostRecord);
2120
2121 // create formRecords
2122 int callingUid = 0;
2123 FormItemInfo formItemInfo;
2124 InitFormItemInfo(formId, formItemInfo);
2125 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2126 // needRefresh:true
2127 record.needRefresh = true;
2128 formDataMgr_.formRecords_.emplace(formId, record);
2129
2130 EXPECT_EQ(ERR_OK, formDataMgr_.UpdateHostFormFlag(formIds, token_, flag, false, refreshForms));
2131
2132 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_007 end";
2133 }
2134
2135 /**
2136 * @tc.number: FmsFormDataMgrTest_UpdateHostFormFlag_008
2137 * @tc.name: UpdateHostFormFlag
2138 * @tc.desc: Verify that the return value is correct.
2139 * @tc.details:
2140 * formRecords is not include formId.
2141 */
2142 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateHostFormFlag_008, TestSize.Level0)
2143 {
2144 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_008 start";
2145
2146 std::vector<int64_t> formIds;
2147 int64_t formId = 8;
2148 formIds.emplace_back(formId);
2149
2150 bool flag = true;
2151
2152 std::vector<int64_t> refreshForms;
2153
2154 // create clientRecords_
2155 FormHostRecord formHostRecord;
2156 formHostRecord.SetFormHostClient(token_);
2157 formHostRecord.AddForm(formId);
2158 formDataMgr_.clientRecords_.push_back(formHostRecord);
2159
2160 // create formRecords
2161 int64_t otherFormId = 800;
2162 int callingUid = 0;
2163 FormItemInfo formItemInfo;
2164 InitFormItemInfo(otherFormId, formItemInfo);
2165 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2166 formDataMgr_.formRecords_.emplace(otherFormId, record);
2167
2168 EXPECT_EQ(ERR_OK, formDataMgr_.UpdateHostFormFlag(formIds, token_, flag, false, refreshForms));
2169
2170 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateHostFormFlag_008 end";
2171 }
2172
2173 /**
2174 * @tc.number: FmsFormDataMgrTest_GetTempFormRecord_001
2175 * @tc.name: GetTempFormRecord
2176 * @tc.desc: Verify that the return value is correct.
2177 * @tc.details:
2178 * If temp form count is zero, return false.
2179 */
2180 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetTempFormRecord_001, TestSize.Level0)
2181 {
2182 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetTempFormRecord_001 start";
2183 // Clean all formRecords
2184 formDataMgr_.formRecords_.clear();
2185 // create formRecord
2186 int64_t otherFormId = 800;
2187 int callingUid = 0;
2188 FormItemInfo formItemInfo;
2189 formItemInfo.SetTemporaryFlag(false);
2190 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2191 formDataMgr_.formRecords_.emplace(otherFormId, record);
2192
2193 std::vector<FormRecord> formInfos;
2194 EXPECT_EQ(false, formDataMgr_.GetTempFormRecord(formInfos));
2195
2196 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetTempFormRecord_001 end";
2197 }
2198
2199 /**
2200 * @tc.number: FmsFormDataMgrTest_GetTempFormRecord_002
2201 * @tc.name: GetTempFormRecord
2202 * @tc.desc: Verify that the return value is correct.
2203 * @tc.details:
2204 * If temp form count is greater than zero, return true, and the count is correct.
2205 */
2206 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetTempFormRecord_002, TestSize.Level0)
2207 {
2208 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetTempFormRecord_002 start";
2209 // Clean all formRecords
2210 formDataMgr_.formRecords_.clear();
2211 // create formRecord
2212 int64_t otherFormId = 800;
2213 int callingUid = 0;
2214 FormItemInfo formItemInfo;
2215 formItemInfo.SetTemporaryFlag(true);
2216 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2217 formDataMgr_.formRecords_.emplace(otherFormId, record);
2218
2219 std::vector<FormRecord> formInfos;
2220 EXPECT_EQ(true, formDataMgr_.GetTempFormRecord(formInfos));
2221 EXPECT_EQ(1, formInfos.size());
2222
2223 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetTempFormRecord_002 end";
2224 }
2225
2226 /**
2227 * @tc.number: FmsFormDataMgrTest_GetRunningFormInfos_001
2228 * @tc.name: GetRunningFormInfos
2229 * @tc.desc: Verify that the return value is correct.
2230 * @tc.details:
2231 * If temp form count is greater than zero, return true, and the count is correct.
2232 */
2233 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetRunningFormInfos_001, TestSize.Level0)
2234 {
2235 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfos_001 start";
2236 // Clean all formRecords
2237 formDataMgr_.formRecords_.clear();
2238 // create formRecord
2239 int64_t otherFormId = 800;
2240 int callingUid = 20000;
2241 FormItemInfo formItemInfo;
2242 formItemInfo.SetTemporaryFlag(false);
2243 std::string bundleName = "A";
2244 formItemInfo.SetHostBundleName(bundleName);
2245 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2246 formDataMgr_.formRecords_.emplace(otherFormId, record);
2247
2248 // create clientRecords_
2249 FormHostRecord formHostRecord;
2250 formHostRecord.SetFormHostClient(token_);
2251 formHostRecord.SetHostBundleName(bundleName);
2252 formHostRecord.AddForm(otherFormId);
2253 formDataMgr_.clientRecords_.push_back(formHostRecord);
2254 std::vector<FormHostRecord> formHostRecords;
2255 formDataMgr_.GetFormHostRecord(otherFormId, formHostRecords);
2256 std::string hostBundleName = formHostRecords.begin()->GetHostBundleName();
2257 EXPECT_EQ(bundleName, hostBundleName);
2258 EXPECT_EQ(1, formHostRecords.size());
2259
2260 std::vector<RunningFormInfo> runningFormInfos;
2261 EXPECT_EQ(1, formDataMgr_.clientRecords_.size());
2262 bool isUnusedInclude = false;
2263 EXPECT_EQ(ERR_OK, formDataMgr_.GetRunningFormInfos(isUnusedInclude, runningFormInfos));
2264 EXPECT_EQ(1, runningFormInfos.size());
2265
2266 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfos_001 end";
2267 }
2268
2269 /**
2270 * @tc.number: FmsFormDataMgrTest_GetRunningFormInfos_002
2271 * @tc.name: GetRunningFormInfos
2272 * @tc.desc: Verify that the return value is correct.
2273 * @tc.details:
2274 * If temp form count is greater than zero, return true, and the count is correct.
2275 */
2276 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetRunningFormInfos_002, TestSize.Level0)
2277 {
2278 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfos_002 start";
2279 // Clean all formRecords
2280 formDataMgr_.formRecords_.clear();
2281 // create formRecord
2282 int64_t otherFormId = 800;
2283 int callingUid = 20000;
2284 FormItemInfo formItemInfo;
2285 formItemInfo.SetTemporaryFlag(false);
2286 std::string bundleName = "A";
2287 formItemInfo.SetHostBundleName(bundleName);
2288 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2289 formDataMgr_.formRecords_.emplace(otherFormId, record);
2290
2291 std::vector<RunningFormInfo> runningFormInfos;
2292 bool isUnusedInclude = false;
2293 EXPECT_EQ(0, formDataMgr_.GetRunningFormInfos(isUnusedInclude, runningFormInfos));
2294 EXPECT_EQ(0, runningFormInfos.size());
2295
2296 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfos_002 end";
2297 }
2298
2299 /**
2300 * @tc.number: FmsFormDataMgrTest_GetRunningFormInfosByBundleName_001
2301 * @tc.name: GetRunningFormInfosByBundleName
2302 * @tc.desc: Verify that the return value is correct.
2303 * @tc.details:
2304 * If temp form count is greater than zero, return true, and the count is correct.
2305 */
2306 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetRunningFormInfosByBundleName_001, TestSize.Level0)
2307 {
2308 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfosByBundleName_001 start";
2309 // Clean all formRecords
2310 formDataMgr_.formRecords_.clear();
2311 // create formRecord
2312 int64_t otherFormId = 800;
2313 int callingUid = 20000;
2314 FormItemInfo formItemInfo;
2315 formItemInfo.SetTemporaryFlag(false);
2316 std::string bundleName = "A";
2317 formItemInfo.SetHostBundleName(bundleName);
2318 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2319 formDataMgr_.formRecords_.emplace(otherFormId, record);
2320 FormHostRecord formHostRecord;
2321 formHostRecord.SetFormHostClient(token_);
2322 formHostRecord.SetHostBundleName(bundleName);
2323 formHostRecord.AddForm(otherFormId);
2324 formDataMgr_.clientRecords_.push_back(formHostRecord);
2325
2326 std::vector<RunningFormInfo> runningFormInfos;
2327 bool isUnusedInclude = false;
2328 EXPECT_EQ(0, runningFormInfos.size());
2329 EXPECT_EQ(ERR_OK, formDataMgr_.GetRunningFormInfosByBundleName(bundleName, isUnusedInclude, runningFormInfos));
2330
2331 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfosByBundleName_001 end";
2332 }
2333
2334 /**
2335 * @tc.number: FmsFormDataMgrTest_GetRunningFormInfosByBundleName_002
2336 * @tc.name: GetRunningFormInfosByBundleName
2337 * @tc.desc: Verify that the return value is correct.
2338 * @tc.details:
2339 * If temp form count is greater than zero, return true, and the count is correct.
2340 */
2341 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetRunningFormInfosByBundleName_002, TestSize.Level0)
2342 {
2343 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfosByBundleName_002 start";
2344 // Clean all formRecords
2345 formDataMgr_.formRecords_.clear();
2346 // create formRecord
2347 int64_t otherFormId = 800;
2348 int callingUid = 20000;
2349 MockGetBundleNameByUid(ERR_APPEXECFWK_FORM_GET_INFO_FAILED);
2350 FormItemInfo formItemInfo;
2351 formItemInfo.SetTemporaryFlag(false);
2352 std::string bundleName = "A";
2353 formItemInfo.SetHostBundleName(bundleName);
2354 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2355 formDataMgr_.formRecords_.emplace(otherFormId, record);
2356
2357 std::vector<RunningFormInfo> runningFormInfos;
2358 bool isUnusedInclude = false;
2359 EXPECT_EQ(0, runningFormInfos.size());
2360 EXPECT_EQ(ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED,
2361 formDataMgr_.GetRunningFormInfosByBundleName(bundleName, isUnusedInclude, runningFormInfos));
2362
2363 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfosByBundleName_002 end";
2364 }
2365
2366 /**
2367 * @tc.number: FmsFormDataMgrTest_GetRunningFormInfosByBundleName_003
2368 * @tc.name: GetRunningFormInfosByBundleName
2369 * @tc.desc: Verify that the return value is correct.
2370 * @tc.details:
2371 * If temp form count is greater than zero, return true, and the count is correct.
2372 */
2373 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetRunningFormInfosByBundleName_003, TestSize.Level0)
2374 {
2375 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfosByBundleName_003 start";
2376 // Clean all formRecords
2377 formDataMgr_.formRecords_.clear();
2378 // create formRecord
2379 int64_t otherFormId = 800;
2380 int callingUid = 20000;
2381 MockGetBundleNameByUid(ERR_OK);
2382 FormItemInfo formItemInfo;
2383 formItemInfo.SetTemporaryFlag(false);
2384 std::string bundleName = "";
2385 formItemInfo.SetHostBundleName(bundleName);
2386 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2387 formDataMgr_.formRecords_.emplace(otherFormId, record);
2388
2389 std::vector<RunningFormInfo> runningFormInfos;
2390 bool isUnusedInclude = false;
2391 EXPECT_EQ(0, runningFormInfos.size());
2392 EXPECT_EQ(ERR_APPEXECFWK_FORM_INVALID_PARAM,
2393 formDataMgr_.GetRunningFormInfosByBundleName(bundleName, isUnusedInclude, runningFormInfos));
2394
2395 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfosByBundleName_003 end";
2396 }
2397
2398 /**
2399 * @tc.number: FmsFormDataMgrTest_GetRunningFormInfosByBundleName_004
2400 * @tc.name: GetRunningFormInfosByBundleName
2401 * @tc.desc: Verify that the return value is correct.
2402 * @tc.details:
2403 * If temp form count is greater than zero, return true, and the count is correct.
2404 */
2405 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetRunningFormInfosByBundleName_004, TestSize.Level0)
2406 {
2407 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfosByBundleName_004 start";
2408 // Clean all formRecords
2409 formDataMgr_.formRecords_.clear();
2410 // create formRecord
2411 int64_t otherFormId = 800;
2412 int callingUid = 20000;
2413 FormItemInfo formItemInfo;
2414 formItemInfo.SetTemporaryFlag(false);
2415 std::string bundleName = "A";
2416 formItemInfo.SetHostBundleName(bundleName);
2417 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2418 GTEST_LOG_(INFO) << "providerUserId = " << record.providerUserId;
2419 GTEST_LOG_(INFO) << "formTempFlag = " << record.formTempFlag;
2420 formDataMgr_.formRecords_.emplace(otherFormId, record);
2421 FormHostRecord formHostRecord;
2422 formHostRecord.SetFormHostClient(token_);
2423 formHostRecord.SetHostBundleName(bundleName);
2424 formHostRecord.AddForm(otherFormId);
2425 formDataMgr_.clientRecords_.push_back(formHostRecord);
2426
2427 std::vector<RunningFormInfo> runningFormInfos;
2428 bool isUnusedInclude = false;
2429 EXPECT_EQ(ERR_OK, formDataMgr_.GetRunningFormInfosByBundleName(bundleName, isUnusedInclude, runningFormInfos));
2430
2431 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRunningFormInfosByBundleName_004 end";
2432 }
2433
2434 /**
2435 * @tc.number: FmsFormDataMgrTest_GetConfigParamFormMap_001
2436 * @tc.name: GetConfigParamFormMap
2437 * @tc.desc: Verify that the return value is correct.
2438 * @tc.details: If formConfigMap_ is empty.
2439 */
2440 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetConfigParamFormMap_001, TestSize.Level0)
2441 {
2442 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetConfigParamFormMap_001 start";
2443 // create formRecord
2444 std::map<std::string, int32_t> configMap;
2445 formDataMgr_.SetConfigMap(configMap);
2446 const std::string key = "a";
2447 int32_t value = 0;
2448 formDataMgr_.GetConfigParamFormMap(key, value);
2449 EXPECT_EQ(value, 0);
2450 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetConfigParamFormMap_001 end";
2451 }
2452
2453 /**
2454 * @tc.number: FmsFormDataMgrTest_GetConfigParamFormMap_002
2455 * @tc.name: GetConfigParamFormMap
2456 * @tc.desc: Verify that the return value is correct.
2457 * @tc.details: If the value corresponding to the key is not found in the map.
2458
2459 */
2460 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetConfigParamFormMap_002, TestSize.Level0)
2461 {
2462 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetConfigParamFormMap_002 start";
2463 // create formRecord
2464 std::map<std::string, int32_t> configMap;
2465 std::string key = "a";
2466 std::string notFindkey = "b";
2467 int32_t value = 0;
2468 configMap.emplace(key, value);
2469 formDataMgr_.SetConfigMap(configMap);
2470 formDataMgr_.GetConfigParamFormMap(notFindkey, value);
2471 EXPECT_EQ(value, 0);
2472 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetConfigParamFormMap_002 end";
2473 }
2474
2475 /**
2476 * @tc.number: FmsFormDataMgrTest_GetConfigParamFormMap_003
2477 * @tc.name: GetConfigParamFormMap
2478 * @tc.desc: Verify that the return value is correct.
2479 * @tc.details: If the value corresponding to the key is found in the map.
2480
2481 */
2482 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetConfigParamFormMap_003, TestSize.Level0)
2483 {
2484 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetConfigParamFormMap_003 start";
2485 // create formRecord
2486 std::map<std::string, int32_t> configMap;
2487 std::string key = "a";
2488 int32_t value1 = 3;
2489 int32_t value2 = 0;
2490 configMap.emplace(key, value1);
2491 formDataMgr_.SetConfigMap(configMap);
2492 formDataMgr_.GetConfigParamFormMap(key, value2);
2493 EXPECT_EQ(value1, 3);
2494 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetConfigParamFormMap_003 end";
2495 }
2496
2497 /**
2498 * @tc.name: FmsFormDataMgrTest_GetUnusedFormInstancesByFilter_0100
2499 * @tc.desc: Test GetUnusedFormInstancesByFilter by the size of formInstances.
2500 * @tc.type: FUNC
2501 */
2502 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetUnusedFormInstancesByFilter_0100, TestSize.Level1)
2503 {
2504 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUnusedFormInstancesByFilter_0100 start";
2505 FormDBInfo formDbInfo;
2506 formDbInfo.formId = FORM_ID_ONE;
2507 formDbInfo.formUserUids.emplace_back(0);
2508 formDbInfo.bundleName = FORM_HOST_BUNDLE_NAME;
2509 FormDbCache::GetInstance().formDBInfos_.emplace_back(formDbInfo);
2510 MockGetBundleNameByUid(ERR_APPEXECFWK_FORM_GET_INFO_FAILED);
2511 MockGetAllFormInfo(0);
2512 FormInstancesFilter formInstancesFilter;
2513 formInstancesFilter.bundleName = FORM_HOST_BUNDLE_NAME;
2514 std::vector<FormInstance> formInstances;
2515 formDataMgr_.GetUnusedFormInstancesByFilter(formInstancesFilter, formInstances);
2516 EXPECT_EQ(formInstances.size(), 0);
2517 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUnusedFormInstancesByFilter_0100 end";
2518 }
2519
2520 /**
2521 * @tc.name: FmsFormDataMgrTest_GetFormInstancesByFilter_0100
2522 * @tc.desc: Test GetFormInstancesByFilter by bundleName of formInstancesFilter empty.
2523 * @tc.type: FUNC
2524 */
2525 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_0100, TestSize.Level1)
2526 {
2527 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_0100 start";
2528 FormInstancesFilter formInstancesFilter;
2529 formInstancesFilter.bundleName = "";
2530 std::vector<FormInstance> formInstances;
2531 auto res = formDataMgr_.GetFormInstancesByFilter(formInstancesFilter, formInstances);
2532 EXPECT_EQ(res, ERR_APPEXECFWK_FORM_INVALID_PARAM);
2533 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_0100 end";
2534 }
2535
2536 /**
2537 * @tc.name: FmsFormDataMgrTest_GetFormInstancesByFilter_0200
2538 * @tc.desc: Test GetFormInstancesByFilter by the size of formInstances.
2539 * @tc.type: FUNC
2540 */
2541 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_0200, TestSize.Level1)
2542 {
2543 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_0200 start";
2544 FormRecord formRecord;
2545 formRecord.bundleName = FORM_HOST_BUNDLE_NAME;
2546 formRecord.formId = FORM_ID_ONE;
2547 formDataMgr_.formRecords_.emplace(1, formRecord);
2548 FormHostRecord formHostRecord;
2549 formHostRecord.AddForm(1);
2550 formDataMgr_.clientRecords_.push_back(formHostRecord);
2551 FormInstancesFilter formInstancesFilter;
2552 formInstancesFilter.bundleName = FORM_HOST_BUNDLE_NAME;
2553 formInstancesFilter.isUnusedIncluded = false;
2554 std::vector<FormInstance> formInstances;
2555 auto res = formDataMgr_.GetFormInstancesByFilter(formInstancesFilter, formInstances);
2556 EXPECT_NE(formInstances.size(), 0);
2557 EXPECT_EQ(res, ERR_OK);
2558 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_0200 end";
2559 }
2560
2561 /**
2562 * @tc.name: FmsFormDataMgrTest_GetFormInstancesByFilter_0300
2563 * @tc.desc: Test GetFormInstancesByFilter by the size of formInstances.
2564 * @tc.type: FUNC
2565 */
2566 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_0300, TestSize.Level1)
2567 {
2568 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_0300 start";
2569 FormRecord formRecord;
2570 formRecord.bundleName = FORM_BUNDLE_NAME;
2571 formRecord.moduleName = PARAM_PROVIDER_MODULE_NAME;
2572 formDataMgr_.formRecords_.clear();
2573 formDataMgr_.formRecords_.emplace(FORM_ID_ONE, formRecord);
2574 FormInstancesFilter formInstancesFilter;
2575 formInstancesFilter.bundleName = FORM_HOST_BUNDLE_NAME;
2576 formInstancesFilter.isUnusedIncluded = false;
2577 formInstancesFilter.moduleName = PARAM_PROVIDER_MODULE_NAME;
2578 std::vector<FormInstance> formInstances;
2579 auto res = formDataMgr_.GetFormInstancesByFilter(formInstancesFilter, formInstances);
2580 EXPECT_EQ(formInstances.size(), 0);
2581 EXPECT_EQ(res, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
2582 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_0300 end";
2583 }
2584
2585 /**
2586 * @tc.name: FmsFormDataMgrTest_GetFormInstanceById_0100
2587 * @tc.desc: Test GetFormInstancesByFilter by the price of formId.
2588 * @tc.type: FUNC
2589 */
2590 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstanceById_0100, TestSize.Level1)
2591 {
2592 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_0100 start";
2593 int64_t formId = FORM_ID_ZERO;
2594 bool isUnusedInclude = false;
2595 FormInstance formInstance;
2596 auto ret = formDataMgr_.GetFormInstanceById(formId, isUnusedInclude, formInstance);
2597 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_INVALID_PARAM);
2598 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_0100 end";
2599 }
2600
2601 /**
2602 * @tc.name: FmsFormDataMgrTest_GetFormInstanceById_0200
2603 * @tc.desc: Test GetFormInstancesByFilter by the price of formUsageState.
2604 * @tc.type: FUNC
2605 */
2606 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstanceById_0200, TestSize.Level1)
2607 {
2608 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_0200 start";
2609 int64_t formId = FORM_ID_ONE;
2610 FormRecord formRecord;
2611 formDataMgr_.formRecords_.emplace(formId, formRecord);
2612 FormHostRecord formHostRecord;
2613 formHostRecord.AddForm(formId);
2614 formDataMgr_.clientRecords_.push_back(formHostRecord);
2615 bool isUnusedInclude = false;
2616 FormInstance formInstance;
2617 auto res = formDataMgr_.GetFormInstanceById(formId, isUnusedInclude, formInstance);
2618 EXPECT_EQ(formInstance.formUsageState, FormUsageState::USED);
2619 EXPECT_EQ(res, ERR_OK);
2620 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_0200 end";
2621 }
2622
2623 /**
2624 * @tc.name: FmsFormDataMgrTest_GetFormInstanceById_0300
2625 * @tc.desc: Verify that the return value when all condition inconformity.
2626 * @tc.type: FUNC
2627 */
2628 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstanceById_0300, TestSize.Level1)
2629 {
2630 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_0300 start";
2631 formDataMgr_.formRecords_.clear();
2632 int64_t formId = FORM_ID_ONE;
2633 bool isUnusedInclude = false;
2634 FormInstance formInstance;
2635 auto res = formDataMgr_.GetFormInstanceById(formId, isUnusedInclude, formInstance);
2636 EXPECT_EQ(res, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
2637 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_0300 end";
2638 }
2639
2640 /**
2641 * @tc.name: FmsFormDataMgrTest_GetFormInstanceById_0400
2642 * @tc.desc: Verify that the return value when formUserUids is empty and isUnusedIncluded is ture.
2643 * @tc.type: FUNC
2644 */
2645 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstanceById_0400, TestSize.Level1)
2646 {
2647 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_0400 start";
2648 formDataMgr_.clientRecords_.clear();
2649 EXPECT_EQ(FormDbCache::GetInstance().formDBInfos_.size(), 0);
2650 FormDBInfo formDbInfo;
2651 formDbInfo.formId = FORM_ID_ONE;
2652 FormDbCache::GetInstance().formDBInfos_.emplace_back(formDbInfo);
2653 int64_t formId = FORM_ID_ONE;
2654 bool isUnusedInclude = true;
2655 FormInstance formInstance;
2656 auto res = formDataMgr_.GetFormInstanceById(formId, isUnusedInclude, formInstance);
2657 EXPECT_EQ(res, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
2658 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_0400 end";
2659 }
2660
2661 /**
2662 * @tc.number: FmsFormDataMgrTest_GetUnusedFormInfos_0100
2663 * @tc.desc: Verify that the runningFormInfos size.
2664 * @tc.type: FUNC
2665 */
2666 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetUnusedFormInfos_0100, TestSize.Level1)
2667 {
2668 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUnusedFormInfos_0100 start";
2669 FormDBInfo formDbInfo;
2670 formDbInfo.formId = 1;
2671 formDbInfo.formUserUids.emplace_back(FORM_USER_UIDS_ZERO);
2672 FormDbCache::GetInstance().formDBInfos_.emplace_back(formDbInfo);
2673 MockGetBundleNameByUid(ERR_APPEXECFWK_FORM_GET_INFO_FAILED);
2674 MockGetAllFormInfo(0);
2675 std::vector<RunningFormInfo> runningFormInfos;
2676 formDataMgr_.GetUnusedFormInfos(runningFormInfos);
2677 EXPECT_EQ(runningFormInfos.size(), 0);
2678 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUnusedFormInfos_0100 end";
2679 }
2680
2681 /**
2682 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_001
2683 * @tc.name: GetFormInstancesByFilter
2684 * @tc.desc: Verify that the return value is correct.
2685 * @tc.details:
2686 * If temp form count is greater than zero, return true, and the count is correct.
2687 */
2688 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_001, TestSize.Level0)
2689 {
2690 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_001 start";
2691 formDataMgr_.formRecords_.clear();
2692 FormInstancesFilter instancesFilter;
2693 std::vector<FormInstance> formInstances;
2694 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2695 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_INVALID_PARAM);
2696 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_001 end";
2697 }
2698
2699 /**
2700 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_002
2701 * @tc.name: GetFormInstancesByFilter
2702 * @tc.desc: Verify that the return value is correct.
2703 * @tc.details:
2704 * If temp form count is greater than zero, return true, and the count is correct.
2705 */
2706 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_002, TestSize.Level0)
2707 {
2708 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_002 start";
2709 // create formRecord
2710 formDataMgr_.formRecords_.clear();
2711 FormInstancesFilter instancesFilter;
2712 instancesFilter.bundleName = "com.example.text";
2713 std::vector<FormInstance> formInstances;
2714 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2715 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
2716 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_002 end";
2717 }
2718
2719 /**
2720 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_003
2721 * @tc.name: GetFormInstancesByFilter
2722 * @tc.desc: Verify that the return value is correct.
2723 * @tc.details:
2724 * If temp form count is greater than zero, return true, and the count is correct.
2725 */
2726 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_003, TestSize.Level0)
2727 {
2728 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_003 start";
2729 // create formRecord
2730 formDataMgr_.formRecords_.clear();
2731 FormItemInfo formItemInfo;
2732 formItemInfo.SetTemporaryFlag(false);
2733 FormInstancesFilter instancesFilter;
2734 instancesFilter.bundleName = "com.example.text";
2735 formItemInfo.SetProviderBundleName(instancesFilter.bundleName);
2736 formItemInfo.SetHostBundleName(instancesFilter.bundleName);
2737 int callingUid = 100;
2738 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2739 int64_t otherFormId = 800;
2740 formDataMgr_.formRecords_.emplace(otherFormId, record);
2741 FormHostRecord hostRecord;
2742 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
2743 formDataMgr_.clientRecords_.emplace_back(hostRecord);
2744
2745 std::vector<FormInstance> formInstances;
2746 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2747 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
2748 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_003 end";
2749 }
2750
2751 /**
2752 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_004
2753 * @tc.name: GetFormInstancesByFilter
2754 * @tc.desc: Verify that the return value is correct.
2755 * @tc.details:
2756 * If temp form count is greater than zero, return true, and the count is correct.
2757 */
2758 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_004, TestSize.Level0)
2759 {
2760 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_004 start";
2761 // create formRecord
2762 formDataMgr_.formRecords_.clear();
2763 FormItemInfo formItemInfo;
2764 formItemInfo.SetTemporaryFlag(false);
2765 std::string bundleName = "com.example.demo";
2766 formItemInfo.SetProviderBundleName(bundleName);
2767 formItemInfo.SetHostBundleName(bundleName);
2768 int callingUid = 100;
2769 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2770 int64_t otherFormId = 800;
2771 formDataMgr_.formRecords_.emplace(otherFormId, record);
2772 FormHostRecord hostRecord;
2773 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
2774 formDataMgr_.clientRecords_.emplace_back(hostRecord);
2775
2776 FormInstancesFilter instancesFilter;
2777 instancesFilter.bundleName = "com.example.text";
2778 std::vector<FormInstance> formInstances;
2779 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2780 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
2781 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_004 end";
2782 }
2783
2784 /**
2785 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_005
2786 * @tc.name: GetFormInstancesByFilter
2787 * @tc.desc: Verify that the return value is correct.
2788 * @tc.details:
2789 * If temp form count is greater than zero, return true, and the count is correct.
2790 */
2791 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_005, TestSize.Level0)
2792 {
2793 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_005 start";
2794 // create formRecord
2795 formDataMgr_.formRecords_.clear();
2796 FormItemInfo formItemInfo;
2797 formItemInfo.SetTemporaryFlag(false);
2798 std::string bundleName = "com.example.text";
2799 formItemInfo.SetHostBundleName(bundleName);
2800 formItemInfo.SetProviderBundleName(bundleName);
2801 std::string moduleName = "entry";
2802 formItemInfo.SetModuleName(moduleName);
2803 int callingUid = 100;
2804 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2805 int64_t otherFormId = 800;
2806 record.formId = otherFormId;
2807 formDataMgr_.formRecords_.emplace(otherFormId, record);
2808 FormHostRecord hostRecord;
2809 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
2810 hostRecord.AddForm(otherFormId);
2811 formDataMgr_.clientRecords_.emplace_back(hostRecord);
2812
2813 FormInstancesFilter instancesFilter;
2814 instancesFilter.bundleName = "com.example.text";
2815 instancesFilter.moduleName = "entry";
2816 std::vector<FormInstance> formInstances;
2817 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2818 EXPECT_EQ(ret, ERR_OK);
2819 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_005 end";
2820 }
2821
2822 /**
2823 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_006
2824 * @tc.name: GetFormInstancesByFilter
2825 * @tc.desc: Verify that the return value is correct.
2826 * @tc.details:
2827 * If temp form count is greater than zero, return true, and the count is correct.
2828 */
2829 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_006, TestSize.Level0)
2830 {
2831 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_006 start";
2832 // create formRecord
2833 formDataMgr_.formRecords_.clear();
2834 FormItemInfo formItemInfo;
2835 formItemInfo.SetTemporaryFlag(false);
2836 std::string bundleName = "com.example.text";
2837 formItemInfo.SetProviderBundleName(bundleName);
2838 formItemInfo.SetHostBundleName(bundleName);
2839 std::string moduleName = "entry";
2840 formItemInfo.SetModuleName(moduleName);
2841 std::string abilityName = "MainAbility";
2842 formItemInfo.SetAbilityName(abilityName);
2843 int callingUid = 100;
2844 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2845 int64_t otherFormId = 800;
2846 record.formId = otherFormId;
2847 formDataMgr_.formRecords_.emplace(otherFormId, record);
2848 FormHostRecord hostRecord;
2849 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
2850 hostRecord.AddForm(otherFormId);
2851 formDataMgr_.clientRecords_.emplace_back(hostRecord);
2852
2853 FormInstancesFilter instancesFilter;
2854 instancesFilter.bundleName = "com.example.text";
2855 instancesFilter.moduleName = "entry";
2856 instancesFilter.abilityName = "MainAbility";
2857 std::vector<FormInstance> formInstances;
2858 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2859 EXPECT_EQ(ret, ERR_OK);
2860 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_006 end";
2861 }
2862
2863 /**
2864 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_007
2865 * @tc.name: GetFormInstancesByFilter
2866 * @tc.desc: Verify that the return value is correct.
2867 * @tc.details:
2868 * If temp form count is greater than zero, return true, and the count is correct.
2869 */
2870 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_007, TestSize.Level0)
2871 {
2872 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_007 start";
2873 // create formRecord
2874 formDataMgr_.formRecords_.clear();
2875 FormItemInfo formItemInfo;
2876 formItemInfo.SetTemporaryFlag(false);
2877 std::string bundleName = "com.example.text";
2878 formItemInfo.SetProviderBundleName(bundleName);
2879 formItemInfo.SetHostBundleName(bundleName);
2880 std::string moduleName = "entry";
2881 formItemInfo.SetModuleName(moduleName);
2882 std::string abilityName = "MainAbility";
2883 formItemInfo.SetAbilityName(abilityName);
2884 std::string formName = "FormAbility";
2885 formItemInfo.SetFormName(formName);
2886 int callingUid = 100;
2887 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2888 int64_t otherFormId = 800;
2889 record.formId = otherFormId;
2890 formDataMgr_.formRecords_.emplace(otherFormId, record);
2891 FormHostRecord hostRecord;
2892 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
2893 hostRecord.AddForm(otherFormId);
2894 formDataMgr_.clientRecords_.emplace_back(hostRecord);
2895
2896 FormInstancesFilter instancesFilter;
2897 instancesFilter.bundleName = "com.example.text";
2898 instancesFilter.moduleName = "entry";
2899 instancesFilter.abilityName = "MainAbility";
2900 instancesFilter.formName = "FormAbility";
2901 std::vector<FormInstance> formInstances;
2902 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2903 EXPECT_EQ(ret, ERR_OK);
2904 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_007 end";
2905 }
2906
2907 /**
2908 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_008
2909 * @tc.name: GetFormInstancesByFilter
2910 * @tc.desc: Verify that the return value is correct.
2911 * @tc.details:
2912 * If temp form count is greater than zero, return true, and the count is correct.
2913 */
2914 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_008, TestSize.Level0)
2915 {
2916 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_008 start";
2917 // create formRecord
2918 formDataMgr_.formRecords_.clear();
2919 FormItemInfo formItemInfo;
2920 formItemInfo.SetTemporaryFlag(false);
2921 std::string bundleName = "com.example.text";
2922 formItemInfo.SetProviderBundleName(bundleName);
2923 formItemInfo.SetHostBundleName(bundleName);
2924 std::string moduleName = "entry";
2925 formItemInfo.SetModuleName(moduleName);
2926 std::string abilityName = "MainAbility";
2927 formItemInfo.SetAbilityName(abilityName);
2928 std::string formName = "FormAbility";
2929 formItemInfo.SetFormName(formName);
2930 int callingUid = 100;
2931 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2932 int64_t otherFormId = 800;
2933 record.formId = otherFormId;
2934 formDataMgr_.formRecords_.emplace(otherFormId, record);
2935 FormHostRecord hostRecord;
2936 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
2937 hostRecord.AddForm(otherFormId);
2938 formDataMgr_.clientRecords_.emplace_back(hostRecord);
2939
2940 FormInstancesFilter instancesFilter;
2941 instancesFilter.bundleName = "com.example.text";
2942 instancesFilter.moduleName = "testEntry";
2943 instancesFilter.abilityName = "MainAbility";
2944 instancesFilter.formName = "FormAbility";
2945 std::vector<FormInstance> formInstances;
2946 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2947 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
2948 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_008 end";
2949 }
2950
2951 /**
2952 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_009
2953 * @tc.name: GetFormInstancesByFilter
2954 * @tc.desc: Verify that the return value is correct.
2955 * @tc.details:
2956 * If temp form count is greater than zero, return true, and the count is correct.
2957 */
2958 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_009, TestSize.Level0)
2959 {
2960 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_009 start";
2961 // create formRecord
2962 formDataMgr_.formRecords_.clear();
2963 FormItemInfo formItemInfo;
2964 formItemInfo.SetTemporaryFlag(false);
2965 std::string bundleName = "com.example.text";
2966 formItemInfo.SetProviderBundleName(bundleName);
2967 formItemInfo.SetHostBundleName(bundleName);
2968 std::string moduleName = "entry";
2969 formItemInfo.SetModuleName(moduleName);
2970 std::string abilityName = "MainAbility";
2971 formItemInfo.SetAbilityName(abilityName);
2972 std::string formName = "FormAbility";
2973 formItemInfo.SetFormName(formName);
2974 int callingUid = 100;
2975 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
2976 int64_t otherFormId = 800;
2977 record.formId = otherFormId;
2978 formDataMgr_.formRecords_.emplace(otherFormId, record);
2979 FormHostRecord hostRecord;
2980 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
2981 hostRecord.AddForm(otherFormId);
2982 formDataMgr_.clientRecords_.emplace_back(hostRecord);
2983
2984 FormInstancesFilter instancesFilter;
2985 instancesFilter.bundleName = "com.example.text";
2986 instancesFilter.moduleName = "entry";
2987 instancesFilter.abilityName = "EntryAbility";
2988 instancesFilter.formName = "FormAbility";
2989 std::vector<FormInstance> formInstances;
2990 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
2991 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
2992 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_009 end";
2993 }
2994
2995 /**
2996 * @tc.number: FmsFormDataMgrTest_GetFormInstancesByFilter_0010
2997 * @tc.name: GetFormInstancesByFilter
2998 * @tc.desc: Verify that the return value is correct.
2999 * @tc.details:
3000 * If temp form count is greater than zero, return true, and the count is correct.
3001 */
3002 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesByFilter_0010, TestSize.Level0)
3003 {
3004 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_0010 start";
3005 // create formRecord
3006 formDataMgr_.formRecords_.clear();
3007 FormItemInfo formItemInfo;
3008 formItemInfo.SetTemporaryFlag(false);
3009 std::string bundleName = "com.example.text";
3010 formItemInfo.SetProviderBundleName(bundleName);
3011 formItemInfo.SetHostBundleName(bundleName);
3012 std::string moduleName = "entry";
3013 formItemInfo.SetModuleName(moduleName);
3014 std::string abilityName = "MainAbility";
3015 formItemInfo.SetAbilityName(abilityName);
3016 std::string formName = "FormAbility";
3017 formItemInfo.SetFormName(formName);
3018 int callingUid = 100;
3019 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
3020 int64_t otherFormId = 800;
3021 record.formId = otherFormId;
3022 formDataMgr_.formRecords_.emplace(otherFormId, record);
3023 FormHostRecord hostRecord;
3024 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
3025 hostRecord.AddForm(otherFormId);
3026 formDataMgr_.clientRecords_.emplace_back(hostRecord);
3027
3028 FormInstancesFilter instancesFilter;
3029 instancesFilter.bundleName = "com.example.text";
3030 instancesFilter.moduleName = "entry";
3031 instancesFilter.abilityName = "EntryAbility";
3032 instancesFilter.formName = "TestFormAbility";
3033 std::vector<FormInstance> formInstances;
3034 auto ret = formDataMgr_.GetFormInstancesByFilter(instancesFilter, formInstances);
3035 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
3036 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstancesByFilter_0010 end";
3037 }
3038
3039 /**
3040 * @tc.number: FmsFormDataMgrTest_GetFormInstanceById_001
3041 * @tc.name: GetFormInstanceById
3042 * @tc.desc: Verify that the return value is correct.
3043 * @tc.details:
3044 * If temp form count is greater than zero, return true, and the count is correct.
3045 */
3046 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesById_001, TestSize.Level0)
3047 {
3048 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_001 start";
3049 FormInstancesFilter instancesFilter;
3050 int64_t invalidFormId = -1;
3051 FormInstance formInstance;
3052 auto ret = formDataMgr_.GetFormInstanceById(invalidFormId, formInstance);
3053 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_INVALID_PARAM);
3054 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_001 end";
3055 }
3056
3057 /**
3058 * @tc.number: FmsFormDataMgrTest_GetFormInstanceById_002
3059 * @tc.name: GetFormInstanceById
3060 * @tc.desc: Verify that the return value is correct.
3061 * @tc.details:
3062 * If temp form count is greater than zero, return true, and the count is correct.
3063 */
3064 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstanceById_002, TestSize.Level0)
3065 {
3066 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_002 start";
3067 formDataMgr_.formRecords_.clear();
3068 FormItemInfo formItemInfo;
3069 formItemInfo.SetTemporaryFlag(false);
3070 std::string bundleName = "com.example.text";
3071 formItemInfo.SetProviderBundleName(bundleName);
3072 formItemInfo.SetHostBundleName(bundleName);
3073 std::string moduleName = "entry";
3074 formItemInfo.SetModuleName(moduleName);
3075 std::string abilityName = "MainAbility";
3076 formItemInfo.SetAbilityName(abilityName);
3077 std::string formName = "FormAbility";
3078 formItemInfo.SetFormName(formName);
3079 int callingUid = 100;
3080 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
3081 int64_t otherFormId = 800;
3082 formDataMgr_.formRecords_.emplace(otherFormId, record);
3083 FormHostRecord hostRecord;
3084 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
3085 hostRecord.AddForm(otherFormId);
3086 formDataMgr_.clientRecords_.emplace_back(hostRecord);
3087
3088 FormInstancesFilter instancesFilter;
3089 int64_t formId = 800;
3090 FormInstance formInstance;
3091 auto ret = formDataMgr_.GetFormInstanceById(formId, formInstance);
3092 EXPECT_EQ(ret, ERR_OK);
3093 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_002 end";
3094 }
3095
3096 /**
3097 * @tc.number: FmsFormDataMgrTest_GetFormInstanceById_003
3098 * @tc.name: GetFormInstanceById
3099 * @tc.desc: Verify that the return value is correct.
3100 * @tc.details:
3101 * If temp form count is greater than zero, return true, and the count is correct.
3102 */
3103 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstancesById_003, TestSize.Level0)
3104 {
3105 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_003 start";
3106 formDataMgr_.formRecords_.clear();
3107 FormItemInfo formItemInfo;
3108 formItemInfo.SetTemporaryFlag(false);
3109 std::string bundleName = "com.example.text";
3110 formItemInfo.SetProviderBundleName(bundleName);
3111 formItemInfo.SetHostBundleName(bundleName);
3112 std::string moduleName = "entry";
3113 formItemInfo.SetModuleName(moduleName);
3114 std::string abilityName = "MainAbility";
3115 formItemInfo.SetAbilityName(abilityName);
3116 std::string formName = "FormAbility";
3117 formItemInfo.SetFormName(formName);
3118 int callingUid = 100;
3119 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
3120 int64_t otherFormId = 800;
3121 formDataMgr_.formRecords_.emplace(otherFormId, record);
3122 FormHostRecord hostRecord;
3123 hostRecord.AddForm(otherFormId);
3124 formDataMgr_.CreateHostRecord(formItemInfo, token_, 1000, hostRecord);
3125 formDataMgr_.clientRecords_.emplace_back(hostRecord);
3126
3127 FormInstancesFilter instancesFilter;
3128 int64_t formId = 100;
3129 FormInstance formInstance;
3130 auto ret = formDataMgr_.GetFormInstanceById(formId, formInstance);
3131 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_GET_BUNDLE_FAILED);
3132 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_003 end";
3133 }
3134
3135 /**
3136 * @tc.number: FmsFormDataMgrTest_GetFormInstanceById_004
3137 * @tc.name: GetFormInstanceById
3138 * @tc.desc: Verify that the return value is correct.
3139 * @tc.details:
3140 * If temp form count is greater than zero, return true, and the count is correct.
3141 */
3142 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormInstanceById_004, TestSize.Level0)
3143 {
3144 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_004 start";
3145 formDataMgr_.formRecords_.clear();
3146 FormItemInfo formItemInfo;
3147 formItemInfo.SetTemporaryFlag(false);
3148 std::string bundleName = "com.example.text";
3149 formItemInfo.SetProviderBundleName(bundleName);
3150 formItemInfo.SetHostBundleName(bundleName);
3151 std::string moduleName = "entry";
3152 formItemInfo.SetModuleName(moduleName);
3153 std::string abilityName = "MainAbility";
3154 formItemInfo.SetAbilityName(abilityName);
3155 std::string formName = "FormAbility";
3156 formItemInfo.SetFormName(formName);
3157 int callingUid = 100;
3158 FormRecord record = formDataMgr_.CreateFormRecord(formItemInfo, callingUid);
3159 int64_t otherFormId = 800;
3160 formDataMgr_.formRecords_.emplace(otherFormId, record);
3161
3162 FormInstancesFilter instancesFilter;
3163 int64_t formId = 800;
3164 FormInstance formInstance;
3165 auto ret = formDataMgr_.GetFormInstanceById(formId, formInstance);
3166 EXPECT_EQ(ret, ERR_APPEXECFWK_FORM_COMMON_CODE);
3167 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormInstanceById_004 end";
3168 }
3169
3170 /**
3171 * @tc.number: FmsFormDataMgrTest_UpdateFormCloudUpdateDuration_001
3172 * @tc.name: UpdateFormCloudUpdateDuration
3173 * @tc.desc: Verify that the map can be operated normally.
3174 * @tc.details: Add an element to an empty map, and add success.
3175 */
3176 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateFormCloudUpdateDuration_001, TestSize.Level0)
3177 {
3178 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormCloudUpdateDuration_001 start";
3179 std::string bundleName = "bundleName";
3180 int duration = 1;
3181 formDataMgr_.formCloudUpdateDurationMap_.clear();
3182 formDataMgr_.UpdateFormCloudUpdateDuration(bundleName, duration);
3183 int expectDuration = formDataMgr_.GetFormCloudUpdateDuration(bundleName);
3184 EXPECT_EQ(expectDuration, duration);
3185 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormCloudUpdateDuration_001 end";
3186 }
3187
3188 /**
3189 * @tc.number: FmsFormDataMgrTest_UpdateFormCloudUpdateDuration_002
3190 * @tc.name: UpdateFormCloudUpdateDuration
3191 * @tc.desc: Verify that the map can be operated normally.
3192 * @tc.details: Add an existing element to a map, and the previous element was replaced.
3193 */
3194 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateFormCloudUpdateDuration_002, TestSize.Level0)
3195 {
3196 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormCloudUpdateDuration_002 start";
3197 std::string bundleName = "bundleName";
3198 int duration = 0;
3199 formDataMgr_.formCloudUpdateDurationMap_.clear();
3200 formDataMgr_.UpdateFormCloudUpdateDuration(bundleName, duration);
3201 duration = 1;
3202 formDataMgr_.UpdateFormCloudUpdateDuration(bundleName, duration);
3203 int expectDuration = formDataMgr_.GetFormCloudUpdateDuration(bundleName);
3204 EXPECT_EQ(expectDuration, duration);
3205 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormCloudUpdateDuration_002 end";
3206 }
3207
3208 /**
3209 * @tc.number: FmsFormDataMgrTest_RemoveFormCloudUpdateDuration_001
3210 * @tc.name: RemoveFormCloudUpdateDuration
3211 * @tc.desc: Verify that the map can be operated normally.
3212 * @tc.details: Remove an element from the map, and remove success.
3213 */
3214 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_RemoveFormCloudUpdateDuration_001, TestSize.Level0)
3215 {
3216 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_RemoveFormCloudUpdateDuration_001 start";
3217 std::string bundleName = "bundleName";
3218 int duration = 1;
3219 formDataMgr_.formCloudUpdateDurationMap_.clear();
3220 formDataMgr_.UpdateFormCloudUpdateDuration(bundleName, duration);
3221 EXPECT_EQ(formDataMgr_.formCloudUpdateDurationMap_.size(), 1);
3222 formDataMgr_.RemoveFormCloudUpdateDuration(bundleName);
3223 EXPECT_EQ(formDataMgr_.formCloudUpdateDurationMap_.size(), 0);
3224 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_RemoveFormCloudUpdateDuration_001 end";
3225 }
3226
3227 /**
3228 * @tc.number: FmsFormDataMgrTest_RemoveFormCloudUpdateDuration_002
3229 * @tc.name: RemoveFormCloudUpdateDuration
3230 * @tc.desc: Verify that the map can be operated normally.
3231 * @tc.details: Remove a non-existent element from the map, and no operation.
3232 */
3233 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_RemoveFormCloudUpdateDuration_002, TestSize.Level0)
3234 {
3235 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_RemoveFormCloudUpdateDuration_002 start";
3236 std::string bundleName = "bundleName";
3237 int duration = 1;
3238 formDataMgr_.formCloudUpdateDurationMap_.clear();
3239 formDataMgr_.UpdateFormCloudUpdateDuration(bundleName, duration);
3240 EXPECT_EQ(formDataMgr_.formCloudUpdateDurationMap_.size(), 1);
3241 formDataMgr_.RemoveFormCloudUpdateDuration("");
3242 EXPECT_EQ(formDataMgr_.formCloudUpdateDurationMap_.size(), 1);
3243 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_RemoveFormCloudUpdateDuration_002 end";
3244 }
3245
3246 /**
3247 * @tc.number: FmsFormDataMgrTest_GetFormCloudUpdateDuration_001
3248 * @tc.name: GetFormCloudUpdateDuration
3249 * @tc.desc: Verify that the map can be operated normally.
3250 * @tc.details: Get an element from the map, and get success.
3251 */
3252 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormCloudUpdateDuration_001, TestSize.Level0)
3253 {
3254 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormCloudUpdateDuration_001 start";
3255 std::string bundleName = "bundleName";
3256 int duration = 1;
3257 formDataMgr_.formCloudUpdateDurationMap_.clear();
3258 formDataMgr_.UpdateFormCloudUpdateDuration(bundleName, duration);
3259 int expectDuration = formDataMgr_.GetFormCloudUpdateDuration(bundleName);
3260 EXPECT_EQ(expectDuration, duration);
3261 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormCloudUpdateDuration_001 end";
3262 }
3263
3264 /**
3265 * @tc.number: FmsFormDataMgrTest_GetFormCloudUpdateDuration_002
3266 * @tc.name: GetFormCloudUpdateDuration
3267 * @tc.desc: Verify that the map can be operated normally.
3268 * @tc.details: Get a non-existent element from the map, and result is 0.
3269 */
3270 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormCloudUpdateDuration_002, TestSize.Level0)
3271 {
3272 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormCloudUpdateDuration_002 start";
3273 std::string bundleName = "bundleName";
3274 int duration = 1;
3275 formDataMgr_.formCloudUpdateDurationMap_.clear();
3276 formDataMgr_.UpdateFormCloudUpdateDuration(bundleName, duration);
3277 int expectDuration = formDataMgr_.GetFormCloudUpdateDuration("");
3278 EXPECT_EQ(expectDuration, 0);
3279 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormCloudUpdateDuration_002 end";
3280 }
3281
3282 /**
3283 * @tc.number: FmsFormDataMgrTest_HasFormCloudUpdateDuration_001
3284 * @tc.name: HasFormCloudUpdateDuration
3285 * @tc.desc: Verify that the map can be operated normally.
3286 * @tc.details: Determine whether an element exists in the map.
3287 */
3288 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_HasFormCloudUpdateDuration_001, TestSize.Level0)
3289 {
3290 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HasFormCloudUpdateDuration_001 start";
3291 std::string bundleName = "bundleName";
3292 int duration = 1;
3293 formDataMgr_.formCloudUpdateDurationMap_.clear();
3294 formDataMgr_.UpdateFormCloudUpdateDuration(bundleName, duration);
3295 bool isHas = formDataMgr_.HasFormCloudUpdateDuration(bundleName);
3296 EXPECT_TRUE(isHas);
3297 isHas = formDataMgr_.HasFormCloudUpdateDuration("");
3298 EXPECT_FALSE(isHas);
3299 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HasFormCloudUpdateDuration_001 end";
3300 }
3301
3302 /**
3303 * @tc.number: FmsFormDataMgrTest_UpdateFormLocation_001
3304 * @tc.name: UpdateFormLocation
3305 * @tc.desc: Verify that the map can be operated normally.
3306 * @tc.details: Determine whether an element exists in the map.
3307 */
3308 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_UpdateFormLocation_001, TestSize.Level0)
3309 {
3310 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormLocation_001 start";
3311 FormRecord record;
3312 record.formLocation = Constants::FormLocation::FORM_CENTER;
3313 int64_t formId = 1;
3314 int32_t formLocation = 1;
3315 formDataMgr_.formRecords_.emplace(formId, record);
3316 EXPECT_EQ(ERR_OK, formDataMgr_.UpdateFormLocation(formId, formLocation));
3317 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_UpdateFormLocation_001 end";
3318 }
3319
3320 /**
3321 * @tc.number: FmsFormDataMgrTest_GetRecordsByFormType_001
3322 * @tc.name: GetRecordsByFormType
3323 * @tc.desc: Verify that the map can be operated normally.
3324 * @tc.details: Determine whether an element exists in the map.
3325 */
3326 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetRecordsByFormType_001, TestSize.Level0)
3327 {
3328 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRecordsByFormType_001 start";
3329 FormRecord record1;
3330 int64_t formId = 1;
3331 record1.formBundleType = BundleType::APP;
3332 record1.formVisibleNotifyState = static_cast<int32_t>(FormVisibilityType::VISIBLE);
3333 formDataMgr_.formRecords_.emplace(formId, record1);
3334
3335 FormRecord record2;
3336 formId = 2;
3337 record2.formBundleType = BundleType::ATOMIC_SERVICE;
3338 record2.formVisibleNotifyState = static_cast<int32_t>(FormVisibilityType::VISIBLE);
3339 formDataMgr_.formRecords_.emplace(formId, record2);
3340
3341 FormRecord record3;
3342 formId = 3;
3343 record3.formBundleType = BundleType::ATOMIC_SERVICE;
3344 record3.formVisibleNotifyState = static_cast<int32_t>(FormVisibilityType::UNKNOWN);
3345 formDataMgr_.formRecords_.emplace(formId, record3);
3346
3347 FormRecord record4;
3348 formId = 4;
3349 record4.formBundleType = BundleType::APP;
3350 record4.formVisibleNotifyState = static_cast<int32_t>(FormVisibilityType::INVISIBLE);
3351 formDataMgr_.formRecords_.emplace(formId, record4);
3352
3353 FormRecord record5;
3354 formId = 5;
3355 record5.formBundleType = BundleType::ATOMIC_SERVICE;
3356 record5.formVisibleNotifyState = static_cast<int32_t>(FormVisibilityType::INVISIBLE);
3357 formDataMgr_.formRecords_.emplace(formId, record5);
3358
3359 int32_t formRefreshType = Constants::REFRESH_ALL_FORM;
3360 std::vector<FormRecord> visibleFormRecords1;
3361 std::vector<FormRecord> inVisibleFormRecords1;
3362 EXPECT_EQ(ERR_OK, formDataMgr_.GetRecordsByFormType(formRefreshType, visibleFormRecords1, inVisibleFormRecords1));
3363 EXPECT_EQ(2, visibleFormRecords1.size());
3364 EXPECT_EQ(3, inVisibleFormRecords1.size());
3365
3366 formRefreshType = Constants::REFRESH_APP_FORM;
3367 std::vector<FormRecord> visibleFormRecords2;
3368 std::vector<FormRecord> inVisibleFormRecords2;
3369 EXPECT_EQ(ERR_OK, formDataMgr_.GetRecordsByFormType(formRefreshType, visibleFormRecords2, inVisibleFormRecords2));
3370 EXPECT_EQ(1, visibleFormRecords2.size());
3371 EXPECT_EQ(1, inVisibleFormRecords2.size());
3372
3373 formRefreshType = Constants::REFRESH_ATOMIC_FORM;
3374 std::vector<FormRecord> visibleFormRecords3;
3375 std::vector<FormRecord> inVisibleFormRecords3;
3376 EXPECT_EQ(ERR_OK, formDataMgr_.GetRecordsByFormType(formRefreshType, visibleFormRecords3, inVisibleFormRecords3));
3377 EXPECT_EQ(1, visibleFormRecords3.size());
3378 EXPECT_EQ(2, inVisibleFormRecords3.size());
3379 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetRecordsByFormType_001 end";
3380 }
3381
3382 /**
3383 * @tc.number: FmsFormDataMgrTest_EnableForms_001
3384 * @tc.name: EnableForms
3385 * @tc.desc: Verify that the map can be operated normally.
3386 * @tc.details: Determine whether an element exists in the map.
3387 */
3388 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_EnableForms_001, TestSize.Level0)
3389 {
3390 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_EnableForms_001 start";
3391 std::vector<FormRecord> formRecords;
3392 formDataMgr_.EnableForms(std::move(formRecords), true);
3393 formDataMgr_.EnableForms(std::move(formRecords), false);
3394 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_EnableForms_001 end";
3395 }
3396
3397 /**
3398 * @tc.number: FmsFormDataMgrTest_GetFormIdsByUserId_001
3399 * @tc.name: GetFormIdsByUserId
3400 * @tc.desc: Verify that get all formIds by userId.
3401 * @tc.details: Determine whether an element exists in the map.
3402 */
3403 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormIdsByUserId_001, TestSize.Level0)
3404 {
3405 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormIdsByUserId_001 start";
3406 FormRecord record;
3407 int64_t formId = 1;
3408 int formUserUid = 100;
3409 record.userId = formUserUid;
3410
3411 formDataMgr_.formRecords_.emplace(formId, record);
3412 std::vector<int64_t> formIds;
3413 formDataMgr_.GetFormIdsByUserId(formUserUid, formIds);
3414 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormIdsByUserId_001 end";
3415 }
3416
3417 /**
3418 * @tc.number: FmsFormDataMgrTest_DeleteFormRecord_001
3419 * @tc.name: DeleteFormRecord
3420 * @tc.desc: Verify that the return value is correct.
3421 */
3422 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteFormRecord_001, TestSize.Level1)
3423 {
3424 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormRecord_001 start";
3425 int64_t formId = FORM_ID_ONE;
3426 bool result = formDataMgr_.DeleteFormRecord(formId);
3427 EXPECT_EQ(result, false);
3428 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormRecord_001 end";
3429 }
3430
3431 /**
3432 * @tc.number: FmsFormDataMgrTest_DeleteFormRecord_002
3433 * @tc.name: DeleteFormRecord
3434 * @tc.desc: Verify that the return value is correct.
3435 */
3436 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteFormRecord_002, TestSize.Level1)
3437 {
3438 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormRecord_002 start";
3439 int64_t formId = FORM_ID_ONE;
3440 int callingUid = 0;
3441 FormItemInfo form_item_info;
3442 InitFormItemInfo(formId, form_item_info);
3443 formDataMgr_.AllotFormRecord(form_item_info, callingUid);
3444 bool result = formDataMgr_.DeleteFormRecord(FORM_ID_ONE);
3445 EXPECT_EQ(result, true);
3446 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormRecord_002 end";
3447 }
3448
3449 /**
3450 * @tc.number: FmsFormDataMgrTest_CreateHostRecord_001
3451 * @tc.name: CreateHostRecord
3452 * @tc.desc: Verify that the return value is correct.
3453 */
3454 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CreateHostRecord_001, TestSize.Level1)
3455 {
3456 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateHostRecord_001 start";
3457 FormItemInfo info;
3458 int callingUid = 0;
3459 FormHostRecord formHostRecord;
3460 bool result = formDataMgr_.CreateHostRecord(info, nullptr, callingUid, formHostRecord);
3461 EXPECT_EQ(result, false);
3462 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateHostRecord_001 end";
3463 }
3464
3465 /**
3466 * @tc.number: FmsFormDataMgrTest_ExistTempForm_001
3467 * @tc.name: ExistTempForm
3468 * @tc.desc: Verify that the return value is correct.
3469 */
3470 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ExistTempForm_001, TestSize.Level1)
3471 {
3472 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ExistTempForm_001 start";
3473 int64_t formId = FORM_ID_ONE;
3474 bool result = formDataMgr_.ExistTempForm(formId);
3475 EXPECT_EQ(result, false);
3476 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ExistTempForm_001 end";
3477 }
3478
3479 /**
3480 * @tc.number: FmsFormDataMgrTest_IsCallingUidValid_001
3481 * @tc.name: IsCallingUidValid
3482 * @tc.desc: Verify that the return value is correct.
3483 */
3484 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsCallingUidValid_001, TestSize.Level1)
3485 {
3486 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsCallingUidValid_001 start";
3487 std::vector<int> formUserUids;
3488 bool result = formDataMgr_.IsCallingUidValid(formUserUids);
3489 EXPECT_EQ(result, false);
3490 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsCallingUidValid_001 end";
3491 }
3492
3493 /**
3494 * @tc.number: FmsFormDataMgrTest_IsCallingUidValid_002
3495 * @tc.name: IsCallingUidValid
3496 * @tc.desc: Verify that the return value is correct.
3497 */
3498 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsCallingUidValid_002, TestSize.Level1)
3499 {
3500 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsCallingUidValid_002 start";
3501 std::vector<int> formUserUids;
3502 formUserUids.emplace_back(IPCSkeleton::GetCallingUid());
3503 bool result = formDataMgr_.IsCallingUidValid(formUserUids);
3504 EXPECT_EQ(result, true);
3505 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsCallingUidValid_002 end";
3506 }
3507
3508 /**
3509 * @tc.number: FmsFormDataMgrTest_IsCallingUidValid_003
3510 * @tc.name: IsCallingUidValid
3511 * @tc.desc: Verify that the return value is correct..
3512 */
3513 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsCallingUidValid_003, TestSize.Level1)
3514 {
3515 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsCallingUidValid_003 start";
3516 std::vector<int> formUserUids;
3517 int nullUserUid = 999;
3518 formUserUids.emplace_back(nullUserUid);
3519 bool result = formDataMgr_.IsCallingUidValid(formUserUids);
3520 EXPECT_EQ(result, false);
3521 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsCallingUidValid_003 end";
3522 }
3523
3524 /**
3525 * @tc.number: FmsFormDataMgrTest_ExistFormRecord_001
3526 * @tc.name: ExistFormRecord
3527 * @tc.desc: Verify that the return value is correct.
3528 */
3529 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ExistFormRecord_001, TestSize.Level1)
3530 {
3531 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ExistFormRecord_001 start";
3532 int64_t formId = FORM_ID_ONE;
3533 std::vector<int> formUserUids;
3534 formUserUids.emplace_back(formId);
3535 bool result = formDataMgr_.IsCallingUidValid(formUserUids);
3536 EXPECT_EQ(result, false);
3537 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ExistFormRecord_001 end";
3538 }
3539
3540 /**
3541 * @tc.number: FmsFormDataMgrTest_GetFormHostRemoteObj_001
3542 * @tc.name: GetFormHostRemoteObj
3543 * @tc.desc: Test GetFormHostRemoteObj by the price of formId.
3544 */
3545 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetFormHostRemoteObj_001, TestSize.Level1)
3546 {
3547 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormHostRemoteObj_001 start";
3548 int64_t formId = FORM_ID_ONE;
3549 int callingUid = 0;
3550 FormItemInfo formItemInfo;
3551 InitFormItemInfo(formId, formItemInfo);
3552 FormHostRecord formHostRecord;
3553 formHostRecord.SetFormHostClient(token_);
3554 formDataMgr_.clientRecords_.emplace_back(formHostRecord);
3555 formDataMgr_.AllotFormHostRecord(formItemInfo, token_, formId, callingUid);
3556 std::vector<sptr<IRemoteObject>> formHostObjs;
3557 formDataMgr_.GetFormHostRemoteObj(formId, formHostObjs);
3558 bool result = formHostObjs.empty();
3559 EXPECT_EQ(result, false);
3560 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetFormHostRemoteObj_001 end";
3561 }
3562
3563 /**
3564 * @tc.number: FmsFormDataMgrTest_HandleHostDiedForTempForms_001
3565 * @tc.name: HandleHostDiedForTempForms
3566 * @tc.desc: Get the temp forms from host and delete temp form in cache.
3567 */
3568 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_HandleHostDiedForTempForms_001, TestSize.Level1)
3569 {
3570 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HandleHostDiedForTempForms_001 start";
3571 int64_t formId = FORM_ID_ONE;
3572 FormHostRecord record;
3573 record.forms_[formId] = true;
3574 std::vector<int64_t> recordTempForms;
3575 formDataMgr_.tempForms_.emplace_back(formId);
3576 formDataMgr_.HandleHostDiedForTempForms(record, recordTempForms);
3577 bool result = formDataMgr_.tempForms_.empty();
3578 EXPECT_EQ(result, true);
3579 result = recordTempForms.empty();
3580 EXPECT_EQ(result, false);
3581 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_HandleHostDiedForTempForms_001 end";
3582 }
3583
3584 /**
3585 * @tc.number: FmsFormDataMgrTest_IsEnableUpdate_001
3586 * @tc.name: IsEnableUpdate
3587 * @tc.desc: Verify that the return value is correct.
3588 */
3589 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsEnableUpdate_001, TestSize.Level1)
3590 {
3591 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsEnableUpdate_001 start";
3592 int64_t formId = FORM_ID_ONE;
3593 bool result = formDataMgr_.IsEnableUpdate(formId);
3594 EXPECT_EQ(result, false);
3595 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsEnableUpdate_001 end";
3596 }
3597
3598 /**
3599 * @tc.number: FmsFormDataMgrTest_IsEnableUpdate_002
3600 * @tc.name: IsEnableUpdate
3601 * @tc.desc: Verify that the return value is correct.
3602 */
3603 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsEnableUpdate_002, TestSize.Level1)
3604 {
3605 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsEnableUpdate_002 start";
3606 int64_t formId = FORM_ID_ONE;
3607 FormHostRecord record;
3608 record.enableUpdateMap_[formId] = true;
3609 formDataMgr_.clientRecords_.emplace_back(record);
3610 bool result = formDataMgr_.IsEnableUpdate(formId);
3611 EXPECT_EQ(result, true);
3612 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsEnableUpdate_002 end";
3613 }
3614
3615 /**
3616 * @tc.number: FmsFormDataMgrTest_GetUdidHash_001
3617 * @tc.name: GetUdidHash
3618 * @tc.desc: Verify that the return value is correct.
3619 */
3620 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetUdidHash_001, TestSize.Level1)
3621 {
3622 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUdidHash_001 start";
3623 int64_t udidHash = 0;
3624 formDataMgr_.SetUdidHash(udidHash);
3625 EXPECT_EQ(0, formDataMgr_.udidHash_);
3626 int64_t result = formDataMgr_.GetUdidHash();
3627 EXPECT_EQ(result, 0);
3628 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetUdidHash_001 end";
3629 }
3630
3631 /**
3632 * @tc.number: FmsFormDataMgrTest_SetTimerRefresh_001
3633 * @tc.name: SetTimerRefresh
3634 * @tc.desc: Verify that the map can be operated normally.
3635 */
3636 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetTimerRefresh_001, TestSize.Level1)
3637 {
3638 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetTimerRefresh_001 start";
3639 int64_t formId = FORM_ID_ONE;
3640 formDataMgr_.formRecords_.erase(formId);
3641 formDataMgr_.SetTimerRefresh(formId, true);
3642 EXPECT_EQ(formDataMgr_.formRecords_.find(formId) == formDataMgr_.formRecords_.end(), true);
3643 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetTimerRefresh_001 end";
3644 }
3645
3646 /**
3647 * @tc.number: FmsFormDataMgrTest_SetTimerRefresh_002
3648 * @tc.name: SetTimerRefresh
3649 * @tc.desc: Verify that the map can be operated normally.
3650 */
3651 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetTimerRefresh_002, TestSize.Level1)
3652 {
3653 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetTimerRefresh_002 start";
3654 FormRecord formRecord;
3655 int64_t formId = FORM_ID_ONE;
3656 formDataMgr_.formRecords_.emplace(formId, formRecord);
3657 formDataMgr_.SetTimerRefresh(formId, true);
3658 auto itFormRecord = formDataMgr_.formRecords_.find(formId);
3659 EXPECT_EQ(itFormRecord->second.isTimerRefresh, true);
3660 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetTimerRefresh_002 end";
3661 }
3662
3663 /**
3664 * @tc.number: FmsFormDataMgrTest_ClearHostDataByUId_001
3665 * @tc.name: ClearHostDataByUId
3666 * @tc.desc: Verify that the vector can be operated normally.
3667 */
3668 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ClearHostDataByUId_001, TestSize.Level1)
3669 {
3670 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ClearHostDataByUId_001 start";
3671 FormHostRecord formHostRecord;
3672 formHostRecord.callerUid_ = 1;
3673 formDataMgr_.clientRecords_.emplace_back(formHostRecord);
3674 formDataMgr_.ClearHostDataByUId(formHostRecord.callerUid_);
3675 bool result = true;
3676 for (auto itHostRecord : formDataMgr_.clientRecords_) {
3677 if (itHostRecord.GetCallerUid() == formHostRecord.callerUid_) {
3678 result = false;
3679 }
3680 }
3681 EXPECT_EQ(result, true);
3682 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ClearHostDataByUId_001 end";
3683 }
3684
3685 /**
3686 * @tc.number: FmsFormDataMgrTest_GetNoHostTempForms_001
3687 * @tc.name: GetNoHostTempForms
3688 * @tc.desc: Verify that the map can be operated normally.
3689 */
3690 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetNoHostTempForms_001, TestSize.Level1)
3691 {
3692 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetNoHostTempForms_001 start";
3693 FormRecord formRecord;
3694 formRecord.formId = FORM_ID_ZERO;
3695 formRecord.formTempFlag = false;
3696 int64_t formRecordKey1 = FORM_ID_ZERO;
3697 formDataMgr_.formRecords_.emplace(formRecordKey1, formRecord);
3698 int64_t formRecordKey2 = FORM_ID_ONE;
3699 FormRecord record;
3700 record.formId = FORM_ID_ONE;
3701 record.formTempFlag = true;
3702 formDataMgr_.formRecords_.emplace(formRecordKey2, record);
3703 std::map<int64_t, bool> foundFormsMap;
3704 std::map<FormIdKey, std::set<int64_t>> noHostTempFormsMap;
3705 int uid = FORM_USER_UIDS_ZERO;
3706 formDataMgr_.GetNoHostTempForms(uid, noHostTempFormsMap, foundFormsMap);
3707 EXPECT_EQ(foundFormsMap.find(formRecordKey1), foundFormsMap.end());
3708 EXPECT_NE(foundFormsMap.find(formRecordKey2), foundFormsMap.end());
3709 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetNoHostTempForms_001 end";
3710 }
3711
3712 /**
3713 * @tc.number: FmsFormDataMgrTest_GetNoHostTempForms_002
3714 * @tc.name: GetNoHostTempForms
3715 * @tc.desc: Verify that the map can be operated normally.
3716 */
3717 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetNoHostTempForms_002, TestSize.Level1)
3718 {
3719 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetNoHostTempForms_002 start";
3720 int64_t formRecordKey = FORM_ID_ONE;
3721 FormRecord record;
3722 record.formId = FORM_ID_ONE;
3723 record.formTempFlag = true;
3724 record.formUserUids.push_back(FORM_USER_UIDS_ZERO);
3725 record.abilityName = "testAbility";
3726 record.bundleName = "testBundle";
3727 formDataMgr_.formRecords_.emplace(formRecordKey, record);
3728 FormIdKey formIdKey(record.bundleName, record.abilityName);
3729 std::map<int64_t, bool> foundFormsMap;
3730 std::map<FormIdKey, std::set<int64_t>> noHostTempFormsMap;
3731 std::set<int64_t> vector;
3732 noHostTempFormsMap.emplace(formIdKey, vector);
3733 int uid = FORM_USER_UIDS_ZERO;
3734 formDataMgr_.GetNoHostTempForms(uid, noHostTempFormsMap, foundFormsMap);
3735 auto iter = noHostTempFormsMap.find(formIdKey);
3736 EXPECT_NE(iter->second.find(record.formId), iter->second.end());
3737 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetNoHostTempForms_002 end";
3738 }
3739
3740 /**
3741 * @tc.number: FmsFormDataMgrTest_GetNoHostTempForms_003
3742 * @tc.name: GetNoHostTempForms
3743 * @tc.desc: Verify that the map can be operated normally.
3744 */
3745 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_GetNoHostTempForms_003, TestSize.Level1)
3746 {
3747 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetNoHostTempForms_003 start";
3748 formDataMgr_.formRecords_.clear();
3749 int64_t formRecordKey = FORM_ID_ONE;
3750 FormRecord record;
3751 record.formId = FORM_ID_ONE;
3752 record.formTempFlag = true;
3753 record.formUserUids.push_back(FORM_USER_UIDS_ZERO);
3754 record.abilityName = "testAbility2";
3755 record.bundleName = "testBundle2";
3756 formDataMgr_.formRecords_.emplace(formRecordKey, record);
3757 FormIdKey formIdKey(record.bundleName, record.abilityName);
3758 std::map<int64_t, bool> foundFormsMap;
3759 std::map<FormIdKey, std::set<int64_t>> noHostTempFormsMap;
3760 int uid = FORM_USER_UIDS_ZERO;
3761 formDataMgr_.GetNoHostTempForms(uid, noHostTempFormsMap, foundFormsMap);
3762 auto iter = noHostTempFormsMap.find(formIdKey);
3763 EXPECT_NE(iter->second.find(record.formId), iter->second.end());
3764 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_GetNoHostTempForms_003 end";
3765 }
3766
3767 /**
3768 * @tc.number: FmsFormDataMgrTest_ParseUpdateConfig_001
3769 * @tc.name: ParseUpdateConfig
3770 * @tc.desc: test ParseUpdateConfig function and updateDuration greater than zero.
3771 */
3772 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ParseUpdateConfig_001, TestSize.Level1)
3773 {
3774 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseUpdateConfig_001 start";
3775 FormRecord record;
3776 FormItemInfo info;
3777 info.SetUpdateDuration(Constants::MIN_CONFIG_DURATION);
3778 formDataMgr_.ParseUpdateConfig(record, info);
3779 EXPECT_EQ(Constants::MIN_PERIOD, record.updateDuration);
3780 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseUpdateConfig_001 end";
3781 }
3782
3783 /**
3784 * @tc.number: FmsFormDataMgrTest_ParseUpdateConfig_002
3785 * @tc.name: ParseUpdateConfig
3786 * @tc.desc: test ParseUpdateConfig function and updateDuration Not greater than zero.
3787 */
3788 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ParseUpdateConfig_002, TestSize.Level1)
3789 {
3790 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseUpdateConfig_002 start";
3791 FormRecord record;
3792 FormItemInfo info;
3793 std::string scheduledUpdateTime = "10:30";
3794 info.SetScheduledUpdateTime(scheduledUpdateTime);
3795 info.updateDuration_ = 0;
3796 formDataMgr_.ParseUpdateConfig(record, info);
3797 EXPECT_EQ(record.updateAtHour, 10);
3798 EXPECT_EQ(record.updateAtMin, 30);
3799 EXPECT_EQ(record.isEnableUpdate, true);
3800 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseUpdateConfig_002 end";
3801 }
3802
3803 /**
3804 * @tc.number: FmsFormDataMgrTest_ParseIntervalConfig_001
3805 * @tc.name: ParseIntervalConfig
3806 * @tc.desc: test ParseIntervalConfig function and configDuration Greater than MAX CONFIG DURATION.
3807 */
3808 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ParseIntervalConfig_001, TestSize.Level1)
3809 {
3810 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseIntervalConfig_001 start";
3811 FormRecord record;
3812 int configDuration = 340;
3813 formDataMgr_.ParseIntervalConfig(record, configDuration);
3814 EXPECT_EQ(record.updateDuration, Constants::MAX_PERIOD);
3815 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseIntervalConfig_001 end";
3816 }
3817
3818 /**
3819 * @tc.number: FmsFormDataMgrTest_ParseIntervalConfig_002
3820 * @tc.name: ParseIntervalConfig
3821 * @tc.desc: test ParseIntervalConfig function.
3822 */
3823 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ParseIntervalConfig_002, TestSize.Level1)
3824 {
3825 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseIntervalConfig_002 start";
3826 FormRecord record;
3827 int configDuration = 20;
3828 formDataMgr_.ParseIntervalConfig(record, configDuration);
3829 EXPECT_EQ(record.updateDuration, configDuration * Constants::TIME_CONVERSION);
3830 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseIntervalConfig_002 end";
3831 }
3832
3833 /**
3834 * @tc.number: FmsFormDataMgrTest_ParseAtTimerConfig_001
3835 * @tc.name: ParseAtTimerConfig
3836 * @tc.desc: test ParseIntervalConfig function and scheduledUpdateTime_ is empty.
3837 */
3838 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ParseAtTimerConfig_001, TestSize.Level1)
3839 {
3840 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseAtTimerConfig_001 start";
3841 FormRecord record;
3842 FormItemInfo info;
3843 formDataMgr_.ParseAtTimerConfig(record, info);
3844 EXPECT_EQ(record.isEnableUpdate, false);
3845 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseAtTimerConfig_001 end";
3846 }
3847
3848 /**
3849 * @tc.number: FmsFormDataMgrTest_ParseAtTimerConfig_002
3850 * @tc.name: ParseAtTimerConfig
3851 * @tc.desc: test ParseIntervalConfig function and scheduledUpdateTime string split size greater than 2.
3852 */
3853 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ParseAtTimerConfig_002, TestSize.Level1)
3854 {
3855 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseAtTimerConfig_002 start";
3856 FormRecord record;
3857 FormItemInfo info;
3858 std::string scheduledUpdateTime = "10:30:20";
3859 info.SetScheduledUpdateTime(scheduledUpdateTime);
3860 formDataMgr_.ParseAtTimerConfig(record, info);
3861 EXPECT_EQ(record.isEnableUpdate, false);
3862 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseAtTimerConfig_002 end";
3863 }
3864
3865 /**
3866 * @tc.number: FmsFormDataMgrTest_ParseAtTimerConfig_003
3867 * @tc.name: ParseAtTimerConfig
3868 * @tc.desc: test ParseIntervalConfig function and hour greater than 59.
3869 */
3870 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ParseAtTimerConfig_003, TestSize.Level1)
3871 {
3872 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseAtTimerConfig_003 start";
3873 FormRecord record;
3874 FormItemInfo info;
3875 std::string scheduledUpdateTime = "62:30";
3876 info.SetScheduledUpdateTime(scheduledUpdateTime);
3877 formDataMgr_.ParseAtTimerConfig(record, info);
3878 EXPECT_EQ(record.isEnableUpdate, false);
3879 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ParseAtTimerConfig_003 end";
3880 }
3881
3882 /**
3883 * @tc.number: FmsFormDataMgrTest_IsFormCached_001
3884 * @tc.name: IsFormCached
3885 * @tc.desc: Verify that the return value is correct.
3886 */
3887 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsFormCached_001, TestSize.Level1)
3888 {
3889 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsFormCached_001 start";
3890 FormRecord record;
3891 record.versionUpgrade = true;
3892 bool result = formDataMgr_.IsFormCached(record);
3893 EXPECT_EQ(result, false);
3894 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsFormCached_001 end";
3895 }
3896
3897 /**
3898 * @tc.number: FmsFormDataMgrTest_IsFormCached_002
3899 * @tc.name: IsFormCached
3900 * @tc.desc: Verify that the return value is correct.
3901 */
3902 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_IsFormCached_002, TestSize.Level1)
3903 {
3904 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsFormCached_002 start";
3905 FormRecord record;
3906 record.versionUpgrade = false;
3907 bool result = formDataMgr_.IsFormCached(record);
3908 EXPECT_EQ(result, true);
3909 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_IsFormCached_002 end";
3910 }
3911
3912 /**
3913 * @tc.number: FmsFormDataMgrTest_CreateFormStateRecord_001
3914 * @tc.name: CreateFormStateRecord
3915 * @tc.desc: Verify that the return value is correct.
3916 */
3917 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CreateFormStateRecord_001, TestSize.Level1)
3918 {
3919 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormStateRecord_001 start";
3920 std::string provider;
3921 FormItemInfo info;
3922 int callingUid = 0;
3923 bool result = formDataMgr_.CreateFormStateRecord(provider, info, nullptr, callingUid);
3924 EXPECT_EQ(result, false);
3925 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormStateRecord_001 end";
3926 }
3927
3928 /**
3929 * @tc.number: FmsFormDataMgrTest_CreateFormStateRecord_002
3930 * @tc.name: CreateFormStateRecord
3931 * @tc.desc: Verify that the return value is correct.
3932 */
3933 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CreateFormStateRecord_002, TestSize.Level1)
3934 {
3935 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormStateRecord_002 start";
3936 std::string provider = FORM_PROVIDER_ABILITY_NAME;
3937 FormItemInfo info;
3938 int callingUid = 0;
3939 FormHostRecord formHostRecord;
3940 bool result = formDataMgr_.CreateFormStateRecord(provider, info, token_, callingUid);
3941 EXPECT_EQ(result, true);
3942 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormStateRecord_002 end";
3943 }
3944
3945 /**
3946 * @tc.number: FmsFormDataMgrTest_CreateFormStateRecord_003
3947 * @tc.name: CreateFormStateRecord
3948 * @tc.desc: Verify that the return value is correct.
3949 */
3950 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CreateFormStateRecord_003, TestSize.Level1)
3951 {
3952 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormStateRecord_003 start";
3953 std::string provider = FORM_PROVIDER_ABILITY_NAME;
3954 FormItemInfo info;
3955 int callingUid = 0;
3956 FormHostRecord formHostRecord;
3957 formDataMgr_.formStateRecord_.emplace(provider, formHostRecord);
3958 bool result = formDataMgr_.CreateFormStateRecord(provider, info, nullptr, callingUid);
3959 EXPECT_EQ(result, true);
3960 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormStateRecord_003 end";
3961 }
3962
3963 /**
3964 * @tc.number: FmsFormDataMgrTest_CreateFormAcquireDataRecord_001
3965 * @tc.name: CreateFormAcquireDataRecord
3966 * @tc.desc: Verify that the return value is correct.
3967 */
3968 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CreateFormAcquireDataRecord_001, TestSize.Level1)
3969 {
3970 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormAcquireDataRecord_001 start";
3971 int64_t requestCode = 0;
3972 FormItemInfo info;
3973 int callingUid = 0;
3974 bool result = formDataMgr_.CreateFormAcquireDataRecord(requestCode, info, nullptr, callingUid);
3975 EXPECT_EQ(result, false);
3976 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormAcquireDataRecord_001 end";
3977 }
3978
3979 /**
3980 * @tc.number: FmsFormDataMgrTest_CreateFormAcquireDataRecord_002
3981 * @tc.name: CreateFormAcquireDataRecord
3982 * @tc.desc: Verify that the return value is correct.
3983 */
3984 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CreateFormAcquireDataRecord_002, TestSize.Level1)
3985 {
3986 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormAcquireDataRecord_002 start";
3987 int64_t requestCode = 0;
3988 FormItemInfo info;
3989 int callingUid = 0;
3990 FormHostRecord formHostRecord;
3991 bool result = formDataMgr_.CreateFormAcquireDataRecord(requestCode, info, token_, callingUid);
3992 EXPECT_EQ(result, true);
3993 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormAcquireDataRecord_002 end";
3994 }
3995
3996 /**
3997 * @tc.number: FmsFormDataMgrTest_CreateFormAcquireDataRecord_003
3998 * @tc.name: CreateFormAcquireDataRecord
3999 * @tc.desc: Verify that the return value is correct.
4000 */
4001 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_CreateFormAcquireDataRecord_003, TestSize.Level1)
4002 {
4003 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormAcquireDataRecord_003 start";
4004 int64_t requestCode = 0;
4005 FormItemInfo info;
4006 int callingUid = 0;
4007 FormHostRecord formHostRecord;
4008 formDataMgr_.formAcquireDataRecord_.emplace(requestCode, formHostRecord);
4009 bool result = formDataMgr_.CreateFormAcquireDataRecord(requestCode, info, nullptr, callingUid);
4010 EXPECT_EQ(result, true);
4011 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_CreateFormAcquireDataRecord_003 end";
4012 }
4013
4014 /**
4015 * @tc.number: FmsFormDataMgrTest_AcquireFormDataBack_001
4016 * @tc.name: AcquireFormDataBack
4017 * @tc.desc: Verify that the return value is correct.
4018 */
4019 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AcquireFormDataBack_001, TestSize.Level1)
4020 {
4021 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AcquireFormDataBack_001 start";
4022 AAFwk::WantParams wantParams;
4023 int64_t requestCode = 0;
4024 auto result = formDataMgr_.AcquireFormDataBack(wantParams, requestCode);
4025 EXPECT_EQ(result, ERR_APPEXECFWK_FORM_GET_HOST_FAILED);
4026 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AcquireFormDataBack_001 end";
4027 }
4028
4029 /**
4030 * @tc.number: FmsFormDataMgrTest_AcquireFormDataBack_002
4031 * @tc.name: AcquireFormDataBack
4032 * @tc.desc: Verify that the return value is correct.
4033 */
4034 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AcquireFormDataBack_002, TestSize.Level1)
4035 {
4036 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AcquireFormDataBack_002 start";
4037 AAFwk::WantParams wantParams;
4038 int64_t requestCode = 0;
4039 FormHostRecord formHostRecord;
4040 formDataMgr_.formAcquireDataRecord_.emplace(requestCode, formHostRecord);
4041 auto result = formDataMgr_.AcquireFormDataBack(wantParams, requestCode);
4042 EXPECT_EQ(result, ERR_OK);
4043 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AcquireFormDataBack_002 end";
4044 }
4045
4046 /**
4047 * @tc.number: FmsFormDataMgrTest_AcquireFormStateBack_001
4048 * @tc.name: AcquireFormStateBack
4049 * @tc.desc: Verify that the return value is correct.
4050 */
4051 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AcquireFormStateBack_001, TestSize.Level1)
4052 {
4053 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AcquireFormStateBack_001 start";
4054 AppExecFwk::FormState state = FormState::READY;
4055 std::string provider;
4056 Want want;
4057 auto result = formDataMgr_.AcquireFormStateBack(state, provider, want);
4058 EXPECT_EQ(result, ERR_APPEXECFWK_FORM_GET_HOST_FAILED);
4059 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AcquireFormStateBack_001 end";
4060 }
4061
4062 /**
4063 * @tc.number: FmsFormDataMgrTest_AcquireFormStateBack_002
4064 * @tc.name: AcquireFormStateBack
4065 * @tc.desc: Verify that the return value is correct.
4066 */
4067 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_AcquireFormStateBack_002, TestSize.Level1)
4068 {
4069 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AcquireFormStateBack_002 start";
4070 AppExecFwk::FormState state = AppExecFwk::FormState::READY;
4071 std::string provider = FORM_PROVIDER_ABILITY_NAME;
4072 FormHostRecord formHostRecord;
4073 formDataMgr_.formStateRecord_.emplace(provider, formHostRecord);
4074 Want want;
4075 auto result = formDataMgr_.AcquireFormStateBack(state, provider, want);
4076 EXPECT_EQ(result, ERR_OK);
4077 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_AcquireFormStateBack_002 end";
4078 }
4079
4080 /**
4081 * @tc.number: FmsFormDataMgrTest_NotifyFormsVisible_001
4082 * @tc.name: NotifyFormsVisible
4083 * @tc.desc: Verify that the return value is correct.
4084 */
4085 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_NotifyFormsVisible_001, TestSize.Level1)
4086 {
4087 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_NotifyFormsVisible_001 start";
4088 std::vector<int64_t> formIds;
4089 bool isVisible;
4090 auto result = formDataMgr_.NotifyFormsVisible(formIds, true, nullptr);
4091 EXPECT_EQ(result, ERR_APPEXECFWK_FORM_INVALID_PARAM);
4092 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_NotifyFormsVisible_001 end";
4093 }
4094
4095 /**
4096 * @tc.number: FmsFormDataMgrTest_NotifyFormsVisible_002
4097 * @tc.name: NotifyFormsVisible
4098 * @tc.desc: Verify that the return value is correct.
4099 */
4100 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_NotifyFormsVisible_002, TestSize.Level1)
4101 {
4102 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_NotifyFormsVisible_002 start";
4103 std::vector<int64_t> formIds;
4104 formIds.push_back(FORM_ID_ZERO);
4105 FormHostRecord record;
4106 formDataMgr_.clientRecords_.emplace_back(record);
4107 auto result = formDataMgr_.NotifyFormsVisible(formIds, true, token_);
4108 EXPECT_EQ(result, ERR_APPEXECFWK_FORM_OPERATION_NOT_SELF);
4109 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_NotifyFormsVisible_002 end";
4110 }
4111
4112 /**
4113 * @tc.number: FmsFormDataMgrTest_SetRecordVisible_001
4114 * @tc.name: SetRecordVisible
4115 * @tc.desc: Verify that the return value is correct.
4116 */
4117 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetRecordVisible_001, TestSize.Level1)
4118 {
4119 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetRecordVisible_001 start";
4120 int64_t matchedFormId = FORM_ID_ZERO;
4121 auto result = formDataMgr_.SetRecordVisible(matchedFormId, true);
4122 EXPECT_EQ(result, ERR_APPEXECFWK_FORM_INVALID_FORM_ID);
4123 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetRecordVisible_001 end";
4124 }
4125
4126 /**
4127 * @tc.number: FmsFormDataMgrTest_SetRecordVisible_002
4128 * @tc.name: SetRecordVisible
4129 * @tc.desc: Verify that the return value is correct.
4130 */
4131 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_SetRecordVisible_002, TestSize.Level1)
4132 {
4133 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetRecordVisible_002 start";
4134 int64_t matchedFormId = FORM_ID_ZERO;
4135 FormRecord formRecord;
4136 formDataMgr_.formRecords_.emplace(matchedFormId, formRecord);
4137 auto result = formDataMgr_.SetRecordVisible(matchedFormId, true);
4138 EXPECT_EQ(result, ERR_OK);
4139 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_SetRecordVisible_002 end";
4140 }
4141
4142 /**
4143 * @tc.number: FmsFormDataMgrTest_DeleteFormsByUserId_001
4144 * @tc.name: DeleteFormsByUserId
4145 * @tc.desc: Verify that the vector can be operated normally.
4146 */
4147 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteFormsByUserId_001, TestSize.Level1)
4148 {
4149 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormsByUserId_001 start";
4150 int64_t usrId = FORM_ID_ONE;
4151 FormRecord formRecord;
4152 formRecord.formTempFlag = true;
4153 formRecord.providerUserId = FORM_ID_ONE;
4154 formRecord.formId = FORM_ID_ONE;
4155 formDataMgr_.formRecords_.emplace(usrId, formRecord);
4156 std::vector<int64_t> removedFormIds;
4157 formDataMgr_.DeleteFormsByUserId(usrId, removedFormIds);
4158 EXPECT_NE(std::find(removedFormIds.begin(), removedFormIds.end(), formRecord.formId), removedFormIds.end());
4159 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteFormsByUserId_001 end";
4160 }
4161
4162 /**
4163 * @tc.number: FmsFormDataMgrTest_ClearFormRecords_001
4164 * @tc.name: ClearFormRecords
4165 * @tc.desc: Verify that the vector and map can be operated normally.
4166 */
4167 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_ClearFormRecords_001, TestSize.Level1)
4168 {
4169 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ClearFormRecords_001 start";
4170 int64_t formId = FORM_ID_ONE;
4171 FormRecord formRecord;
4172 formDataMgr_.formRecords_.emplace(formId, formRecord);
4173 formDataMgr_.tempForms_.emplace_back(formId);
4174 EXPECT_EQ(formDataMgr_.formRecords_.empty(), false);
4175 EXPECT_EQ(formDataMgr_.tempForms_.empty(), false);
4176 formDataMgr_.ClearFormRecords();
4177 EXPECT_EQ(formDataMgr_.formRecords_.empty(), true);
4178 EXPECT_EQ(formDataMgr_.tempForms_.empty(), true);
4179 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_ClearFormRecords_001 end";
4180 }
4181
4182 /**
4183 * @tc.number: FmsFormDataMgrTest_DeleteInvalidTempForms_001
4184 * @tc.name: DeleteInvalidTempForms
4185 * @tc.desc: Verify that the return value is correct.
4186 */
4187 HWTEST_F(FmsFormDataMgrTest, FmsFormDataMgrTest_DeleteInvalidTempForms_001, TestSize.Level1)
4188 {
4189 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteInvalidTempForms_001 start";
4190 int32_t userId = 1;
4191 int32_t callingUid = 0;
4192 std::set<int64_t> matchedFormIds;
4193 std::map<int64_t, bool> removedFormsMap;
4194 auto result = formDataMgr_.DeleteInvalidTempForms(userId, callingUid, matchedFormIds, removedFormsMap);
4195 EXPECT_EQ(result, ERR_OK);
4196 GTEST_LOG_(INFO) << "FmsFormDataMgrTest_DeleteInvalidTempForms_001 end";
4197 }
4198 }
4199