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 #ifndef OS_ACCOUNT_SERVICES_ACCOUNTMGR_TEST_MOCK_APP_ACCOUNT_MOCK_APP_ACCOUNT_STUB_H
17 #define OS_ACCOUNT_SERVICES_ACCOUNTMGR_TEST_MOCK_APP_ACCOUNT_MOCK_APP_ACCOUNT_STUB_H
18 
19 #include "gmock/gmock.h"
20 
21 #include "app_account_stub.h"
22 
23 namespace OHOS {
24 namespace AccountSA {
25 class MockAppAccountStub : public AppAccountStub {
26 public:
27     ErrCode AddAccount(const std::string &name, const std::string &extraInfo) override;
28     ErrCode AddAccountImplicitly(const std::string &owner, const std::string &authType,
29         const AAFwk::Want &options, const sptr<IAppAccountAuthenticatorCallback> &callback) override;
30     ErrCode CreateAccount(const std::string &name, const CreateAccountOptions &options) override;
31     ErrCode CreateAccountImplicitly(const std::string &owner, const CreateAccountImplicitlyOptions &options,
32         const sptr<IAppAccountAuthenticatorCallback> &callback) override;
33     ErrCode DeleteAccount(const std::string &name) override;
34 
35     ErrCode GetAccountExtraInfo(const std::string &name, std::string &extraInfo) override;
36     ErrCode SetAccountExtraInfo(const std::string &name, const std::string &extraInfo) override;
37 
38     ErrCode EnableAppAccess(const std::string &name, const std::string &authorizedApp) override;
39     ErrCode DisableAppAccess(const std::string &name, const std::string &authorizedApp) override;
40     ErrCode SetAppAccess(const std::string &name, const std::string &authorizedApp, bool isAccessible) override;
41 
42     ErrCode CheckAppAccountSyncEnable(const std::string &name, bool &syncEnable) override;
43     ErrCode SetAppAccountSyncEnable(const std::string &name, const bool &syncEnable) override;
44 
45     ErrCode GetAssociatedData(const std::string &name, const std::string &key, std::string &value) override;
46     ErrCode SetAssociatedData(
47         const std::string &name, const std::string &key, const std::string &value) override;
48 
49     ErrCode GetAccountCredential(
50         const std::string &name, const std::string &credentialType, std::string &credential) override;
51     ErrCode SetAccountCredential(
52         const std::string &name, const std::string &credentialType, const std::string &credential) override;
53 
54     ErrCode Authenticate(const std::string &name, const std::string &owner, const std::string &authType,
55         const AAFwk::Want &options, const sptr<IAppAccountAuthenticatorCallback> &callback) override;
56     ErrCode GetOAuthToken(
57         const std::string &name, const std::string &owner, const std::string &authType, std::string &token) override;
58     ErrCode GetAuthToken(
59         const std::string &name, const std::string &owner, const std::string &authType, std::string &token) override;
60     ErrCode SetOAuthToken(
61         const std::string &name, const std::string &authType, const std::string &token) override;
62     ErrCode DeleteOAuthToken(const std::string &name, const std::string &owner,
63         const std::string &authType, const std::string &token) override;
64     ErrCode DeleteAuthToken(const std::string &name, const std::string &owner,
65         const std::string &authType, const std::string &token) override;
66     ErrCode SetOAuthTokenVisibility(const std::string &name, const std::string &authType,
67         const std::string &bundleName, bool isVisible) override;
68     ErrCode SetAuthTokenVisibility(const std::string &name, const std::string &authType,
69         const std::string &bundleName, bool isVisible) override;
70     ErrCode CheckOAuthTokenVisibility(const std::string &name, const std::string &authType,
71         const std::string &bundleName, bool &isVisible) override;
72     ErrCode CheckAuthTokenVisibility(const std::string &name, const std::string &authType,
73         const std::string &bundleName, bool &isVisible) override;
74     ErrCode GetAuthenticatorInfo(const std::string &owner, AuthenticatorInfo &authenticator) override;
75     ErrCode GetAllOAuthTokens(const std::string &name, const std::string &owner,
76         std::vector<OAuthTokenInfo> &tokenInfos) override;
77     ErrCode GetOAuthList(const std::string &name, const std::string &authType,
78         std::set<std::string> &oauthList) override;
79     ErrCode GetAuthList(const std::string &name, const std::string &authType,
80         std::set<std::string> &oauthList) override;
81     ErrCode GetAuthenticatorCallback(const std::string &sessionId, sptr<IRemoteObject> &callback) override;
82 
83     ErrCode GetAllAccounts(const std::string &owner, std::vector<AppAccountInfo> &appAccounts) override;
84     ErrCode GetAllAccessibleAccounts(std::vector<AppAccountInfo> &appAccounts) override;
85     ErrCode QueryAllAccessibleAccounts(const std::string &owner, std::vector<AppAccountInfo> &appAccounts) override;
86 
87     ErrCode CheckAppAccess(const std::string &name, const std::string &authorizedApp, bool &isAccessible) override;
88     ErrCode DeleteAccountCredential(const std::string &name, const std::string &credentialType) override;
89     ErrCode SelectAccountsByOptions(
90         const SelectAccountsOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback) override;
91     ErrCode VerifyCredential(const std::string &name, const std::string &owner,
92         const VerifyCredentialOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback) override;
93     ErrCode CheckAccountLabels(const std::string &name, const std::string &owner,
94         const std::vector<std::string> &labels, const sptr<IAppAccountAuthenticatorCallback> &callback) override;
95     ErrCode SetAuthenticatorProperties(const std::string &owner, const SetPropertiesOptions &options,
96         const sptr<IAppAccountAuthenticatorCallback> &callback) override;
97 
98     ErrCode SubscribeAppAccount(
99         AppAccountSubscribeInfo &subscribeInfo, const sptr<IRemoteObject> &eventListener) override;
100     ErrCode UnsubscribeAppAccount(const sptr<IRemoteObject> &eventListener) override;
101 };
102 }  // namespace AccountSA
103 }  // namespace OHOS
104 
105 #endif  // OS_ACCOUNT_SERVICES_ACCOUNTMGR_TEST_MOCK_APP_ACCOUNT_MOCK_APP_ACCOUNT_STUB_H
106