1 /*
2 * Copyright (c) 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 #define LOG_TAG "SystemDefinedFormTest"
16
17 #include <unistd.h>
18 #include <gtest/gtest.h>
19 #include <string>
20
21 #include "logger.h"
22 #include "system_defined_form.h"
23
24 using namespace testing::ext;
25 using namespace OHOS::UDMF;
26 using namespace OHOS;
27 namespace OHOS::Test {
28 using namespace std;
29
30 class SystemDefinedFormTest : public testing::Test {
31 public:
32 static void SetUpTestCase();
33 static void TearDownTestCase();
34 void SetUp() override;
35 void TearDown() override;
36 };
37
SetUpTestCase()38 void SystemDefinedFormTest::SetUpTestCase()
39 {
40 }
41
TearDownTestCase()42 void SystemDefinedFormTest::TearDownTestCase()
43 {
44 }
45
SetUp()46 void SystemDefinedFormTest::SetUp()
47 {
48 }
49
TearDown()50 void SystemDefinedFormTest::TearDown()
51 {
52 }
53
54 /**
55 * @tc.name: SystemDefinedForm001
56 * @tc.desc: Normal testcase of SystemDefinedForm
57 * @tc.type: FUNC
58 */
59 HWTEST_F(SystemDefinedFormTest, SystemDefinedForm001, TestSize.Level1)
60 {
61 LOG_INFO(UDMF_TEST, "SystemDefinedForm001 begin.");
62 UDType type = UDType::ENTITY;
63 ValueType value = 0;
64 SystemDefinedForm systemDefinedForm(type, value);
65 EXPECT_EQ(systemDefinedForm.dataType_, SYSTEM_DEFINED_FORM);
66 LOG_INFO(UDMF_TEST, "SystemDefinedForm001 end.");
67 }
68
69 /**
70 * @tc.name: SystemDefinedFormSetItem001
71 * @tc.desc: Normal testcase of SystemDefinedForm
72 * @tc.type: FUNC
73 */
74 HWTEST_F(SystemDefinedFormTest, SystemDefinedFormSetItem001, TestSize.Level1)
75 {
76 LOG_INFO(UDMF_TEST, "SystemDefinedFormSetItem001 begin.");
77 std::shared_ptr<Object> obj = std::make_shared<Object>();
78 obj->value_[FORMID] = 1;
79 obj->value_[FORMNAME] = "formName";
80 obj->value_[BUNDLE_NAME] = "bundleName";
81 obj->value_[ABILITY_NAME] = "abilityName";
82 obj->value_[MODULE] = "module";
83 SystemDefinedForm systemDefinedForm(SYSTEM_DEFINED_FORM, obj);
84 UDDetails details;
85 details[FORMID] = 2;
86 details[FORMNAME] = "formName1";
87 details[BUNDLE_NAME] = "bundleName1";
88 details[ABILITY_NAME] = "abilityName1";
89 details[MODULE] = "module1";
90 systemDefinedForm.SetItems(details);
91 EXPECT_EQ(systemDefinedForm.GetFormId(), 2);
92 EXPECT_EQ(systemDefinedForm.GetFormName(), "formName1");
93 EXPECT_EQ(systemDefinedForm.GetBundleName(), "bundleName1");
94 EXPECT_EQ(systemDefinedForm.GetAbilityName(), "abilityName1");
95 EXPECT_EQ(systemDefinedForm.GetModule(), "module1");
96 LOG_INFO(UDMF_TEST, "SystemDefinedFormSetItem001 end.");
97 }
98
99 /**
100 * @tc.name: SystemDefinedFormSetItem002
101 * @tc.desc: Abnormal testcase of SystemDefinedForm
102 * @tc.type: FUNC
103 */
104 HWTEST_F(SystemDefinedFormTest, SystemDefinedFormSetItem002, TestSize.Level1)
105 {
106 LOG_INFO(UDMF_TEST, "SystemDefinedFormSetItem002 begin.");
107 std::shared_ptr<Object> obj = std::make_shared<Object>();
108 obj->value_[FORMID] = 1;
109 obj->value_[FORMNAME] = "formName";
110 obj->value_[BUNDLE_NAME] = "bundleName";
111 obj->value_[ABILITY_NAME] = "abilityName";
112 obj->value_[MODULE] = "module";
113 SystemDefinedForm systemDefinedForm(SYSTEM_DEFINED_FORM, obj);
114 UDDetails details;
115 details[FORMID] = true;
116 details[FORMNAME] = 2.1;
117 details[BUNDLE_NAME] = false;
118 details[ABILITY_NAME] = "abilityName1";
119 details[MODULE] = "module1";
120 systemDefinedForm.SetItems(details);
121 EXPECT_EQ(systemDefinedForm.GetFormId(), 1);
122 EXPECT_EQ(systemDefinedForm.GetFormName(), "formName");
123 EXPECT_EQ(systemDefinedForm.GetBundleName(), "bundleName");
124 EXPECT_EQ(systemDefinedForm.GetAbilityName(), "abilityName1");
125 EXPECT_EQ(systemDefinedForm.GetModule(), "module1");
126 LOG_INFO(UDMF_TEST, "SystemDefinedFormSetItem002 end.");
127 }
128
129 /**
130 * @tc.name: SystemDefinedFormGetItem001
131 * @tc.desc: Normal testcase of SystemDefinedForm GetItem
132 * @tc.type: FUNC
133 */
134 HWTEST_F(SystemDefinedFormTest, SystemDefinedFormGetItem001, TestSize.Level1)
135 {
136 LOG_INFO(UDMF_TEST, "SystemDefinedForm001 begin.");
137 std::shared_ptr<Object> obj = std::make_shared<Object>();
138 obj->value_[FORMID] = 1;
139 obj->value_[FORMNAME] = "formName";
140 obj->value_[BUNDLE_NAME] = "bundleName";
141 obj->value_[ABILITY_NAME] = "abilityName";
142 obj->value_[MODULE] = "module";
143 SystemDefinedForm systemDefinedForm(SYSTEM_DEFINED_FORM, obj);
144 UDDetails details = systemDefinedForm.GetItems();
145 EXPECT_EQ(std::get<std::int32_t>(details[FORMID]), 1);
146 EXPECT_EQ(std::get<std::string>(details[FORMNAME]), "formName");
147 EXPECT_EQ(std::get<std::string>(details[BUNDLE_NAME]), "bundleName");
148 EXPECT_EQ(std::get<std::string>(details[ABILITY_NAME]), "abilityName");
149 EXPECT_EQ(std::get<std::string>(details[MODULE]), "module");
150 LOG_INFO(UDMF_TEST, "SystemDefinedFormGetItem001 end.");
151 }
152 } // OHOS::Test