1 /*
2  * Copyright (c) 2022 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 #ifndef MOCK_PRINT_SERVICE_H
16 #define MOCK_PRINT_SERVICE_H
17 
18 #include <gmock/gmock.h>
19 #include "print_constant.h"
20 #include "print_service_stub.h"
21 
22 namespace OHOS {
23 namespace Print {
24 class DummyPrintServiceStub : public PrintServiceStub {
25 public:
StartPrint(const std::vector<std::string> & fileList,const std::vector<uint32_t> & fdList,std::string & taskId)26     int32_t StartPrint(const std::vector<std::string> &fileList,
27         const std::vector<uint32_t> &fdList, std::string &taskId) override
28     {
29             return E_PRINT_NONE;
30     }
StopPrint(const std::string & taskId)31     int32_t StopPrint(const std::string &taskId) override
32     {
33         return E_PRINT_NONE;
34     }
ConnectPrinter(const std::string & printerId)35     int32_t ConnectPrinter(const std::string &printerId) override
36     {
37         return E_PRINT_NONE;
38     }
DisconnectPrinter(const std::string & printerId)39     int32_t DisconnectPrinter(const std::string &printerId) override
40     {
41         return E_PRINT_NONE;
42     }
StartDiscoverPrinter(const std::vector<std::string> & extensionList)43     int32_t StartDiscoverPrinter(const std::vector<std::string> &extensionList) override
44     {
45         return E_PRINT_NONE;
46     }
StopDiscoverPrinter()47     int32_t StopDiscoverPrinter() override
48     {
49         return E_PRINT_NONE;
50     }
QueryAllExtension(std::vector<PrintExtensionInfo> & extensionInfos)51     int32_t QueryAllExtension(std::vector<PrintExtensionInfo> &extensionInfos) override
52     {
53         return E_PRINT_NONE;
54     }
StartPrintJob(PrintJob & jobInfo)55     int32_t StartPrintJob(PrintJob &jobInfo) override
56     {
57         return E_PRINT_NONE;
58     }
CancelPrintJob(const std::string & jobId)59     int32_t CancelPrintJob(const std::string &jobId) override
60     {
61         return E_PRINT_NONE;
62     }
AddPrinters(const std::vector<PrinterInfo> & printerInfos)63     int32_t AddPrinters(const std::vector<PrinterInfo> &printerInfos) override
64     {
65         return E_PRINT_NONE;
66     }
RemovePrinters(const std::vector<std::string> & printerIds)67     int32_t RemovePrinters(const std::vector<std::string> &printerIds) override
68     {
69         return E_PRINT_NONE;
70     }
UpdatePrinters(const std::vector<PrinterInfo> & printerInfos)71     int32_t UpdatePrinters(const std::vector<PrinterInfo> &printerInfos) override
72     {
73         return E_PRINT_NONE;
74     }
UpdatePrinterState(const std::string & printerId,uint32_t state)75     int32_t UpdatePrinterState(const std::string &printerId, uint32_t state) override
76     {
77         return E_PRINT_NONE;
78     }
UpdatePrintJobStateForNormalApp(const std::string & jobId,uint32_t state,uint32_t subState)79     int32_t UpdatePrintJobStateForNormalApp(const std::string &jobId, uint32_t state, uint32_t subState) override
80     {
81         return E_PRINT_NONE;
82     }
UpdatePrintJobStateOnlyForSystemApp(const std::string & jobId,uint32_t state,uint32_t subState)83     int32_t UpdatePrintJobStateOnlyForSystemApp(const std::string &jobId, uint32_t state, uint32_t subState) override
84     {
85         return E_PRINT_NONE;
86     }
UpdateExtensionInfo(const std::string & extensionId)87     int32_t UpdateExtensionInfo(const std::string &extensionId) override
88     {
89         return E_PRINT_NONE;
90     }
RequestPreview(const PrintJob & jobinfo,std::string & previewResult)91     int32_t RequestPreview(const PrintJob &jobinfo, std::string &previewResult) override
92     {
93         return E_PRINT_NONE;
94     }
QueryPrinterCapability(const std::string & printerId)95     int32_t QueryPrinterCapability(const std::string &printerId) override
96     {
97         return E_PRINT_NONE;
98     }
On(const std::string taskId,const std::string & type,const sptr<IPrintCallback> & listener)99     int32_t On(const std::string taskId, const std::string &type, const sptr<IPrintCallback> &listener) override
100     {
101         return E_PRINT_NONE;
102     }
Off(const std::string taskId,const std::string & type)103     int32_t Off(const std::string taskId, const std::string &type) override
104     {
105         return E_PRINT_NONE;
106     }
RegisterExtCallback(const std::string & extensionCID,const sptr<IPrintExtensionCallback> & listener)107     int32_t RegisterExtCallback(const std::string &extensionCID,
108         const sptr<IPrintExtensionCallback> &listener) override
109     {
110         return E_PRINT_NONE;
111     }
UnregisterAllExtCallback(const std::string & extensionId)112     int32_t UnregisterAllExtCallback(const std::string &extensionId) override
113     {
114         return E_PRINT_NONE;
115     }
LoadExtSuccess(const std::string & extensionId)116     int32_t LoadExtSuccess(const std::string &extensionId) override
117     {
118         return E_PRINT_NONE;
119     }
QueryAllPrintJob(std::vector<PrintJob> & printJobs)120     int32_t QueryAllPrintJob(std::vector<PrintJob> &printJobs) override
121     {
122         return E_PRINT_NONE;
123     }
QueryPrintJobById(std::string & printJobId,PrintJob & printjob)124     int32_t QueryPrintJobById(std::string &printJobId, PrintJob &printjob) override
125     {
126         return E_PRINT_NONE;
127     }
AddPrinterToCups(const std::string & printerUri,const std::string & printerName,const std::string & printerMake)128     int32_t AddPrinterToCups(const std::string &printerUri, const std::string &printerName,
129         const std::string &printerMake) override
130     {
131         return E_PRINT_NONE;
132     }
QueryPrinterCapabilityByUri(const std::string & printerUri,const std::string & printerId,PrinterCapability & printerCaps)133     int32_t QueryPrinterCapabilityByUri(const std::string &printerUri, const std::string &printerId,
134         PrinterCapability &printerCaps) override
135     {
136         return E_PRINT_NONE;
137     }
PrintByAdapter(const std::string jobName,const PrintAttributes & printAttributes,std::string & taskId)138     int32_t PrintByAdapter(const std::string jobName, const PrintAttributes &printAttributes,
139         std::string &taskId) override
140     {
141         return E_PRINT_NONE;
142     }
StartGetPrintFile(const std::string & jobId,const PrintAttributes & printAttributes,const uint32_t fd)143     int32_t StartGetPrintFile(const std::string &jobId, const PrintAttributes &printAttributes,
144         const uint32_t fd) override
145     {
146         return E_PRINT_NONE;
147     }
NotifyPrintService(const std::string & jobId,const std::string & type)148     int32_t NotifyPrintService(const std::string &jobId, const std::string &type) override
149     {
150         return E_PRINT_NONE;
151     }
StartService()152     int32_t StartService() override
153     {
154         return E_PRINT_NONE;
155     }
QueryPrinterInfoByPrinterId(const std::string & printerId,PrinterInfo & info)156     int32_t QueryPrinterInfoByPrinterId(const std::string &printerId, PrinterInfo &info) override
157     {
158         return E_PRINT_NONE;
159     }
QueryAddedPrinter(std::vector<std::string> & printerNameList)160     int32_t QueryAddedPrinter(std::vector<std::string> &printerNameList) override
161     {
162         return E_PRINT_NONE;
163     }
QueryPrinterProperties(const std::string & printerId,const std::vector<std::string> & keyList,std::vector<std::string> & valueList)164     int32_t QueryPrinterProperties(const std::string &printerId, const std::vector<std::string> &keyList,
165         std::vector<std::string> &valueList) override
166     {
167         return E_PRINT_NONE;
168     }
RegisterPrinterCallback(const std::string & type,const sptr<IPrintCallback> & listener)169     int32_t RegisterPrinterCallback(const std::string &type, const sptr<IPrintCallback> &listener) override
170     {
171         return E_PRINT_NONE;
172     }
UnregisterPrinterCallback(const std::string & type)173     int32_t UnregisterPrinterCallback(const std::string &type) override
174     {
175         return E_PRINT_NONE;
176     }
StartNativePrintJob(PrintJob & printJob)177     int32_t StartNativePrintJob(PrintJob &printJob) override
178     {
179         return E_PRINT_NONE;
180     }
NotifyPrintServiceEvent(std::string & jobId,uint32_t event)181     int32_t NotifyPrintServiceEvent(std::string &jobId, uint32_t event) override
182     {
183         return E_PRINT_NONE;
184     }
GetPrinterPreference(const std::string & printerId,std::string & printerPreference)185     int32_t GetPrinterPreference(const std::string &printerId, std::string &printerPreference) override
186     {
187         return E_PRINT_NONE;
188     }
SetPrinterPreference(const std::string & printerId,const std::string & printerPreference)189     int32_t SetPrinterPreference(const std::string &printerId, const std::string &printerPreference) override
190     {
191         return E_PRINT_NONE;
192     }
SetDefaultPrinter(const std::string & printerId,uint32_t type)193     int32_t SetDefaultPrinter(const std::string &printerId, uint32_t type) override
194     {
195         return E_PRINT_NONE;
196     }
DeletePrinterFromCups(const std::string & printerName)197     int32_t DeletePrinterFromCups(const std::string &printerName) override
198     {
199         return E_PRINT_NONE;
200     }
DiscoverUsbPrinters(std::vector<PrinterInfo> & printers)201     int32_t DiscoverUsbPrinters(std::vector<PrinterInfo> &printers) override
202     {
203         return E_PRINT_NONE;
204     }
AddPrinterToDiscovery(const PrinterInfo & printerInfo)205     int32_t AddPrinterToDiscovery(const PrinterInfo& printerInfo) override
206     {
207         return E_PRINT_NONE;
208     }
UpdatePrinterInDiscovery(const PrinterInfo & printerInfo)209     int32_t UpdatePrinterInDiscovery(const PrinterInfo& printerInfo) override
210     {
211         return E_PRINT_NONE;
212     }
RemovePrinterFromDiscovery(const std::string & printerId)213     int32_t RemovePrinterFromDiscovery(const std::string& printerId) override
214     {
215         return E_PRINT_NONE;
216     }
UpdatePrinterInSystem(const PrinterInfo & printerInfo)217     int32_t UpdatePrinterInSystem(const PrinterInfo& printerInfo) override
218     {
219         return E_PRINT_NONE;
220     }
221 };
222 
223 class MockPrintService final : public DummyPrintServiceStub {
224 public:
225     MOCK_METHOD3(StartPrint, int32_t(const std::vector<std::string>&, const std::vector<uint32_t>&, std::string &));
226     MOCK_METHOD1(StopPrint, int32_t(const std::string&));
227     MOCK_METHOD1(ConnectPrinter, int32_t(const std::string&));
228     MOCK_METHOD1(DisconnectPrinter, int32_t(const std::string&));
229     MOCK_METHOD1(StartDiscoverPrinter, int32_t(const std::vector<std::string>&));
230     MOCK_METHOD0(StopDiscoverPrinter, int32_t());
231     MOCK_METHOD1(QueryAllExtension, int32_t(std::vector<PrintExtensionInfo>&));
232     MOCK_METHOD1(StartPrintJob, int32_t(PrintJob &));
233     MOCK_METHOD1(CancelPrintJob, int32_t(const std::string&));
234     MOCK_METHOD1(AddPrinters, int32_t(const std::vector<PrinterInfo>&));
235     MOCK_METHOD1(RemovePrinters, int32_t(const std::vector<std::string>&));
236     MOCK_METHOD1(UpdatePrinters, int32_t(const std::vector<PrinterInfo>&));
237     MOCK_METHOD2(UpdatePrinterState, int32_t(const std::string&, uint32_t));
238     MOCK_METHOD3(UpdatePrintJobStateForNormalApp, int32_t(const std::string&, uint32_t, uint32_t));
239     MOCK_METHOD3(UpdatePrintJobStateOnlyForSystemApp, int32_t(const std::string&, uint32_t, uint32_t));
240     MOCK_METHOD1(UpdateExtensionInfo, int32_t(const std::string&));
241     MOCK_METHOD2(RequestPreview, int32_t(const PrintJob&, std::string&));
242     MOCK_METHOD1(QueryPrinterCapability, int32_t(const std::string&));
243     MOCK_METHOD3(On, int32_t(const std::string, const std::string&, const sptr<IPrintCallback>&));
244     MOCK_METHOD2(Off, int32_t(const std::string, const std::string&));
245     MOCK_METHOD2(RegisterExtCallback, int32_t(const std::string&, const sptr<IPrintExtensionCallback>&));
246     MOCK_METHOD1(UnregisterAllExtCallback, int32_t(const std::string&));
247     MOCK_METHOD1(LoadExtSuccess, int32_t(const std::string&));
248     MOCK_METHOD1(QueryAllPrintJob, int32_t(std::vector<PrintJob>&));
249     MOCK_METHOD2(QueryPrintJobById, int32_t(std::string&, PrintJob&));
250     MOCK_METHOD3(AddPrinterToCups, int32_t(const std::string&, const std::string&, const std::string&));
251     MOCK_METHOD3(QueryPrinterCapabilityByUri, int32_t(const std::string&, const std::string&, PrinterCapability&));
252     MOCK_METHOD2(NotifyPrintServiceEvent, int32_t(std::string&, uint32_t));
253     MOCK_METHOD2(SetDefaultPrinter, int32_t(const std::string&, uint32_t));
254     MOCK_METHOD1(DeletePrinterFromCups, int32_t(const std::string&));
255     MOCK_METHOD1(DiscoverUsbPrinters, int32_t(std::vector<PrinterInfo>&));
256     MOCK_METHOD1(AddPrinterToDiscovery, int32_t(const PrinterInfo&));
257     MOCK_METHOD1(UpdatePrinterInDiscovery, int32_t(const PrinterInfo&));
258     MOCK_METHOD1(RemovePrinterFromDiscovery, int32_t(const std::string&));
259     MOCK_METHOD1(UpdatePrinterInSystem, int32_t(const PrinterInfo&));
260 };
261 } // namespace Print
262 } // namespace OHOS
263 #endif // MOCK_PRINT_SERVICE_H