1 /*
2 * Copyright (c) 2021 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 "system_ability.h"
18 #include "mock_system_ability.h"
19
20 namespace OHOS {
21 std::vector<int> g_accountIds;
SystemAbility(bool runOnCreate)22 SystemAbility::SystemAbility(bool runOnCreate)
23 {
24 GTEST_LOG_(INFO) << "MOCK SystemAbility SystemAbility";
25 isRunning_ = false;
26 isRunOnCreate_ = runOnCreate;
27 isDistributed_ = false;
28 dumpLevel_ = 0;
29 capability_ = u"";
30 }
31
SystemAbility(int32_t systemAbilityId,bool runOnCreate)32 SystemAbility::SystemAbility(int32_t systemAbilityId, bool runOnCreate) : SystemAbility(runOnCreate)
33 {
34 GTEST_LOG_(INFO) << "MOCK SystemAbility SystemAbility";
35 saId_ = systemAbilityId;
36 }
37
~SystemAbility()38 SystemAbility::~SystemAbility()
39 {
40 GTEST_LOG_(INFO) << "MOCK SystemAbility ~SystemAbility";
41 }
42
MakeAndRegisterAbility(SystemAbility * systemAbility)43 bool SystemAbility::MakeAndRegisterAbility(SystemAbility* systemAbility)
44 {
45 GTEST_LOG_(INFO) << "MOCK SystemAbility MakeAndRegisterAbility";
46 delete systemAbility;
47 systemAbility = nullptr;
48 return true;
49 }
50
AddSystemAbilityListener(int32_t systemAbilityId)51 bool SystemAbility::AddSystemAbilityListener(int32_t systemAbilityId)
52 {
53 GTEST_LOG_(INFO) << "MOCK SystemAbility AddSystemAbilityListener";
54 OnAddSystemAbility(systemAbilityId, "");
55 return true;
56 }
57
RemoveSystemAbilityListener(int32_t systemAbilityId)58 bool SystemAbility::RemoveSystemAbilityListener(int32_t systemAbilityId)
59 {
60 GTEST_LOG_(INFO) << "MOCK SystemAbility RemoveSystemAbilityListener";
61 (void)systemAbilityId;
62 return true;
63 }
64
Publish(sptr<IRemoteObject> systemAbility)65 bool SystemAbility::Publish(sptr<IRemoteObject> systemAbility)
66 {
67 GTEST_LOG_(INFO) << "MOCK SystemAbility Publish";
68 (void)systemAbility;
69 systemAbility.ForceSetRefPtr(nullptr);
70 return true;
71 }
72
CancelIdle()73 bool SystemAbility::CancelIdle()
74 {
75 return true;
76 }
77
StopAbility(int32_t systemAbilityId)78 void SystemAbility::StopAbility(int32_t systemAbilityId)
79 {
80 GTEST_LOG_(INFO) << "MOCK SystemAbility StopAbility";
81 return;
82 }
83
Start()84 void SystemAbility::Start()
85 {
86 GTEST_LOG_(INFO) << "MOCK SystemAbility Start";
87 OnStart();
88 isRunning_ = true;
89 }
90
Stop()91 void SystemAbility::Stop()
92 {
93 GTEST_LOG_(INFO) << "MOCK SystemAbility Stop";
94 if (!isRunning_) {
95 return;
96 }
97
98 OnStop();
99 isRunning_ = false;
100 }
101
SADump()102 void SystemAbility::SADump()
103 {
104 GTEST_LOG_(INFO) << "MOCK SystemAbility SADump";
105 OnDump();
106 }
107
GetSystemAbilitId() const108 int32_t SystemAbility::GetSystemAbilitId() const
109 {
110 GTEST_LOG_(INFO) << "MOCK SystemAbility GetSystemAbilitId";
111 return saId_;
112 }
113
SetLibPath(const std::string & libPath)114 void SystemAbility::SetLibPath(const std::string& libPath)
115 {
116 GTEST_LOG_(INFO) << "MOCK SystemAbility SetLibPath";
117 libPath_ = libPath;
118 }
119
GetLibPath() const120 const std::string& SystemAbility::GetLibPath() const
121 {
122 GTEST_LOG_(INFO) << "MOCK SystemAbility GetLibPath";
123 return libPath_;
124 }
125
SetDependSa(const std::vector<int32_t> & dependSa)126 void SystemAbility::SetDependSa(const std::vector<int32_t>& dependSa)
127 {
128 GTEST_LOG_(INFO) << "MOCK SystemAbility SetDependSa";
129 dependSa_ = dependSa;
130 }
131
GetDependSa() const132 const std::vector<int32_t>& SystemAbility::GetDependSa() const
133 {
134 GTEST_LOG_(INFO) << "MOCK SystemAbility GetDependSa";
135 return dependSa_;
136 }
137
SetRunOnCreate(bool isRunOnCreate)138 void SystemAbility::SetRunOnCreate(bool isRunOnCreate)
139 {
140 GTEST_LOG_(INFO) << "MOCK SystemAbility SetRunOnCreate";
141 isRunOnCreate_ = isRunOnCreate;
142 }
143
IsRunOnCreate() const144 bool SystemAbility::IsRunOnCreate() const
145 {
146 GTEST_LOG_(INFO) << "MOCK SystemAbility IsRunOnCreate";
147 return isRunOnCreate_;
148 }
149
SetDistributed(bool isDistributed)150 void SystemAbility::SetDistributed(bool isDistributed)
151 {
152 GTEST_LOG_(INFO) << "MOCK SystemAbility SetDistributed";
153 isDistributed_ = isDistributed;
154 }
155
GetDistributed() const156 bool SystemAbility::GetDistributed() const
157 {
158 GTEST_LOG_(INFO) << "MOCK SystemAbility GetDistributed";
159 return isDistributed_;
160 }
161
GetRunningStatus() const162 bool SystemAbility::GetRunningStatus() const
163 {
164 GTEST_LOG_(INFO) << "MOCK SystemAbility GetRunningStatus";
165 return isRunning_;
166 }
167
SetDumpLevel(uint32_t dumpLevel)168 void SystemAbility::SetDumpLevel(uint32_t dumpLevel)
169 {
170 GTEST_LOG_(INFO) << "MOCK SystemAbility SetDumpLevel";
171 dumpLevel_ = dumpLevel;
172 }
173
GetDumpLevel() const174 uint32_t SystemAbility::GetDumpLevel() const
175 {
176 GTEST_LOG_(INFO) << "MOCK SystemAbility GetDumpLevel";
177 return dumpLevel_;
178 }
179
SetDependTimeout(int32_t dependTimeout)180 void SystemAbility::SetDependTimeout(int32_t dependTimeout)
181 {
182 GTEST_LOG_(INFO) << "MOCK SystemAbility SetDependTimeout";
183 (void)dependTimeout;
184 }
185
GetDependTimeout() const186 int32_t SystemAbility::GetDependTimeout() const
187 {
188 GTEST_LOG_(INFO) << "MOCK SystemAbility GetDependTimeout";
189 return dependTimeout_;
190 }
191
192 // The details should be implemented by subclass
OnDump()193 void SystemAbility::OnDump()
194 {
195 GTEST_LOG_(INFO) << "MOCK SystemAbility OnDump";
196 }
197
198 // The details should be implemented by subclass
OnStart()199 void SystemAbility::OnStart()
200 {
201 GTEST_LOG_(INFO) << "MOCK SystemAbility OnStart";
202 }
203
OnExtension(const std::string & extension,MessageParcel & data,MessageParcel & reply)204 int32_t SystemAbility::OnExtension(const std::string& extension, MessageParcel& data, MessageParcel& reply)
205 {
206 GTEST_LOG_(INFO) << "aams MOCK SystemAbility OnExtension";
207 return 0;
208 }
209
OnStart(const SystemAbilityOnDemandReason & startReason)210 void SystemAbility::OnStart(const SystemAbilityOnDemandReason& startReason)
211 {
212 GTEST_LOG_(INFO) << "MOCK SystemAbility OnStart";
213 }
214
OnIdle(const SystemAbilityOnDemandReason & idleReason)215 int32_t SystemAbility::OnIdle(const SystemAbilityOnDemandReason& idleReason)
216 {
217 GTEST_LOG_(INFO) << "MOCK SystemAbility OnIdle";
218 return 0;
219 }
220
OnActive(const SystemAbilityOnDemandReason & activeReason)221 void SystemAbility::OnActive(const SystemAbilityOnDemandReason& activeReason)
222 {
223 GTEST_LOG_(INFO) << "MOCK SystemAbility OnActive";
224 }
225
226 // The details should be implemented by subclass
OnStop()227 void SystemAbility::OnStop()
228 {
229 GTEST_LOG_(INFO) << "MOCK SystemAbility OnStop";
230 }
231
OnStop(const SystemAbilityOnDemandReason & stopReason)232 void SystemAbility::OnStop(const SystemAbilityOnDemandReason& stopReason)
233 {
234 GTEST_LOG_(INFO) << "MOCK SystemAbility OnStop";
235 }
236
237 // The details should be implemented by subclass
OnAddSystemAbility(int32_t systemAbilityId,const std::string & deviceId)238 void SystemAbility::OnAddSystemAbility(int32_t systemAbilityId, const std::string& deviceId)
239 {
240 GTEST_LOG_(INFO) << "MOCK SystemAbility OnAddSystemAbility";
241 (void)systemAbilityId;
242 (void)deviceId;
243 }
244
245 // The details should be implemented by subclass
OnRemoveSystemAbility(int32_t systemAbilityId,const std::string & deviceId)246 void SystemAbility::OnRemoveSystemAbility(int32_t systemAbilityId, const std::string& deviceId)
247 {
248 GTEST_LOG_(INFO) << "MOCK SystemAbility OnRemoveSystemAbility";
249 (void)systemAbilityId;
250 (void)deviceId;
251 }
252
GetSystemAbility(int32_t systemAbilityId)253 sptr<IRemoteObject> SystemAbility::GetSystemAbility(int32_t systemAbilityId)
254 {
255 GTEST_LOG_(INFO) << "MOCK SystemAbility GetSystemAbility 1";
256 (void)systemAbilityId;
257 if (!g_mockAbility) {
258 return g_mockAbility;
259 }
260 return nullptr;
261 }
262
SetCapability(const std::u16string & capability)263 void SystemAbility::SetCapability(const std::u16string& capability)
264 {
265 GTEST_LOG_(INFO) << "MOCK SystemAbility SetCapability";
266 capability_ = capability;
267 }
268
GetCapability() const269 const std::u16string& SystemAbility::GetCapability() const
270 {
271 GTEST_LOG_(INFO) << "MOCK SystemAbility GetCapability";
272 return capability_;
273 }
274
SetPermission(const std::u16string & permission)275 void SystemAbility::SetPermission(const std::u16string& permission)
276 {
277 GTEST_LOG_(INFO) << "MOCK SystemAbility SetPermission";
278 permission_ = permission;
279 }
280
281 // The details should be implemented by subclass
OnDeviceLevelChanged(int32_t type,int32_t level,std::string & action)282 void SystemAbility::OnDeviceLevelChanged(int32_t type, int32_t level, std::string& action)
283 {
284 GTEST_LOG_(INFO) << "MOCK SystemAbility OnDeviceLevelChanged";
285 (void)type;
286 (void)level;
287 (void)action;
288 }
289 }
290