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