1 /*
2  * Copyright (c) 2021-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 "mock_app_account_stub.h"
17 
18 #include "account_error_no.h"
19 #include "account_log_wrapper.h"
20 
21 namespace OHOS {
22 namespace AccountSA {
23 namespace {
24 const std::string STRING_EMPTY = "";
25 const std::string STRING_NAME = "name";
26 const std::string STRING_EXTRA_INFO = "extra_info";
27 const std::string STRING_NAME_EMPTY = STRING_EMPTY;
28 const std::string STRING_EXTRA_INFO_EMPTY = STRING_EMPTY;
29 const std::string STRING_OWNER = "com.example.owner";
30 
31 constexpr std::int32_t NAME_MAX_SIZE = 512;
32 constexpr std::int32_t EXTRA_INFO_MAX_SIZE = 1024;
33 }  // namespace
34 
AddAccount(const std::string & name,const std::string & extraInfo)35 ErrCode MockAppAccountStub::AddAccount(const std::string &name, const std::string &extraInfo)
36 {
37     ACCOUNT_LOGI("mock enter");
38     ACCOUNT_LOGI("mock name.size() = %{public}zu", name.size());
39     ACCOUNT_LOGI("mock extraInfo.size() = %{public}zu", extraInfo.size());
40 
41     if (name.size() == 0) {
42         ACCOUNT_LOGE("mock name is empty");
43         return ERR_ACCOUNT_COMMON_INVALID_PARAMETER;
44     }
45 
46     if (name.size() > NAME_MAX_SIZE) {
47         ACCOUNT_LOGE("mock name is out of range, name.size() = %{public}zu", name.size());
48         return ERR_ACCOUNT_COMMON_INVALID_PARAMETER;
49     }
50 
51     if (extraInfo.size() > EXTRA_INFO_MAX_SIZE) {
52         ACCOUNT_LOGE("mock extra info is out of range, extraInfo.size() = %{public}zu", extraInfo.size());
53         return ERR_ACCOUNT_COMMON_INVALID_PARAMETER;
54     }
55 
56     return ERR_OK;
57 }
58 
AddAccountImplicitly(const std::string & owner,const std::string & authType,const AAFwk::Want & options,const sptr<IAppAccountAuthenticatorCallback> & callback)59 ErrCode MockAppAccountStub::AddAccountImplicitly(const std::string &owner, const std::string &authType,
60     const AAFwk::Want &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
61 {
62     ACCOUNT_LOGI("mock enter");
63     return ERR_OK;
64 }
65 
CreateAccount(const std::string & name,const CreateAccountOptions & options)66 ErrCode MockAppAccountStub::CreateAccount(const std::string &name, const CreateAccountOptions &options)
67 {
68     ACCOUNT_LOGI("mock enter");
69     return ERR_OK;
70 }
71 
CreateAccountImplicitly(const std::string & owner,const CreateAccountImplicitlyOptions & options,const sptr<IAppAccountAuthenticatorCallback> & callback)72 ErrCode MockAppAccountStub::CreateAccountImplicitly(const std::string &owner,
73     const CreateAccountImplicitlyOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
74 {
75     ACCOUNT_LOGI("mock enter");
76     return ERR_OK;
77 }
78 
DeleteAccount(const std::string & name)79 ErrCode MockAppAccountStub::DeleteAccount(const std::string &name)
80 {
81     ACCOUNT_LOGI("mock enter");
82     ACCOUNT_LOGI("mock name.size() = %{public}zu", name.size());
83 
84     if (name.size() == 0) {
85         ACCOUNT_LOGE("mock name is empty");
86         return ERR_ACCOUNT_COMMON_INVALID_PARAMETER;
87     }
88 
89     if (name.size() > NAME_MAX_SIZE) {
90         ACCOUNT_LOGE("mock name is out of range, name.size() = %{public}zu", name.size());
91         return ERR_ACCOUNT_COMMON_INVALID_PARAMETER;
92     }
93 
94     return ERR_OK;
95 }
96 
GetAccountExtraInfo(const std::string & name,std::string & extraInfo)97 ErrCode MockAppAccountStub::GetAccountExtraInfo(const std::string &name, std::string &extraInfo)
98 {
99     ACCOUNT_LOGI("mock enter");
100 
101     return ERR_OK;
102 }
103 
SetAccountExtraInfo(const std::string & name,const std::string & extraInfo)104 ErrCode MockAppAccountStub::SetAccountExtraInfo(const std::string &name, const std::string &extraInfo)
105 {
106     ACCOUNT_LOGI("mock enter");
107 
108     return ERR_OK;
109 }
110 
EnableAppAccess(const std::string & name,const std::string & authorizedApp)111 ErrCode MockAppAccountStub::EnableAppAccess(const std::string &name, const std::string &authorizedApp)
112 {
113     ACCOUNT_LOGI("mock enter");
114 
115     return ERR_OK;
116 }
117 
DisableAppAccess(const std::string & name,const std::string & authorizedApp)118 ErrCode MockAppAccountStub::DisableAppAccess(const std::string &name, const std::string &authorizedApp)
119 {
120     ACCOUNT_LOGI("mock enter");
121 
122     return ERR_OK;
123 }
124 
SetAppAccess(const std::string & name,const std::string & authorizedApp,bool isAccessible)125 ErrCode MockAppAccountStub::SetAppAccess(const std::string &name, const std::string &authorizedApp, bool isAccessible)
126 {
127     ACCOUNT_LOGI("mock enter");
128 
129     return ERR_OK;
130 }
131 
CheckAppAccountSyncEnable(const std::string & name,bool & syncEnable)132 ErrCode MockAppAccountStub::CheckAppAccountSyncEnable(const std::string &name, bool &syncEnable)
133 {
134     ACCOUNT_LOGI("mock enter");
135 
136     return ERR_OK;
137 }
138 
SetAppAccountSyncEnable(const std::string & name,const bool & syncEnable)139 ErrCode MockAppAccountStub::SetAppAccountSyncEnable(const std::string &name, const bool &syncEnable)
140 {
141     ACCOUNT_LOGI("mock enter");
142 
143     return ERR_OK;
144 }
145 
GetAssociatedData(const std::string & name,const std::string & key,std::string & value)146 ErrCode MockAppAccountStub::GetAssociatedData(const std::string &name, const std::string &key, std::string &value)
147 {
148     ACCOUNT_LOGI("mock enter");
149 
150     return ERR_OK;
151 }
152 
SetAssociatedData(const std::string & name,const std::string & key,const std::string & value)153 ErrCode MockAppAccountStub::SetAssociatedData(
154     const std::string &name, const std::string &key, const std::string &value)
155 {
156     ACCOUNT_LOGI("mock enter");
157 
158     return ERR_OK;
159 }
160 
GetAccountCredential(const std::string & name,const std::string & credentialType,std::string & credential)161 ErrCode MockAppAccountStub::GetAccountCredential(
162     const std::string &name, const std::string &credentialType, std::string &credential)
163 {
164     ACCOUNT_LOGI("mock enter");
165 
166     return ERR_OK;
167 }
168 
SetAccountCredential(const std::string & name,const std::string & credentialType,const std::string & credential)169 ErrCode MockAppAccountStub::SetAccountCredential(
170     const std::string &name, const std::string &credentialType, const std::string &credential)
171 {
172     ACCOUNT_LOGI("mock enter");
173 
174     return ERR_OK;
175 }
176 
Authenticate(const std::string & name,const std::string & owner,const std::string & authType,const AAFwk::Want & options,const sptr<IAppAccountAuthenticatorCallback> & callback)177 ErrCode MockAppAccountStub::Authenticate(const std::string &name, const std::string &owner,
178     const std::string &authType, const AAFwk::Want &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
179 {
180     ACCOUNT_LOGI("mock enter");
181 
182     return ERR_OK;
183 }
184 
GetOAuthToken(const std::string & name,const std::string & owner,const std::string & authType,std::string & token)185 ErrCode MockAppAccountStub::GetOAuthToken(
186     const std::string &name, const std::string &owner, const std::string &authType, std::string &token)
187 {
188     ACCOUNT_LOGI("mock enter");
189 
190     return ERR_OK;
191 }
192 
GetAuthToken(const std::string & name,const std::string & owner,const std::string & authType,std::string & token)193 ErrCode MockAppAccountStub::GetAuthToken(
194     const std::string &name, const std::string &owner, const std::string &authType, std::string &token)
195 {
196     ACCOUNT_LOGI("mock enter");
197 
198     return ERR_OK;
199 }
200 
SetOAuthToken(const std::string & name,const std::string & authType,const std::string & token)201 ErrCode MockAppAccountStub::SetOAuthToken(
202     const std::string &name, const std::string &authType, const std::string &token)
203 {
204     ACCOUNT_LOGI("mock enter");
205 
206     return ERR_OK;
207 }
208 
DeleteOAuthToken(const std::string & name,const std::string & owner,const std::string & authType,const std::string & token)209 ErrCode MockAppAccountStub::DeleteOAuthToken(const std::string &name, const std::string &owner,
210     const std::string &authType, const std::string &token)
211 {
212     ACCOUNT_LOGI("mock enter");
213 
214     return ERR_OK;
215 }
216 
DeleteAuthToken(const std::string & name,const std::string & owner,const std::string & authType,const std::string & token)217 ErrCode MockAppAccountStub::DeleteAuthToken(const std::string &name, const std::string &owner,
218     const std::string &authType, const std::string &token)
219 {
220     ACCOUNT_LOGI("mock enter");
221 
222     return ERR_OK;
223 }
224 
SetOAuthTokenVisibility(const std::string & name,const std::string & authType,const std::string & bundleName,bool isVisible)225 ErrCode MockAppAccountStub::SetOAuthTokenVisibility(const std::string &name, const std::string &authType,
226     const std::string &bundleName, bool isVisible)
227 {
228     ACCOUNT_LOGI("mock enter");
229 
230     return ERR_OK;
231 }
232 
SetAuthTokenVisibility(const std::string & name,const std::string & authType,const std::string & bundleName,bool isVisible)233 ErrCode MockAppAccountStub::SetAuthTokenVisibility(const std::string &name, const std::string &authType,
234     const std::string &bundleName, bool isVisible)
235 {
236     ACCOUNT_LOGI("mock enter");
237 
238     return ERR_OK;
239 }
240 
CheckOAuthTokenVisibility(const std::string & name,const std::string & authType,const std::string & bundleName,bool & isVisible)241 ErrCode MockAppAccountStub::CheckOAuthTokenVisibility(const std::string &name, const std::string &authType,
242     const std::string &bundleName, bool &isVisible)
243 {
244     ACCOUNT_LOGI("mock enter");
245 
246     return ERR_OK;
247 }
248 
CheckAuthTokenVisibility(const std::string & name,const std::string & authType,const std::string & bundleName,bool & isVisible)249 ErrCode MockAppAccountStub::CheckAuthTokenVisibility(const std::string &name, const std::string &authType,
250     const std::string &bundleName, bool &isVisible)
251 {
252     ACCOUNT_LOGI("mock enter");
253 
254     return ERR_OK;
255 }
256 
257 
GetAuthenticatorInfo(const std::string & owner,AuthenticatorInfo & authenticator)258 ErrCode MockAppAccountStub::GetAuthenticatorInfo(const std::string &owner, AuthenticatorInfo &authenticator)
259 {
260     ACCOUNT_LOGI("mock enter");
261 
262     return ERR_OK;
263 }
264 
GetAllOAuthTokens(const std::string & name,const std::string & owner,std::vector<OAuthTokenInfo> & tokenInfos)265 ErrCode MockAppAccountStub::GetAllOAuthTokens(const std::string &name, const std::string &owner,
266     std::vector<OAuthTokenInfo> &tokenInfos)
267 {
268     ACCOUNT_LOGI("mock enter");
269 
270     return ERR_OK;
271 }
272 
GetOAuthList(const std::string & name,const std::string & authType,std::set<std::string> & oauthList)273 ErrCode MockAppAccountStub::GetOAuthList(const std::string &name, const std::string &authType,
274     std::set<std::string> &oauthList)
275 {
276     ACCOUNT_LOGI("mock enter");
277 
278     return ERR_OK;
279 }
280 
GetAuthList(const std::string & name,const std::string & authType,std::set<std::string> & oauthList)281 ErrCode MockAppAccountStub::GetAuthList(const std::string &name, const std::string &authType,
282     std::set<std::string> &oauthList)
283 {
284     ACCOUNT_LOGI("mock enter");
285 
286     return ERR_OK;
287 }
288 
GetAuthenticatorCallback(const std::string & sessionId,sptr<IRemoteObject> & callback)289 ErrCode MockAppAccountStub::GetAuthenticatorCallback(const std::string &sessionId, sptr<IRemoteObject> &callback)
290 {
291     ACCOUNT_LOGI("mock enter");
292 
293     return ERR_OK;
294 }
295 
GetAllAccounts(const std::string & owner,std::vector<AppAccountInfo> & appAccounts)296 ErrCode MockAppAccountStub::GetAllAccounts(const std::string &owner, std::vector<AppAccountInfo> &appAccounts)
297 {
298     ACCOUNT_LOGI("mock enter");
299 
300     return ERR_OK;
301 }
302 
GetAllAccessibleAccounts(std::vector<AppAccountInfo> & appAccounts)303 ErrCode MockAppAccountStub::GetAllAccessibleAccounts(std::vector<AppAccountInfo> &appAccounts)
304 {
305     ACCOUNT_LOGI("mock enter");
306 
307     return ERR_OK;
308 }
309 
QueryAllAccessibleAccounts(const std::string & owner,std::vector<AppAccountInfo> & appAccounts)310 ErrCode MockAppAccountStub::QueryAllAccessibleAccounts(
311     const std::string &owner, std::vector<AppAccountInfo> &appAccounts)
312 {
313     ACCOUNT_LOGI("mock enter");
314     return ERR_OK;
315 }
316 
CheckAppAccess(const std::string & name,const std::string & authorizedApp,bool & isAccessible)317 ErrCode MockAppAccountStub::CheckAppAccess(
318     const std::string &name, const std::string &authorizedApp, bool &isAccessible)
319 {
320     ACCOUNT_LOGD("mock enter");
321     (void) name;
322     (void) authorizedApp;
323     (void) isAccessible;
324     return ERR_OK;
325 }
326 
DeleteAccountCredential(const std::string & name,const std::string & credentialType)327 ErrCode MockAppAccountStub::DeleteAccountCredential(const std::string &name, const std::string &credentialType)
328 {
329     ACCOUNT_LOGD("mock enter");
330 
331     return ERR_OK;
332 }
333 
SelectAccountsByOptions(const SelectAccountsOptions & options,const sptr<IAppAccountAuthenticatorCallback> & callback)334 ErrCode MockAppAccountStub::SelectAccountsByOptions(
335     const SelectAccountsOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
336 {
337     ACCOUNT_LOGD("mock enter");
338 
339     return ERR_OK;
340 }
341 
VerifyCredential(const std::string & name,const std::string & owner,const VerifyCredentialOptions & options,const sptr<IAppAccountAuthenticatorCallback> & callback)342 ErrCode MockAppAccountStub::VerifyCredential(const std::string &name, const std::string &owner,
343     const VerifyCredentialOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
344 {
345     ACCOUNT_LOGD("mock enter");
346 
347     return ERR_OK;
348 }
349 
CheckAccountLabels(const std::string & name,const std::string & owner,const std::vector<std::string> & labels,const sptr<IAppAccountAuthenticatorCallback> & callback)350 ErrCode MockAppAccountStub::CheckAccountLabels(const std::string &name, const std::string &owner,
351     const std::vector<std::string> &labels, const sptr<IAppAccountAuthenticatorCallback> &callback)
352 {
353     ACCOUNT_LOGD("mock enter");
354 
355     return ERR_OK;
356 }
357 
SetAuthenticatorProperties(const std::string & owner,const SetPropertiesOptions & options,const sptr<IAppAccountAuthenticatorCallback> & callback)358 ErrCode MockAppAccountStub::SetAuthenticatorProperties(const std::string &owner,
359     const SetPropertiesOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
360 {
361     ACCOUNT_LOGD("mock enter");
362 
363     return ERR_OK;
364 }
365 
SubscribeAppAccount(AppAccountSubscribeInfo & subscribeInfo,const sptr<IRemoteObject> & eventListener)366 ErrCode MockAppAccountStub::SubscribeAppAccount(
367     AppAccountSubscribeInfo &subscribeInfo, const sptr<IRemoteObject> &eventListener)
368 {
369     ACCOUNT_LOGI("mock enter");
370 
371     std::vector<std::string> owners;
372     subscribeInfo.GetOwners(owners);
373 
374     ACCOUNT_LOGI("mock owners.size() = %{public}zu", owners.size());
375     if (owners.size() == 0) {
376         ACCOUNT_LOGE("mock owners are empty");
377         return ERR_ACCOUNT_COMMON_INVALID_PARAMETER;
378     }
379 
380     return ERR_OK;
381 }
382 
UnsubscribeAppAccount(const sptr<IRemoteObject> & eventListener)383 ErrCode MockAppAccountStub::UnsubscribeAppAccount(const sptr<IRemoteObject> &eventListener)
384 {
385     ACCOUNT_LOGI("mock enter");
386 
387     return ERR_OK;
388 }
389 }  // namespace AccountSA
390 }  // namespace OHOS
391