• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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