• 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_JS_MOCK_H
17 #define OHOS_FILEMGMT_BACKUP_EXT_BACKUP_JS_MOCK_H
18 
19 #include <gmock/gmock.h>
20 
21 #include "ability_info.h"
22 #include "ext_backup_js.h"
23 
24 namespace OHOS::FileManagement::Backup {
25 class BExtBackupJs {
26 public:
27     BExtBackupJs() = default;
28     virtual ~BExtBackupJs() = default;
29 public:
30     virtual void Init(const std::shared_ptr<AppExecFwk::AbilityLocalRecord> &,
31               const std::shared_ptr<AppExecFwk::OHOSApplication> &,
32               std::shared_ptr<AppExecFwk::AbilityHandler> &,
33               const sptr<IRemoteObject> &) = 0;
34     virtual ExtBackupJs *Create(const std::unique_ptr<AbilityRuntime::Runtime> &) = 0;
35     virtual ErrCode OnBackup(std::function<void(ErrCode, std::string)>,
36         std::function<void(ErrCode, const std::string)>) = 0;
37     virtual ErrCode OnRestore(std::function<void(ErrCode, std::string)>,
38         std::function<void(ErrCode, const std::string)>) = 0;
39     virtual ErrCode GetBackupInfo(std::function<void(ErrCode, const std::string)>);
40     virtual ErrCode InvokeAppExtMethod(ErrCode, const std::string) = 0;
41     virtual int CallJsMethod(const std::string &, AbilityRuntime::JsRuntime &, NativeReference *, InputArgsParser,
42         ResultValueParser) = 0;
43     virtual std::tuple<ErrCode, napi_value> CallObjectMethod(std::string_view, const std::vector<napi_value> &) = 0;
44     virtual std::function<bool(napi_env env, std::vector<napi_value> &argv)> ParseRestoreExInfo() = 0;
45     virtual std::function<bool(napi_env env, std::vector<napi_value> &argv)> ParseRestoreInfo() = 0;
46     virtual std::function<bool(napi_env env, std::vector<napi_value> &argv)> ParseBackupExInfo() = 0;
47     virtual std::function<bool(napi_env env, std::vector<napi_value> &argv)> ParseBackupInfo() = 0;
48     virtual ErrCode CallJSRestoreEx() = 0;
49     virtual ErrCode CallJSRestore() = 0;
50     virtual ErrCode CallJsOnBackupEx() = 0;
51     virtual ErrCode CallJsOnBackup() = 0;
52     virtual void ExportJsContext() = 0;
53     virtual ErrCode OnRelease(std::function<void(ErrCode, std::string)>, int32_t) = 0;
54     virtual std::function<bool(napi_env, std::vector<napi_value> &argv)> ParseReleaseInfo() = 0;
55     virtual ErrCode GetBackupCompatibilityInfo(std::function<void(ErrCode, const std::string)>, std::string) = 0;
56     virtual ErrCode GetRestoreCompatibilityInfo(std::function<void(ErrCode, const std::string)>, std::string) = 0;
57     virtual std::function<bool(napi_env, std::vector<napi_value> &argv)> ParseCompatibilityInfo() = 0;
58 public:
59     virtual bool GetProfileFromAbility(const OHOS::AppExecFwk::AbilityInfo &, const std::string &,
60         std::vector<std::string> &) const = 0;
61 public:
62     static inline std::shared_ptr<BExtBackupJs> extBackupJs = nullptr;
63 };
64 
65 class ExtBackupJsMock : public BExtBackupJs {
66 public:
67     MOCK_METHOD(void, Init, (const std::shared_ptr<AppExecFwk::AbilityLocalRecord> &,
68               const std::shared_ptr<AppExecFwk::OHOSApplication> &,
69               std::shared_ptr<AppExecFwk::AbilityHandler> &,
70               const sptr<IRemoteObject> &));
71     MOCK_METHOD(ExtBackupJs *, Create, (const std::unique_ptr<AbilityRuntime::Runtime> &));
72     MOCK_METHOD(ErrCode, OnBackup, (std::function<void(ErrCode, std::string)>,
73         std::function<void(ErrCode, const std::string)>));
74     MOCK_METHOD(ErrCode, OnRestore, (std::function<void(ErrCode, std::string)>,
75         std::function<void(ErrCode, const std::string)>));
76     MOCK_METHOD(ErrCode, GetBackupInfo, (std::function<void(ErrCode, const std::string)>));
77     MOCK_METHOD(ErrCode, InvokeAppExtMethod, (ErrCode, const std::string));
78     MOCK_METHOD(int, CallJsMethod, (const std::string&, AbilityRuntime::JsRuntime&, NativeReference*, InputArgsParser,
79         ResultValueParser));
80     MOCK_METHOD((std::tuple<ErrCode, napi_value>), CallObjectMethod,
81         (std::string_view, const std::vector<napi_value> &));
82     MOCK_METHOD((std::function<bool(napi_env env, std::vector<napi_value> &argv)>), ParseRestoreExInfo, ());
83     MOCK_METHOD((std::function<bool(napi_env env, std::vector<napi_value> &argv)>), ParseRestoreInfo, ());
84     MOCK_METHOD((std::function<bool(napi_env env, std::vector<napi_value> &argv)>), ParseBackupExInfo, ());
85     MOCK_METHOD((std::function<bool(napi_env env, std::vector<napi_value> &argv)>), ParseBackupInfo, ());
86     MOCK_METHOD(ErrCode, CallJSRestoreEx, ());
87     MOCK_METHOD(ErrCode, CallJSRestore, ());
88     MOCK_METHOD(ErrCode, CallJsOnBackupEx, ());
89     MOCK_METHOD(ErrCode, CallJsOnBackup, ());
90     MOCK_METHOD(void, ExportJsContext, ());
91     MOCK_METHOD(ErrCode, OnRelease, (std::function<void(ErrCode, std::string)>, int32_t));
92     MOCK_METHOD((std::function<bool(napi_env env, std::vector<napi_value> &argv)>), ParseReleaseInfo, ());
93 public:
94     MOCK_METHOD(bool, GetProfileFromAbility, (const OHOS::AppExecFwk::AbilityInfo&, const std::string&,
95         std::vector<std::string>&), (const));
96 };
97 } // namespace OHOS::FileManagement::Backup
98 #endif // OHOS_FILEMGMT_BACKUP_EXT_BACKUP_JS_MOCK_H
99