1 /*
2  * Copyright (c) 2022-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 MOCK_I_SERVICE_MOCK_H
17 #define MOCK_I_SERVICE_MOCK_H
18 
19 #include <fcntl.h>
20 #include <gmock/gmock.h>
21 #include <sys/stat.h>
22 #include <sys/types.h>
23 
24 #include "b_error/b_error.h"
25 #include "i_service.h"
26 #include "b_resources/b_constants.h"
27 #include "iremote_stub.h"
28 #include "test_manager.h"
29 
30 namespace OHOS::FileManagement::Backup {
31 class IServiceMock : public IRemoteStub<IService> {
32 public:
33     int code_ = 0;
IServiceMock()34     IServiceMock() : code_(0) {}
~IServiceMock()35     virtual ~IServiceMock() {}
36 
37     MOCK_METHOD4(SendRequest, int(uint32_t, MessageParcel &, MessageParcel &, MessageOption &));
38 
InvokeSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)39     int32_t InvokeSendRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option)
40     {
41         code_ = code;
42         reply.WriteInt32(BError(BError::Codes::OK));
43         return BError(BError::Codes::OK);
44     }
45 
InvokeGetLocalSendRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)46     int32_t InvokeGetLocalSendRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option)
47     {
48         code_ = code;
49         std::string fileName = "1.tar";
50         TestManager tm("GetLocalCap_GetFd_0100");
51         std::string filePath = tm.GetRootDirCurTest().append(fileName);
52         UniqueFd fd(open(filePath.data(), O_RDONLY | O_CREAT, S_IRUSR | S_IWUSR));
53         reply.WriteFileDescriptor(fd);
54         return BError(BError::Codes::OK);
55     }
56 
InitRestoreSession(sptr<IServiceReverse> remote)57     ErrCode InitRestoreSession(sptr<IServiceReverse> remote) override
58     {
59         return BError(BError::Codes::OK);
60     }
61 
InitBackupSession(sptr<IServiceReverse> remote)62     ErrCode InitBackupSession(sptr<IServiceReverse> remote) override
63     {
64         return BError(BError::Codes::OK);
65     }
66 
Start()67     ErrCode Start() override
68     {
69         return BError(BError::Codes::OK);
70     }
71 
GetLocalCapabilities()72     UniqueFd GetLocalCapabilities() override
73     {
74         return UniqueFd(-1);
75     }
76 
PublishFile(const BFileInfo & fileInfo)77     ErrCode PublishFile(const BFileInfo &fileInfo) override
78     {
79         return BError(BError::Codes::OK);
80     }
81 
AppFileReady(const std::string & fileName,UniqueFd fd,int32_t errCode)82     ErrCode AppFileReady(const std::string &fileName, UniqueFd fd, int32_t errCode) override
83     {
84         return BError(BError::Codes::OK);
85     }
86 
AppDone(ErrCode errCode)87     ErrCode AppDone(ErrCode errCode) override
88     {
89         return BError(BError::Codes::OK);
90     }
91 
ServiceResultReport(const std::string restoreRetInfo,BackupRestoreScenario scenario,ErrCode errCode)92     ErrCode ServiceResultReport(const std::string restoreRetInfo,
93         BackupRestoreScenario scenario, ErrCode errCode) override
94     {
95         return BError(BError::Codes::OK);
96     }
97 
GetFileHandle(const std::string & bundleName,const std::string & fileName)98     ErrCode GetFileHandle(const std::string &bundleName, const std::string &fileName) override
99     {
100         return BError(BError::Codes::OK);
101     }
102 
AppendBundlesRestoreSession(UniqueFd fd,const std::vector<BundleName> & bundleNames,const std::vector<std::string> & detailInfos,RestoreTypeEnum restoreType,int32_t userId)103     ErrCode AppendBundlesRestoreSession(UniqueFd fd,
104                                         const std::vector<BundleName> &bundleNames,
105                                         const std::vector<std::string> &detailInfos,
106                                         RestoreTypeEnum restoreType,
107                                         int32_t userId) override
108     {
109         return BError(BError::Codes::OK);
110     }
111 
AppendBundlesRestoreSession(UniqueFd fd,const std::vector<BundleName> & bundleNames,RestoreTypeEnum restoreType,int32_t userId)112     ErrCode AppendBundlesRestoreSession(UniqueFd fd,
113                                         const std::vector<BundleName> &bundleNames,
114                                         RestoreTypeEnum restoreType,
115                                         int32_t userId) override
116     {
117         return BError(BError::Codes::OK);
118     }
119 
AppendBundlesBackupSession(const std::vector<BundleName> & bundleNames)120     ErrCode AppendBundlesBackupSession(const std::vector<BundleName> &bundleNames) override
121     {
122         return BError(BError::Codes::OK);
123     }
124 
AppendBundlesDetailsBackupSession(const std::vector<BundleName> & bundleNames,const std::vector<std::string> & bundleInfos)125     ErrCode AppendBundlesDetailsBackupSession(const std::vector<BundleName> &bundleNames,
126                                               const std::vector<std::string> &bundleInfos) override
127     {
128         return BError(BError::Codes::OK);
129     }
130 
Finish()131     ErrCode Finish() override
132     {
133         return BError(BError::Codes::OK);
134     }
135 
GetBackupInfo(BundleName & bundleName,std::string & result)136     ErrCode GetBackupInfo(BundleName &bundleName, std::string &result) override
137     {
138         return BError(BError::Codes::OK);
139     }
140 
UpdateTimer(BundleName & bundleName,uint32_t timeout,bool & result)141     ErrCode UpdateTimer(BundleName &bundleName, uint32_t timeout, bool &result) override
142     {
143         return BError(BError::Codes::OK);
144     }
145 
StartExtTimer(bool & isExtStart)146     ErrCode StartExtTimer(bool &isExtStart) override
147     {
148         return BError(BError::Codes::OK);
149     }
150 
StartFwkTimer(bool & isFwkStart)151     ErrCode StartFwkTimer(bool &isFwkStart) override
152     {
153         return BError(BError::Codes::OK);
154     }
155 
UpdateSendRate(std::string & bundleName,int32_t sendRate,bool & result)156     ErrCode UpdateSendRate(std::string &bundleName, int32_t sendRate, bool &result) override
157     {
158         return BError(BError::Codes::OK);
159     }
160 
Release()161     ErrCode Release() override
162     {
163         return BError(BError::Codes::OK);
164     }
165 
GetLocalCapabilitiesIncremental(const std::vector<BIncrementalData> & bundleNames)166     UniqueFd GetLocalCapabilitiesIncremental(const std::vector<BIncrementalData> &bundleNames) override
167     {
168         return UniqueFd(-1);
169     }
170 
GetAppLocalListAndDoIncrementalBackup()171     ErrCode GetAppLocalListAndDoIncrementalBackup() override
172     {
173         return BError(BError::Codes::OK);
174     }
175 
InitIncrementalBackupSession(sptr<IServiceReverse> remote)176     ErrCode InitIncrementalBackupSession(sptr<IServiceReverse> remote) override
177     {
178         return BError(BError::Codes::OK);
179     }
180 
AppendBundlesIncrementalBackupSession(const std::vector<BIncrementalData> & bundlesToBackup)181     ErrCode AppendBundlesIncrementalBackupSession(const std::vector<BIncrementalData> &bundlesToBackup) override
182     {
183         return BError(BError::Codes::OK);
184     }
185 
AppendBundlesIncrementalBackupSession(const std::vector<BIncrementalData> & bundlesToBackup,const std::vector<std::string> & infos)186     ErrCode AppendBundlesIncrementalBackupSession(const std::vector<BIncrementalData> &bundlesToBackup,
187         const std::vector<std::string> &infos) override
188     {
189         return BError(BError::Codes::OK);
190     }
191 
PublishIncrementalFile(const BFileInfo & fileInfo)192     ErrCode PublishIncrementalFile(const BFileInfo &fileInfo) override
193     {
194         return BError(BError::Codes::OK);
195     }
196 
PublishSAIncrementalFile(const BFileInfo & fileInfo,UniqueFd fd)197     ErrCode PublishSAIncrementalFile(const BFileInfo &fileInfo, UniqueFd fd) override
198     {
199         return BError(BError::Codes::OK);
200     }
201 
AppIncrementalFileReady(const std::string & fileName,UniqueFd fd,UniqueFd manifestFd,int32_t errCode)202     ErrCode AppIncrementalFileReady(const std::string &fileName, UniqueFd fd, UniqueFd manifestFd, int32_t errCode)
203     {
204         return BError(BError::Codes::OK);
205     }
206 
AppIncrementalDone(ErrCode errCode)207     ErrCode AppIncrementalDone(ErrCode errCode)
208     {
209         return BError(BError::Codes::OK);
210     }
211 
GetIncrementalFileHandle(const std::string & bundleName,const std::string & fileName)212     ErrCode GetIncrementalFileHandle(const std::string &bundleName, const std::string &fileName)
213     {
214         return BError(BError::Codes::OK);
215     }
216 
ReportAppProcessInfo(const std::string processInfo,const BackupRestoreScenario sennario)217     ErrCode ReportAppProcessInfo(const std::string processInfo, const BackupRestoreScenario sennario)
218     {
219         return BError(BError::Codes::OK);
220     }
221 };
222 } // namespace OHOS::FileManagement::Backup
223 #endif // MOCK_I_SERVICE_MOCK_H