• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 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 OHOS_FILEMGMT_BACKUP_EXT_BACKUP_MOCK_H
17 #define OHOS_FILEMGMT_BACKUP_EXT_BACKUP_MOCK_H
18 
19 #include <gmock/gmock.h>
20 
21 #include "ext_backup.h"
22 
23 namespace OHOS::FileManagement::Backup {
24 class BExtBackup {
25 public:
26     virtual void OnStart(const AAFwk::Want &) = 0;
27     virtual void Init(const std::shared_ptr<AbilityRuntime::AbilityLocalRecord> &,
28               const std::shared_ptr<AbilityRuntime::OHOSApplication> &,
29               std::shared_ptr<AbilityRuntime::AbilityHandler> &,
30               const sptr<IRemoteObject> &) = 0;
31     virtual void OnCommand(const AAFwk::Want &, bool, int) = 0;
32     virtual sptr<IRemoteObject> OnConnect(const AAFwk::Want &) = 0;
33     virtual void OnDisconnect(const AAFwk::Want &) = 0;
34     virtual ExtBackup *Create(const std::unique_ptr<AbilityRuntime::Runtime> &) = 0;
35     virtual BConstants::ExtensionAction GetExtensionAction() = 0;
36     virtual bool AllowToBackupRestore() = 0;
37     virtual bool UseFullBackupOnly(void) = 0;
38     virtual std::string GetUsrConfig() = 0;
39     virtual ErrCode OnBackup(std::function<void(ErrCode, std::string)>) = 0;
40     virtual ErrCode OnBackup(std::function<void(ErrCode, std::string)>,
41         std::function<void(ErrCode, const std::string)>) = 0;
42     virtual ErrCode OnRestore(std::function<void(ErrCode, std::string)>,
43         std::function<void(ErrCode, const std::string)>) = 0;
44     virtual ErrCode OnRestore(std::function<void(ErrCode, std::string)>) = 0;
45     virtual ErrCode GetBackupInfo(std::function<void(ErrCode, std::string)>) = 0;
46     virtual bool WasFromSpecialVersion(void) = 0;
47     virtual bool SpecialVersionForCloneAndCloud(void) = 0;
48     virtual bool RestoreDataReady() = 0;
49     virtual ErrCode InvokeAppExtMethod(ErrCode, const std::string) = 0;
50     virtual void SetCreator(const CreatorFunc &) = 0;
51     virtual BConstants::ExtensionAction VerifyAndGetAction(const AAFwk::Want &,
52         std::shared_ptr<AppExecFwk::AbilityInfo>) = 0;
53     virtual ErrCode GetParament(const AAFwk::Want &) = 0;
54     virtual ErrCode OnProcess(std::function<void(ErrCode, std::string)> callback) = 0;
55     virtual ErrCode OnRelease(std::function<void(ErrCode, std::string)> callback, int32_t scenario) = 0;
56     virtual ErrCode GetBackupCompatibilityInfo(std::function<void(ErrCode, const std::string)>, std::string) = 0;
57     virtual ErrCode GetRestoreCompatibilityInfo(std::function<void(ErrCode, const std::string)>, std::string) = 0;
58     virtual void SetBackupExtExtension(const wptr<BackupExtExtension> &) = 0;
59 public:
60     virtual std::unique_ptr<NativeReference> LoadSystemModuleByEngine(napi_env, const std::string&, const napi_value*,
61         size_t) = 0;
62     virtual napi_env GetNapiEnv() const = 0;
63 public:
64     virtual napi_value CreateExtBackupJsContext(napi_env, std::shared_ptr<ExtBackupContext>) = 0;
65 public:
66     BExtBackup() = default;
67     virtual ~BExtBackup() = default;
68 public:
69     static inline std::shared_ptr<BExtBackup> extBackup = nullptr;
70 };
71 
72 class ExtBackupMock : public BExtBackup {
73 public:
74     MOCK_METHOD(void, OnStart, (const AAFwk::Want &));
75     MOCK_METHOD(void, Init, (const std::shared_ptr<AbilityRuntime::AbilityLocalRecord> &,
76               const std::shared_ptr<AbilityRuntime::OHOSApplication> &,
77               std::shared_ptr<AbilityRuntime::AbilityHandler> &,
78               const sptr<IRemoteObject> &));
79     MOCK_METHOD(void, OnCommand, (const AAFwk::Want &, bool, int));
80     MOCK_METHOD(sptr<IRemoteObject>, OnConnect, (const AAFwk::Want &));
81     MOCK_METHOD(void, OnDisconnect, (const AAFwk::Want &));
82     MOCK_METHOD(ExtBackup*, Create, (const std::unique_ptr<AbilityRuntime::Runtime> &));
83     MOCK_METHOD(BConstants::ExtensionAction, GetExtensionAction, ());
84     MOCK_METHOD(bool, AllowToBackupRestore, ());
85     MOCK_METHOD(bool, UseFullBackupOnly, ());
86     MOCK_METHOD(std::string, GetUsrConfig, ());
87     MOCK_METHOD(ErrCode, OnBackup, (std::function<void(ErrCode, std::string)>));
88     MOCK_METHOD(ErrCode, OnBackup, (std::function<void(ErrCode, std::string)>,
89         std::function<void(ErrCode, const std::string)>));
90     MOCK_METHOD(ErrCode, OnRestore, (std::function<void(ErrCode, std::string)>,
91         std::function<void(ErrCode, const std::string)>));
92     MOCK_METHOD(ErrCode, OnRestore, (std::function<void(ErrCode, std::string)>));
93     MOCK_METHOD(ErrCode, GetBackupInfo, (std::function<void(ErrCode, std::string)>));
94     MOCK_METHOD(ErrCode, OnProcess, (std::function<void(ErrCode, std::string)>));
95     MOCK_METHOD(bool, WasFromSpecialVersion, ());
96     MOCK_METHOD(bool, SpecialVersionForCloneAndCloud, ());
97     MOCK_METHOD(bool, RestoreDataReady, ());
98     MOCK_METHOD(ErrCode, InvokeAppExtMethod, (ErrCode, const std::string));
99     MOCK_METHOD(void, SetCreator, (const CreatorFunc &));
100     MOCK_METHOD(BConstants::ExtensionAction, VerifyAndGetAction, (const AAFwk::Want &,
101         std::shared_ptr<AppExecFwk::AbilityInfo>));
102     MOCK_METHOD(ErrCode, GetParament, (const AAFwk::Want &));
103     MOCK_METHOD(napi_value, CreateExtBackupJsContext, (napi_env, std::shared_ptr<ExtBackupContext>));
104     MOCK_METHOD(ErrCode, OnRelease, (std::function<void(ErrCode, std::string)>, int32_t));
105     MOCK_METHOD(ErrCode, GetBackupCompatibilityInfo, (std::function<void(ErrCode, const std::string)>, std::string));
106     MOCK_METHOD(ErrCode, GetRestoreCompatibilityInfo, (std::function<void(ErrCode, const std::string)>, std::string));
107     MOCK_METHOD(void, SetBackupExtExtension, (const wptr<BackupExtExtension> &));
108 public:
109     MOCK_METHOD((std::unique_ptr<NativeReference>), LoadSystemModuleByEngine, (napi_env, const std::string&,
110         const napi_value*, size_t));
111     MOCK_METHOD(napi_env, GetNapiEnv, (), (const));
112 };
113 } // namespace OHOS::FileManagement::Backup
114 #endif // OHOS_FILEMGMT_BACKUP_EXT_BACKUP_H
115