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 "accessibility_common_helper.h"
18 #include "accessibility_mt_helper.h"
19 #include "system_ability.h"
20 
21 namespace OHOS {
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     (void)systemAbility;
47     Accessibility::AccessibilityCommonHelper::GetInstance().SetIsServicePublished(false);
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     Accessibility::AccessibilityCommonHelper::GetInstance().SetIsServicePublished(true);
71     return true;
72 }
73 
StopAbility(int32_t systemAbilityId)74 void SystemAbility::StopAbility(int32_t systemAbilityId)
75 {
76     GTEST_LOG_(INFO) << "MOCK SystemAbility StopAbility";
77     return;
78 }
79 
Start()80 void SystemAbility::Start()
81 {
82     GTEST_LOG_(INFO) << "MOCK SystemAbility Start";
83     OnStart();
84     isRunning_ = true;
85 }
86 
Stop()87 void SystemAbility::Stop()
88 {
89     GTEST_LOG_(INFO) << "MOCK SystemAbility Stop";
90     if (!isRunning_) {
91         return;
92     }
93 
94     OnStop();
95     isRunning_ = false;
96 }
97 
SADump()98 void SystemAbility::SADump()
99 {
100     GTEST_LOG_(INFO) << "MOCK SystemAbility SADump";
101     OnDump();
102 }
103 
GetSystemAbilitId() const104 int32_t SystemAbility::GetSystemAbilitId() const
105 {
106     GTEST_LOG_(INFO) << "MOCK SystemAbility GetSystemAbilitId";
107     return saId_;
108 }
109 
SetLibPath(const std::string & libPath)110 void SystemAbility::SetLibPath(const std::string& libPath)
111 {
112     GTEST_LOG_(INFO) << "MOCK SystemAbility SetLibPath";
113     libPath_ = libPath;
114 }
115 
GetLibPath() const116 const std::string& SystemAbility::GetLibPath() const
117 {
118     GTEST_LOG_(INFO) << "MOCK SystemAbility GetLibPath";
119     return libPath_;
120 }
121 
SetDependSa(const std::vector<int32_t> & dependSa)122 void SystemAbility::SetDependSa(const std::vector<int32_t>& dependSa)
123 {
124     GTEST_LOG_(INFO) << "MOCK SystemAbility SetDependSa";
125     dependSa_ = dependSa;
126 }
127 
GetDependSa() const128 const std::vector<int32_t>& SystemAbility::GetDependSa() const
129 {
130     GTEST_LOG_(INFO) << "MOCK SystemAbility GetDependSa";
131     return dependSa_;
132 }
133 
SetRunOnCreate(bool isRunOnCreate)134 void SystemAbility::SetRunOnCreate(bool isRunOnCreate)
135 {
136     GTEST_LOG_(INFO) << "MOCK SystemAbility SetRunOnCreate";
137     isRunOnCreate_ = isRunOnCreate;
138 }
139 
IsRunOnCreate() const140 bool SystemAbility::IsRunOnCreate() const
141 {
142     GTEST_LOG_(INFO) << "MOCK SystemAbility IsRunOnCreate";
143     return isRunOnCreate_;
144 }
145 
SetDistributed(bool isDistributed)146 void SystemAbility::SetDistributed(bool isDistributed)
147 {
148     GTEST_LOG_(INFO) << "MOCK SystemAbility SetDistributed";
149     isDistributed_ = isDistributed;
150 }
151 
GetDistributed() const152 bool SystemAbility::GetDistributed() const
153 {
154     GTEST_LOG_(INFO) << "MOCK SystemAbility GetDistributed";
155     return isDistributed_;
156 }
157 
GetRunningStatus() const158 bool SystemAbility::GetRunningStatus() const
159 {
160     GTEST_LOG_(INFO) << "MOCK SystemAbility GetRunningStatus";
161     return isRunning_;
162 }
163 
SetDumpLevel(uint32_t dumpLevel)164 void SystemAbility::SetDumpLevel(uint32_t dumpLevel)
165 {
166     GTEST_LOG_(INFO) << "MOCK SystemAbility SetDumpLevel";
167     dumpLevel_ = dumpLevel;
168 }
169 
GetDumpLevel() const170 uint32_t SystemAbility::GetDumpLevel() const
171 {
172     GTEST_LOG_(INFO) << "MOCK SystemAbility GetDumpLevel";
173     return dumpLevel_;
174 }
175 
SetDependTimeout(int32_t dependTimeout)176 void SystemAbility::SetDependTimeout(int32_t dependTimeout)
177 {
178     GTEST_LOG_(INFO) << "MOCK SystemAbility SetDependTimeout";
179     (void)dependTimeout;
180 }
181 
GetDependTimeout() const182 int32_t SystemAbility::GetDependTimeout() const
183 {
184     GTEST_LOG_(INFO) << "MOCK SystemAbility GetDependTimeout";
185     return dependTimeout_;
186 }
187 
188 // The details should be implemented by subclass
OnDump()189 void SystemAbility::OnDump()
190 {
191     GTEST_LOG_(INFO) << "MOCK SystemAbility OnDump";
192 }
193 
194 // The details should be implemented by subclass
OnStart()195 void SystemAbility::OnStart()
196 {
197     GTEST_LOG_(INFO) << "MOCK SystemAbility OnStart";
198 }
199 
OnExtension(const std::string & extension,MessageParcel & data,MessageParcel & reply)200 int32_t SystemAbility::OnExtension(const std::string& extension, MessageParcel& data, MessageParcel& reply)
201 {
202     GTEST_LOG_(INFO) << "MOCK SystemAbility OnExtension";
203     return 0;
204 }
205 
OnStart(const SystemAbilityOnDemandReason & startReason)206 void SystemAbility::OnStart(const SystemAbilityOnDemandReason& startReason)
207 {
208     GTEST_LOG_(INFO) << "MOCK SystemAbility OnStart";
209 }
210 
OnIdle(const SystemAbilityOnDemandReason & idleReason)211 int32_t SystemAbility::OnIdle(const SystemAbilityOnDemandReason& idleReason)
212 {
213     GTEST_LOG_(INFO) << "MOCK SystemAbility OnIdle";
214     return 0;
215 }
216 
OnActive(const SystemAbilityOnDemandReason & activeReason)217 void SystemAbility::OnActive(const SystemAbilityOnDemandReason& activeReason)
218 {
219     GTEST_LOG_(INFO) << "MOCK SystemAbility OnActive";
220 }
221 
222 // The details should be implemented by subclass
OnStop()223 void SystemAbility::OnStop()
224 {
225     GTEST_LOG_(INFO) << "MOCK SystemAbility OnStop";
226 }
227 
OnStop(const SystemAbilityOnDemandReason & stopReason)228 void SystemAbility::OnStop(const SystemAbilityOnDemandReason& stopReason)
229 {
230     GTEST_LOG_(INFO) << "MOCK SystemAbility OnStop";
231 }
232 
233 // The details should be implemented by subclass
OnAddSystemAbility(int32_t systemAbilityId,const std::string & deviceId)234 void SystemAbility::OnAddSystemAbility(int32_t systemAbilityId, const std::string& deviceId)
235 {
236     GTEST_LOG_(INFO) << "MOCK SystemAbility OnAddSystemAbility";
237     (void)systemAbilityId;
238     (void)deviceId;
239 }
240 
241 // The details should be implemented by subclass
OnRemoveSystemAbility(int32_t systemAbilityId,const std::string & deviceId)242 void SystemAbility::OnRemoveSystemAbility(int32_t systemAbilityId, const std::string& deviceId)
243 {
244     GTEST_LOG_(INFO) << "MOCK SystemAbility OnRemoveSystemAbility";
245     (void)systemAbilityId;
246     (void)deviceId;
247 }
248 
GetSystemAbility(int32_t systemAbilityId)249 sptr<IRemoteObject> SystemAbility::GetSystemAbility(int32_t systemAbilityId)
250 {
251     GTEST_LOG_(INFO) << "MOCK SystemAbility GetSystemAbility";
252     (void)systemAbilityId;
253     return nullptr;
254 }
255 
SetCapability(const std::u16string & capability)256 void SystemAbility::SetCapability(const std::u16string& capability)
257 {
258     GTEST_LOG_(INFO) << "MOCK SystemAbility SetCapability";
259     capability_ = capability;
260 }
261 
GetCapability() const262 const std::u16string& SystemAbility::GetCapability() const
263 {
264     GTEST_LOG_(INFO) << "MOCK SystemAbility GetCapability";
265     return capability_;
266 }
267 
SetPermission(const std::u16string & permission)268 void SystemAbility::SetPermission(const std::u16string& permission)
269 {
270     GTEST_LOG_(INFO) << "MOCK SystemAbility SetPermission";
271     permission_ = permission;
272 }
273 
274 // The details should be implemented by subclass
OnDeviceLevelChanged(int32_t type,int32_t level,std::string & action)275 void SystemAbility::OnDeviceLevelChanged(int32_t type, int32_t level, std::string& action)
276 {
277     GTEST_LOG_(INFO) << "MOCK SystemAbility OnDeviceLevelChanged";
278     (void)type;
279     (void)level;
280     (void)action;
281 }
282 }
283