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