1 /*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "gtest/gtest.h"
17 #include "test_log.h"
18
19 #define private public
20 #include "system_ability_ondemand_reason.h"
21
22 using namespace std;
23 using namespace testing;
24 using namespace testing::ext;
25
26 namespace OHOS {
27 namespace {
28 const std::string DATA = "data";
29 const std::string REASON_NAME = "name";
30 const std::string REASON_VALUE = "value";
31 constexpr int32_t CODE = 1;
32 constexpr int64_t EXTRA_DATA_ID = 1;
33
34 }
35 class SystemAbilityOndemandReasonTest : public testing::Test {
36 public:
37 static void SetUpTestCase();
38 static void TearDownTestCase();
39 void SetUp();
40 void TearDown();
41 };
42
SetUpTestCase()43 void SystemAbilityOndemandReasonTest::SetUpTestCase()
44 {
45 DTEST_LOG << "SetUpTestCase" << std::endl;
46 }
47
TearDownTestCase()48 void SystemAbilityOndemandReasonTest::TearDownTestCase()
49 {
50 DTEST_LOG << "TearDownTestCase" << std::endl;
51 }
52
SetUp()53 void SystemAbilityOndemandReasonTest::SetUp()
54 {
55 DTEST_LOG << "SetUp" << std::endl;
56 }
57
TearDown()58 void SystemAbilityOndemandReasonTest::TearDown()
59 {
60 DTEST_LOG << "TearDown" << std::endl;
61 }
62
63 /**
64 * @tc.name: OnDemandReasonExtraDataGetData001
65 * @tc.desc: test OnDemandReasonExtraDataGetData, get OnDemandReasonExtraData's data_
66 * @tc.type: FUNC
67 * @tc.require: I6Y5L8
68 */
69 HWTEST_F(SystemAbilityOndemandReasonTest, OnDemandReasonExtraDataGetData001, TestSize.Level2)
70 {
71 OnDemandReasonExtraData onDemandReasonExtraData;
72 onDemandReasonExtraData.data_ = DATA;
73 string ret = onDemandReasonExtraData.GetData();
74 EXPECT_EQ(ret, DATA);
75 }
76
77 /**
78 * @tc.name: OnDemandReasonExtraDataGetCode001
79 * @tc.desc: test OnDemandReasonExtraDataGetCode, get OnDemandReasonExtraData's code_
80 * @tc.type: FUNC
81 * @tc.require: I6Y5L8
82 */
83 HWTEST_F(SystemAbilityOndemandReasonTest, OnDemandReasonExtraDataGetCode001, TestSize.Level2)
84 {
85 OnDemandReasonExtraData onDemandReasonExtraData;
86 onDemandReasonExtraData.code_ = CODE;
87 int32_t ret = onDemandReasonExtraData.GetCode();
88 EXPECT_EQ(ret, CODE);
89 }
90
91 /**
92 * @tc.name: OnDemandReasonExtraDataGetWant001
93 * @tc.desc: test OnDemandReasonExtraDataGetWant, get OnDemandReasonExtraData's want
94 * @tc.type: FUNC
95 * @tc.require: I6Y5L8
96 */
97 HWTEST_F(SystemAbilityOndemandReasonTest, OnDemandReasonExtraDataGetWant001, TestSize.Level2)
98 {
99 OnDemandReasonExtraData onDemandReasonExtraData;
100 onDemandReasonExtraData.want_["test"] = "test";
101 map testwant = onDemandReasonExtraData.GetWant();
102 EXPECT_FALSE(testwant.empty());
103 }
104
105 /**
106 * @tc.name: Marshalling001
107 * @tc.desc: test Marshalling with empty parcel
108 * @tc.type: FUNC
109 * @tc.require: I6Y5L8
110 */
111 HWTEST_F(SystemAbilityOndemandReasonTest, Marshalling001, TestSize.Level2)
112 {
113 OnDemandReasonExtraData onDemandReasonExtraData;
114 Parcel parcel;
115 bool ret = onDemandReasonExtraData.Marshalling(parcel);
116 EXPECT_TRUE(ret);
117 }
118
119 /**
120 * @tc.name: Unmarshalling001
121 * @tc.desc: test Unmarshalling with empty parcel
122 * @tc.type: FUNC
123 * @tc.require: I6Y5L8
124 */
125 HWTEST_F(SystemAbilityOndemandReasonTest, Unmarshalling001, TestSize.Level2)
126 {
127 OnDemandReasonExtraData onDemandReasonExtraData;
128 Parcel parcel;
129 OnDemandReasonExtraData* ret = onDemandReasonExtraData.Unmarshalling(parcel);
130 EXPECT_EQ(ret, nullptr);
131 }
132
133 /**
134 * @tc.name: Unmarshalling002
135 * @tc.desc: test Unmarshalling
136 * @tc.type: FUNC
137 * @tc.require: I6Y5L8
138 */
139 HWTEST_F(SystemAbilityOndemandReasonTest, Unmarshalling002, TestSize.Level2)
140 {
141 OnDemandReasonExtraData onDemandReasonExtraData;
142 Parcel parcel;
143 int32_t code = 0;
144 parcel.WriteInt32(code);
145 OnDemandReasonExtraData* ret = onDemandReasonExtraData.Unmarshalling(parcel);
146 EXPECT_EQ(ret, nullptr);
147 }
148
149 /**
150 * @tc.name: Unmarshalling003
151 * @tc.desc: test Unmarshalling
152 * @tc.type: FUNC
153 * @tc.require: I6Y5L8
154 */
155 HWTEST_F(SystemAbilityOndemandReasonTest, Unmarshalling003, TestSize.Level2)
156 {
157 OnDemandReasonExtraData onDemandReasonExtraData;
158 Parcel parcel;
159 int32_t code = 0;
160 parcel.WriteInt32(code);
161 std::string data = "test";
162 parcel.WriteString(data);
163 OnDemandReasonExtraData* ret = onDemandReasonExtraData.Unmarshalling(parcel);
164 EXPECT_NE(ret, nullptr);
165 }
166
167 /**
168 * @tc.name: SystemAbilityOnDemandReasonSetName001
169 * @tc.desc: test SystemAbilityOnDemandReasonSetName, set SystemAbilityOnDemandReason's reasonName_
170 * @tc.type: FUNC
171 * @tc.require: I6Y5L8
172 */
173 HWTEST_F(SystemAbilityOndemandReasonTest, SystemAbilityOnDemandReasonSetName001, TestSize.Level2)
174 {
175 SystemAbilityOnDemandReason systemAbilityOnDemandReason;
176 systemAbilityOnDemandReason.SetName(REASON_NAME);
177 EXPECT_EQ(systemAbilityOnDemandReason.reasonName_, REASON_NAME);
178 }
179
180 /**
181 * @tc.name: SystemAbilityOnDemandReasonSetValue001
182 * @tc.desc: test SystemAbilityOnDemandReasonSetValue, set SystemAbilityOnDemandReason's reasonValue_
183 * @tc.type: FUNC
184 * @tc.require: I6Y5L8
185 */
186 HWTEST_F(SystemAbilityOndemandReasonTest, SystemAbilityOnDemandReasonSetValue001, TestSize.Level2)
187 {
188 SystemAbilityOnDemandReason systemAbilityOnDemandReason;
189 systemAbilityOnDemandReason.SetValue(REASON_VALUE);
190 EXPECT_EQ(systemAbilityOnDemandReason.reasonValue_, REASON_VALUE);
191 }
192
193 /**
194 * @tc.name: GetExtraDataId001
195 * @tc.desc: test GetExtraDataId, get systemAbilityOnDemandReason's extraDataId_
196 * @tc.type: FUNC
197 * @tc.require: I6Y5L8
198 */
199 HWTEST_F(SystemAbilityOndemandReasonTest, GetExtraDataId001, TestSize.Level2)
200 {
201 SystemAbilityOnDemandReason systemAbilityOnDemandReason;
202 systemAbilityOnDemandReason.extraDataId_ = EXTRA_DATA_ID;
203 int64_t ret = systemAbilityOnDemandReason.GetExtraDataId();
204 EXPECT_EQ(ret, EXTRA_DATA_ID);
205 }
206
207 /**
208 * @tc.name: SetExtraDataId001
209 * @tc.desc: test SetExtraDataId, set SystemAbilityOnDemandReason's extraDataId_
210 * @tc.type: FUNC
211 * @tc.require: I6Y5L8
212 */
213 HWTEST_F(SystemAbilityOndemandReasonTest, SetExtraDataId001, TestSize.Level2)
214 {
215 SystemAbilityOnDemandReason systemAbilityOnDemandReason;
216 systemAbilityOnDemandReason.SetExtraDataId(EXTRA_DATA_ID);
217 EXPECT_EQ(systemAbilityOnDemandReason.extraDataId_, EXTRA_DATA_ID);
218 }
219
220 /**
221 * @tc.name: SetExtraData001
222 * @tc.desc: test SetExtraData, set SystemAbilityOnDemandReason's extraData_
223 * @tc.type: FUNC
224 * @tc.require: I6Y5L8
225 */
226 HWTEST_F(SystemAbilityOndemandReasonTest, SetExtraData001, TestSize.Level2)
227 {
228 SystemAbilityOnDemandReason systemAbilityOnDemandReason;
229 OnDemandReasonExtraData onDemandReasonExtraData;
230 onDemandReasonExtraData.data_ = DATA;
231 systemAbilityOnDemandReason.SetExtraData(onDemandReasonExtraData);
232 string ret = systemAbilityOnDemandReason.extraData_.GetData();
233 EXPECT_EQ(ret, DATA);
234 }
235
236 /**
237 * @tc.name: GetExtraData001
238 * @tc.desc: test GetExtraData, get SystemAbilityOnDemandReason's extraData_
239 * @tc.type: FUNC
240 * @tc.require: I6Y5L8
241 */
242 HWTEST_F(SystemAbilityOndemandReasonTest, GetExtraData001, TestSize.Level2)
243 {
244 SystemAbilityOnDemandReason systemAbilityOnDemandReason;
245 OnDemandReasonExtraData onDemandReasonExtraData;
246 onDemandReasonExtraData.data_ = DATA;
247 systemAbilityOnDemandReason.SetExtraData(onDemandReasonExtraData);
248 string ret = systemAbilityOnDemandReason.GetExtraData().data_;
249 EXPECT_EQ(ret, DATA);
250 }
251
252 /**
253 * @tc.name: SystemAbilityOnDemandReason001
254 * @tc.desc: test SystemAbilityOnDemandReason
255 * @tc.type: FUNC
256 * @tc.require: I6Y5L8
257 */
258 HWTEST_F(SystemAbilityOndemandReasonTest, SystemAbilityOnDemandReason001, TestSize.Level2)
259 {
260 OnDemandReasonId reasonId = OnDemandReasonId::DEVICE_ONLINE;
261 std::string reasonName = "testreasonname";
262 std::string reasonValue = "testreasonvalue";
263 int64_t extraDataId = 1;
264 SystemAbilityOnDemandReason reason(reasonId, reasonName, reasonValue, extraDataId);
265 EXPECT_EQ(reason.reasonId_, reasonId);
266 EXPECT_EQ(reason.reasonName_, reasonName);
267 EXPECT_EQ(reason.reasonValue_, reasonValue);
268 EXPECT_EQ(reason.extraDataId_, extraDataId);
269 }
270 }