• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 #include <gtest/gtest.h>
17 #include <memory>
18 #include "print_service_proxy.h"
19 #include "print_manager_client.h"
20 #include "iremote_broker.h"
21 #include "print_constant.h"
22 #include "print_job.h"
23 #include "print_log.h"
24 #include "printer_info.h"
25 #include "mock_remote_object.h"
26 #include "mock_print_service.h"
27 #include "mock_print_callback_stub.h"
28 
29 using namespace testing;
30 using namespace testing::ext;
31 
32 namespace OHOS {
33 namespace Print {
34 class PrintServiceProxyTest : public testing::Test {
35 public:
36     static void SetUpTestCase(void);
37     static void TearDownTestCase(void);
38     void SetUp();
39     void TearDown();
40 };
41 
SetUpTestCase(void)42 void PrintServiceProxyTest::SetUpTestCase(void) {}
43 
TearDownTestCase(void)44 void PrintServiceProxyTest::TearDownTestCase(void) {}
45 
SetUp(void)46 void PrintServiceProxyTest::SetUp(void) {}
47 
TearDown(void)48 void PrintServiceProxyTest::TearDown(void) {}
49 
50 /**
51  * @tc.name: PrintServiceProxyTest_0001
52  * @tc.desc: Verify the capability function.
53  * @tc.type: FUNC
54  * @tc.require:
55  */
56 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0001, TestSize.Level1)
57 {
58     std::vector<std::string> testFileList = {"file://data/print/a.png",
59         "file://data/print/b.png", "file://data/print/c.png"};
60     std::vector<uint32_t> testFdList = {1, 2};
61     std::string testTaskId = "2";
62     sptr<MockRemoteObject> obj = new MockRemoteObject();
63     EXPECT_NE(obj, nullptr);
64     auto proxy = std::make_shared<PrintServiceProxy>(obj);
65     EXPECT_NE(proxy, nullptr);
66     auto service = std::make_shared<MockPrintService>();
67     EXPECT_NE(service, nullptr);
68     EXPECT_CALL(*service, StartPrint(_, _, _)).Times(Exactly(1)).WillOnce(
69         [&testFileList, &testFdList, &testTaskId](const std::vector<std::string> &fileList,
__anond7386af70102(const std::vector<std::string> &fileList, const std::vector<uint32_t> &fdList, std::string &taskId) 70             const std::vector<uint32_t> &fdList, std::string &taskId) {
71             EXPECT_EQ(testFileList.size(), fileList.size());
72             for (size_t index = 0; index < testFileList.size(); index++) {
73                 EXPECT_EQ(testFileList[index], fileList[index]);
74             }
75             EXPECT_EQ(testFdList.size(), fdList.size());
76             for (size_t index = 0; index < testFdList.size(); index++) {
77                 EXPECT_NE(testFdList[index], fdList[index]);
78             }
79             EXPECT_EQ(testTaskId, taskId);
80             return E_PRINT_NONE;
81         });
82     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
83     ON_CALL(*obj, SendRequest)
__anond7386af70202(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 84         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
85             service->OnRemoteRequest(code, data, reply, option);
86             return E_PRINT_NONE;
87         });
88     proxy->StartPrint(testFileList, testFdList, testTaskId);
89 }
90 
91 /**
92  * @tc.name: PrintServiceProxyTest_0002
93  * @tc.desc: Verify the capability function.
94  * @tc.type: FUNC
95  * @tc.require:
96  */
97 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0002, TestSize.Level1)
98 {
99     std::vector<std::string> testFileList = {};
100     std::vector<uint32_t> testFdList = {};
101     std::string testTaskId = "2";
102     sptr<MockRemoteObject> obj = new MockRemoteObject();
103     EXPECT_NE(obj, nullptr);
104     auto proxy = std::make_shared<PrintServiceProxy>(obj);
105     EXPECT_NE(proxy, nullptr);
106     auto service = std::make_shared<MockPrintService>();
107     EXPECT_NE(service, nullptr);
108     EXPECT_CALL(*service, StartPrint(_, _, _)).Times(Exactly(1)).WillOnce(
109         [&testFileList, &testFdList, &testTaskId](const std::vector<std::string> &fileList,
__anond7386af70302(const std::vector<std::string> &fileList, const std::vector<uint32_t> &fdList, std::string &taskId) 110             const std::vector<uint32_t> &fdList, std::string &taskId) {
111             EXPECT_EQ(testFileList.size(), fileList.size());
112             for (size_t index = 0; index < testFileList.size(); index++) {
113                 EXPECT_EQ(testFileList[index], fileList[index]);
114             }
115             EXPECT_EQ(testFdList.size(), fdList.size());
116             for (size_t index = 0; index < testFdList.size(); index++) {
117                 EXPECT_EQ(testFdList[index], fdList[index]);
118             }
119             EXPECT_EQ(testTaskId, taskId);
120             return E_PRINT_NONE;
121         });
122     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
123     ON_CALL(*obj, SendRequest)
__anond7386af70402(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 124         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
125             service->OnRemoteRequest(code, data, reply, option);
126             return E_PRINT_NONE;
127         });
128     proxy->StartPrint(testFileList, testFdList, testTaskId);
129 }
130 
131 /**
132  * @tc.name: PrintServiceProxyTest_0003
133  * @tc.desc: Verify the capability function.
134  * @tc.type: FUNC
135  * @tc.require:
136  */
137 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0003, TestSize.Level1)
138 {
139     std::string testTaskId = "2";
140     sptr<MockRemoteObject> obj = new MockRemoteObject();
141     EXPECT_NE(obj, nullptr);
142     auto proxy = std::make_shared<PrintServiceProxy>(obj);
143     EXPECT_NE(proxy, nullptr);
144     auto service = std::make_shared<MockPrintService>();
145     EXPECT_NE(service, nullptr);
146     EXPECT_CALL(*service, StopPrint(_)).Times(Exactly(1)).WillOnce(
__anond7386af70502(const std::string &taskId) 147         [&testTaskId](const std::string &taskId) {
148             EXPECT_EQ(testTaskId, taskId);
149             return E_PRINT_NONE;
150         });
151     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
152     ON_CALL(*obj, SendRequest)
__anond7386af70602(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 153         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
154             service->OnRemoteRequest(code, data, reply, option);
155             return E_PRINT_NONE;
156         });
157     proxy->StopPrint(testTaskId);
158 }
159 
160 /**
161  * @tc.name: PrintServiceProxyTest_0004
162  * @tc.desc: Verify the capability function.
163  * @tc.type: FUNC
164  * @tc.require:
165  */
166 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0004, TestSize.Level1)
167 {
168     std::string testPrintId = "2";
169     sptr<MockRemoteObject> obj = new MockRemoteObject();
170     EXPECT_NE(obj, nullptr);
171     auto proxy = std::make_shared<PrintServiceProxy>(obj);
172     EXPECT_NE(proxy, nullptr);
173     auto service = std::make_shared<MockPrintService>();
174     EXPECT_NE(service, nullptr);
175     EXPECT_CALL(*service, ConnectPrinter(_)).Times(Exactly(1)).WillOnce(
__anond7386af70702(const std::string &printId) 176         [&testPrintId](const std::string &printId) {
177             EXPECT_EQ(testPrintId, printId);
178             return E_PRINT_NONE;
179         });
180     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
181     ON_CALL(*obj, SendRequest)
__anond7386af70802(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 182         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
183             service->OnRemoteRequest(code, data, reply, option);
184             return E_PRINT_NONE;
185         });
186     proxy->ConnectPrinter(testPrintId);
187 }
188 
189 /**
190  * @tc.name: PrintServiceProxyTest_0005
191  * @tc.desc: Verify the capability function.
192  * @tc.type: FUNC
193  * @tc.require:
194  */
195 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0005, TestSize.Level1)
196 {
197     std::string testPrintId = "2";
198     sptr<MockRemoteObject> obj = new MockRemoteObject();
199     EXPECT_NE(obj, nullptr);
200     auto proxy = std::make_shared<PrintServiceProxy>(obj);
201     EXPECT_NE(proxy, nullptr);
202     auto service = std::make_shared<MockPrintService>();
203     EXPECT_NE(service, nullptr);
204     EXPECT_CALL(*service, DisconnectPrinter(_)).Times(Exactly(1)).WillOnce(
__anond7386af70902(const std::string &printId) 205         [&testPrintId](const std::string &printId) {
206             EXPECT_EQ(testPrintId, printId);
207             return E_PRINT_NONE;
208         });
209     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
210     ON_CALL(*obj, SendRequest)
__anond7386af70a02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 211         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
212             service->OnRemoteRequest(code, data, reply, option);
213             return E_PRINT_NONE;
214         });
215     proxy->DisconnectPrinter(testPrintId);
216 }
217 
218 /**
219  * @tc.name: PrintServiceProxyTest_0006
220  * @tc.desc: Verify the capability function.
221  * @tc.type: FUNC
222  * @tc.require:
223  */
224 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0006, TestSize.Level1)
225 {
226     PrintExtensionInfo info1, info2;
227     info1.SetExtensionId("extensionId-1");
228     info1.SetExtensionId("extensionId-2");
229     std::vector<PrintExtensionInfo> testExtInfos = {info1, info2};
230     sptr<MockRemoteObject> obj = new MockRemoteObject();
231     EXPECT_NE(obj, nullptr);
232     auto proxy = std::make_shared<PrintServiceProxy>(obj);
233     EXPECT_NE(proxy, nullptr);
234     auto service = std::make_shared<MockPrintService>();
235     EXPECT_NE(service, nullptr);
236     EXPECT_CALL(*service, QueryAllExtension(_)).Times(Exactly(1)).WillOnce(
__anond7386af70b02(std::vector<PrintExtensionInfo> &extensionInfos) 237         [&testExtInfos](std::vector<PrintExtensionInfo> &extensionInfos) {
238             extensionInfos.assign(testExtInfos.begin(), testExtInfos.end());
239             return E_PRINT_NONE;
240         });
241     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
242     ON_CALL(*obj, SendRequest)
__anond7386af70c02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 243         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
244             service->OnRemoteRequest(code, data, reply, option);
245             return E_PRINT_NONE;
246         });
247     std::vector<PrintExtensionInfo> result;
248     proxy->QueryAllExtension(result);
249     EXPECT_EQ(testExtInfos.size(), result.size());
250 }
251 
252 /**
253  * @tc.name: PrintServiceProxyTest_0007
254  * @tc.desc: Verify the capability function.
255  * @tc.type: FUNC
256  * @tc.require:
257  */
258 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0007, TestSize.Level1)
259 {
260     std::vector<std::string> testExtList = {};
261     sptr<MockRemoteObject> obj = new MockRemoteObject();
262     EXPECT_NE(obj, nullptr);
263     auto proxy = std::make_shared<PrintServiceProxy>(obj);
264     EXPECT_NE(proxy, nullptr);
265     auto service = std::make_shared<MockPrintService>();
266     EXPECT_NE(service, nullptr);
267     EXPECT_CALL(*service, StartDiscoverPrinter(_)).Times(Exactly(1)).WillOnce(
__anond7386af70d02(const std::vector<std::string> &extensionList) 268         [&testExtList](const std::vector<std::string> &extensionList) {
269             EXPECT_EQ(testExtList.size(), extensionList.size());
270             return E_PRINT_NONE;
271         });
272     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
273     ON_CALL(*obj, SendRequest)
__anond7386af70e02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 274         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
275             service->OnRemoteRequest(code, data, reply, option);
276             return E_PRINT_NONE;
277         });
278     proxy->StartDiscoverPrinter(testExtList);
279 }
280 
281 /**
282  * @tc.name: PrintServiceProxyTest_0008
283  * @tc.desc: Verify the capability function.
284  * @tc.type: FUNC
285  * @tc.require:
286  */
287 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0008, TestSize.Level1)
288 {
289     sptr<MockRemoteObject> obj = new MockRemoteObject();
290     EXPECT_NE(obj, nullptr);
291     auto proxy = std::make_shared<PrintServiceProxy>(obj);
292     EXPECT_NE(proxy, nullptr);
293     auto service = std::make_shared<MockPrintService>();
294     EXPECT_NE(service, nullptr);
295     EXPECT_CALL(*service, StopDiscoverPrinter()).Times(Exactly(1)).WillOnce(
__anond7386af70f02() 296         []() {
297             return E_PRINT_NONE;
298         });
299     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
300     ON_CALL(*obj, SendRequest)
__anond7386af71002(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 301         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
302             service->OnRemoteRequest(code, data, reply, option);
303             return E_PRINT_NONE;
304         });
305     proxy->StopDiscoverPrinter();
306 }
307 
308 /**
309  * @tc.name: PrintServiceProxyTest_0009
310  * @tc.desc: Verify the capability function.
311  * @tc.type: FUNC
312  * @tc.require:
313  */
314 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0009, TestSize.Level1)
315 {
316     OHOS::Print::PrintJob testJob;
317     testJob.SetJobId("jobId-123");
318     sptr<MockRemoteObject> obj = new MockRemoteObject();
319     EXPECT_NE(obj, nullptr);
320     auto proxy = std::make_shared<PrintServiceProxy>(obj);
321     EXPECT_NE(proxy, nullptr);
322     auto service = std::make_shared<MockPrintService>();
323     EXPECT_NE(service, nullptr);
324     EXPECT_CALL(*service, StartPrintJob(_)).Times(Exactly(1)).WillOnce(
__anond7386af71102(const PrintJob &jobinfo) 325         [&testJob](const PrintJob &jobinfo) {
326             EXPECT_EQ(testJob.GetJobId(), jobinfo.GetJobId());
327             return E_PRINT_NONE;
328         });
329     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
330     ON_CALL(*obj, SendRequest)
__anond7386af71202(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 331         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
332             service->OnRemoteRequest(code, data, reply, option);
333             return E_PRINT_NONE;
334         });
335     proxy->StartPrintJob(testJob);
336 }
337 
338 /**
339  * @tc.name: PrintServiceProxyTest_0010
340  * @tc.desc: Verify the capability function.
341  * @tc.type: FUNC
342  * @tc.require:
343  */
344 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0010, TestSize.Level1)
345 {
346     std::string testJobId = "jobId-123";
347     sptr<MockRemoteObject> obj = new MockRemoteObject();
348     EXPECT_NE(obj, nullptr);
349     auto proxy = std::make_shared<PrintServiceProxy>(obj);
350     EXPECT_NE(proxy, nullptr);
351     auto service = std::make_shared<MockPrintService>();
352     EXPECT_NE(service, nullptr);
353     EXPECT_CALL(*service, CancelPrintJob(_)).Times(Exactly(1)).WillOnce(
__anond7386af71302(const std::string &jobId) 354         [&testJobId](const std::string &jobId) {
355             EXPECT_EQ(testJobId, jobId);
356             return E_PRINT_NONE;
357         });
358     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
359     ON_CALL(*obj, SendRequest)
__anond7386af71402(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 360         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
361             service->OnRemoteRequest(code, data, reply, option);
362             return E_PRINT_NONE;
363         });
364     proxy->CancelPrintJob(testJobId);
365 }
366 
367 /**
368  * @tc.name: PrintServiceProxyTest_0011
369  * @tc.desc: Verify the capability function.
370  * @tc.type: FUNC
371  * @tc.require:
372  */
373 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0011, TestSize.Level1)
374 {
375     OHOS::Print::PrinterInfo info1, info2;
376     info1.SetOption("option-1");
377     info2.SetOption("option-2");
378     std::vector<PrinterInfo> testPrinterInfos = {info1, info2};
379     sptr<MockRemoteObject> obj = new MockRemoteObject();
380     EXPECT_NE(obj, nullptr);
381     auto proxy = std::make_shared<PrintServiceProxy>(obj);
382     EXPECT_NE(proxy, nullptr);
383     auto service = std::make_shared<MockPrintService>();
384     EXPECT_NE(service, nullptr);
385     EXPECT_CALL(*service, AddPrinters(_)).Times(Exactly(1)).WillOnce(
__anond7386af71502(const std::vector<PrinterInfo> &printerInfos) 386         [&testPrinterInfos](const std::vector<PrinterInfo> &printerInfos) {
387             EXPECT_EQ(testPrinterInfos.size(), printerInfos.size());
388             for (size_t index = 0; index < testPrinterInfos.size(); index++) {
389                 EXPECT_EQ(testPrinterInfos[index].GetOption(), printerInfos[index].GetOption());
390             }
391             return E_PRINT_NONE;
392         });
393     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
394     ON_CALL(*obj, SendRequest)
__anond7386af71602(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 395         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
396             service->OnRemoteRequest(code, data, reply, option);
397             return E_PRINT_NONE;
398         });
399     proxy->AddPrinters(testPrinterInfos);
400 }
401 
402 /**
403  * @tc.name: PrintServiceProxyTest_0012
404  * @tc.desc: Verify the capability function.
405  * @tc.type: FUNC
406  * @tc.require:
407  */
408 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0012, TestSize.Level1)
409 {
410     std::vector<std::string> testPrinterIds = {"printerId-1", "printerId-2"};
411     sptr<MockRemoteObject> obj = new MockRemoteObject();
412     EXPECT_NE(obj, nullptr);
413     auto proxy = std::make_shared<PrintServiceProxy>(obj);
414     EXPECT_NE(proxy, nullptr);
415     auto service = std::make_shared<MockPrintService>();
416     EXPECT_NE(service, nullptr);
417     EXPECT_CALL(*service, RemovePrinters(_)).Times(Exactly(1)).WillOnce(
__anond7386af71702(const std::vector<std::string> &printerIds) 418         [&testPrinterIds](const std::vector<std::string> &printerIds) {
419             EXPECT_EQ(testPrinterIds.size(), printerIds.size());
420             for (size_t index = 0; index < testPrinterIds.size(); index++) {
421                 EXPECT_EQ(testPrinterIds[index], testPrinterIds[index]);
422             }
423             return E_PRINT_NONE;
424         });
425     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
426     ON_CALL(*obj, SendRequest)
__anond7386af71802(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 427         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
428             service->OnRemoteRequest(code, data, reply, option);
429             return E_PRINT_NONE;
430         });
431     proxy->RemovePrinters(testPrinterIds);
432 }
433 
434 /**
435  * @tc.name: PrintServiceProxyTest_0013
436  * @tc.desc: Verify the capability function.
437  * @tc.type: FUNC
438  * @tc.require:
439  */
440 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0013, TestSize.Level1)
441 {
442     OHOS::Print::PrinterInfo info1, info2;
443     info1.SetOption("option-1");
444     info2.SetOption("option-2");
445     std::vector<PrinterInfo> testPrinterInfos = {info1, info2};
446     sptr<MockRemoteObject> obj = new MockRemoteObject();
447     EXPECT_NE(obj, nullptr);
448     auto proxy = std::make_shared<PrintServiceProxy>(obj);
449     EXPECT_NE(proxy, nullptr);
450     auto service = std::make_shared<MockPrintService>();
451     EXPECT_NE(service, nullptr);
452     EXPECT_CALL(*service, UpdatePrinters(_)).Times(Exactly(1)).WillOnce(
__anond7386af71902(const std::vector<PrinterInfo> &printerInfos) 453         [&testPrinterInfos](const std::vector<PrinterInfo> &printerInfos) {
454             EXPECT_EQ(testPrinterInfos.size(), printerInfos.size());
455             for (size_t index = 0; index < testPrinterInfos.size(); index++) {
456                 EXPECT_EQ(testPrinterInfos[index].GetOption(), printerInfos[index].GetOption());
457             }
458             return E_PRINT_NONE;
459         });
460     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
461     ON_CALL(*obj, SendRequest)
__anond7386af71a02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 462         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
463             service->OnRemoteRequest(code, data, reply, option);
464             return E_PRINT_NONE;
465         });
466     proxy->UpdatePrinters(testPrinterInfos);
467 }
468 
469 /**
470  * @tc.name: PrintServiceProxyTest_0014
471  * @tc.desc: Verify the capability function.
472  * @tc.type: FUNC
473  * @tc.require:
474  */
475 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0014, TestSize.Level1)
476 {
477     std::string testPrinterId = "printId-123";
478     uint32_t testState = 1;
479     sptr<MockRemoteObject> obj = new MockRemoteObject();
480     EXPECT_NE(obj, nullptr);
481     auto proxy = std::make_shared<PrintServiceProxy>(obj);
482     EXPECT_NE(proxy, nullptr);
483     auto service = std::make_shared<MockPrintService>();
484     EXPECT_NE(service, nullptr);
485     EXPECT_CALL(*service, UpdatePrinterState(_, _)).Times(Exactly(1)).WillOnce(
__anond7386af71b02(const std::string &printerId, uint32_t state) 486         [&testPrinterId, &testState](const std::string &printerId, uint32_t state) {
487             EXPECT_EQ(testPrinterId, printerId);
488             EXPECT_EQ(testState, state);
489             return E_PRINT_NONE;
490         });
491     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
492     ON_CALL(*obj, SendRequest)
__anond7386af71c02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 493         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
494             service->OnRemoteRequest(code, data, reply, option);
495             return E_PRINT_NONE;
496         });
497     proxy->UpdatePrinterState(testPrinterId, testState);
498 }
499 
500 /**
501  * @tc.name: PrintServiceProxyTest_0015
502  * @tc.desc: Verify the capability function.
503  * @tc.type: FUNC
504  * @tc.require:
505  */
506 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0015, TestSize.Level1)
507 {
508     std::string testJobId = "printId-123";
509     uint32_t testState = 1;
510     uint32_t testSubState = 1;
511     sptr<MockRemoteObject> obj = new MockRemoteObject();
512     EXPECT_NE(obj, nullptr);
513     auto proxy = std::make_shared<PrintServiceProxy>(obj);
514     EXPECT_NE(proxy, nullptr);
515     auto service = std::make_shared<MockPrintService>();
516     EXPECT_NE(service, nullptr);
517     EXPECT_CALL(*service, UpdatePrintJobStateOnlyForSystemApp(_, _, _)).Times(Exactly(1)).WillOnce(
518         [&testJobId, &testState, &testSubState](const std::string &jobId,
__anond7386af71d02(const std::string &jobId, uint32_t state, uint32_t subState) 519             uint32_t state, uint32_t subState) {
520             EXPECT_EQ(testJobId, jobId);
521             EXPECT_EQ(testState, state);
522             EXPECT_EQ(testSubState, subState);
523             return E_PRINT_NONE;
524         });
525     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
526     ON_CALL(*obj, SendRequest)
__anond7386af71e02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 527         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
528             service->OnRemoteRequest(code, data, reply, option);
529             return E_PRINT_NONE;
530         });
531     proxy->UpdatePrintJobStateOnlyForSystemApp(testJobId, testState, testSubState);
532 }
533 
534 /**
535  * @tc.name: PrintServiceProxyTest_0016
536  * @tc.desc: Verify the capability function.
537  * @tc.type: FUNC
538  * @tc.require:
539  */
540 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0016, TestSize.Level1)
541 {
542     std::string testExtInfo = "extInfo-123";
543     sptr<MockRemoteObject> obj = new MockRemoteObject();
544     EXPECT_NE(obj, nullptr);
545     auto proxy = std::make_shared<PrintServiceProxy>(obj);
546     EXPECT_NE(proxy, nullptr);
547     auto service = std::make_shared<MockPrintService>();
548     EXPECT_NE(service, nullptr);
549     EXPECT_CALL(*service, UpdateExtensionInfo(_)).Times(Exactly(1)).WillOnce(
__anond7386af71f02(const std::string &extInfo) 550         [&testExtInfo](const std::string &extInfo) {
551             EXPECT_EQ(testExtInfo, extInfo);
552             return E_PRINT_NONE;
553         });
554     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
555     ON_CALL(*obj, SendRequest)
__anond7386af72002(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 556         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
557             service->OnRemoteRequest(code, data, reply, option);
558             return E_PRINT_NONE;
559         });
560     proxy->UpdateExtensionInfo(testExtInfo);
561 }
562 
563 /**
564  * @tc.name: PrintServiceProxyTest_0017
565  * @tc.desc: Verify the capability function.
566  * @tc.type: FUNC
567  * @tc.require:
568  */
569 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0017, TestSize.Level1)
570 {
571     PrintJob testJobInfo;
572     std::string testPreviewResult = "extInfo-123";
573     testJobInfo.SetPrinterId("printId-123");
574     sptr<MockRemoteObject> obj = new MockRemoteObject();
575     EXPECT_NE(obj, nullptr);
576     auto proxy = std::make_shared<PrintServiceProxy>(obj);
577     EXPECT_NE(proxy, nullptr);
578     auto service = std::make_shared<MockPrintService>();
579     EXPECT_NE(service, nullptr);
580     EXPECT_CALL(*service, RequestPreview(_, _)).Times(Exactly(1)).WillOnce(
__anond7386af72102(const PrintJob &jobinfo, std::string &previewResult) 581         [&testJobInfo, &testPreviewResult](const PrintJob &jobinfo, std::string &previewResult) {
582             EXPECT_EQ(testJobInfo.GetPrinterId(), jobinfo.GetPrinterId());
583             return E_PRINT_NONE;
584         });
585     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
586     ON_CALL(*obj, SendRequest)
__anond7386af72202(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 587         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
588             service->OnRemoteRequest(code, data, reply, option);
589             return E_PRINT_NONE;
590         });
591     proxy->RequestPreview(testJobInfo, testPreviewResult);
592 }
593 
594 /**
595  * @tc.name: PrintServiceProxyTest_0018
596  * @tc.desc: Verify the capability function.
597  * @tc.type: FUNC
598  * @tc.require:
599  */
600 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0018, TestSize.Level1)
601 {
602     std::string testPrintId = "printId-123";
603     sptr<MockRemoteObject> obj = new MockRemoteObject();
604     EXPECT_NE(obj, nullptr);
605     auto proxy = std::make_shared<PrintServiceProxy>(obj);
606     EXPECT_NE(proxy, nullptr);
607     auto service = std::make_shared<MockPrintService>();
608     EXPECT_NE(service, nullptr);
609     EXPECT_CALL(*service, QueryPrinterCapability(_)).Times(Exactly(1)).WillOnce(
__anond7386af72302(const std::string &printerId) 610         [&testPrintId](const std::string &printerId) {
611             EXPECT_EQ(testPrintId, printerId);
612             return E_PRINT_NONE;
613         });
614     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
615     ON_CALL(*obj, SendRequest)
__anond7386af72402(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 616         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
617             service->OnRemoteRequest(code, data, reply, option);
618             return E_PRINT_NONE;
619         });
620     proxy->QueryPrinterCapability(testPrintId);
621 }
622 
623 /**
624  * @tc.name: PrintServiceProxyTest_0019
625  * @tc.desc: Verify the capability function.
626  * @tc.type: FUNC
627  * @tc.require:
628  */
629 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0019, TestSize.Level1)
630 {
631     std::vector<PrintJob> testPrintJobs = {};
632     sptr<MockRemoteObject> obj = new MockRemoteObject();
633     EXPECT_NE(obj, nullptr);
634     auto proxy = std::make_shared<PrintServiceProxy>(obj);
635     EXPECT_NE(proxy, nullptr);
636     auto service = std::make_shared<MockPrintService>();
637     EXPECT_NE(service, nullptr);
638     EXPECT_CALL(*service, QueryAllPrintJob(_)).Times(Exactly(1)).WillOnce(
__anond7386af72502(std::vector<PrintJob> &printJobs) 639         [&testPrintJobs](std::vector<PrintJob> &printJobs) {
640             EXPECT_EQ(testPrintJobs.size(), printJobs.size());
641             return E_PRINT_NONE;
642         });
643     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
644     ON_CALL(*obj, SendRequest)
__anond7386af72602(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 645         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
646             service->OnRemoteRequest(code, data, reply, option);
647             return E_PRINT_NONE;
648         });
649     proxy->QueryAllPrintJob(testPrintJobs);
650 }
651 
652 /**
653  * @tc.name: PrintServiceProxyTest_0020
654  * @tc.desc: Verify the capability function.
655  * @tc.type: FUNC
656  * @tc.require:
657  */
658 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0020, TestSize.Level1)
659 {
660     std::string testPrintJobId = "jobId-123";
661     PrintJob testPrintJob;
662     testPrintJob.SetJobId("jobId-123");
663     sptr<MockRemoteObject> obj = new MockRemoteObject();
664     EXPECT_NE(obj, nullptr);
665     auto proxy = std::make_shared<PrintServiceProxy>(obj);
666     EXPECT_NE(proxy, nullptr);
667     auto service = std::make_shared<MockPrintService>();
668     EXPECT_NE(service, nullptr);
669     EXPECT_CALL(*service, QueryPrintJobById(_, _)).Times(Exactly(1)).WillOnce(
__anond7386af72702(std::string &printJobId, PrintJob &printJob) 670         [&testPrintJobId, &testPrintJob](std::string &printJobId, PrintJob &printJob) {
671             EXPECT_EQ(testPrintJobId, printJobId);
672             return E_PRINT_NONE;
673         });
674     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
675     ON_CALL(*obj, SendRequest)
__anond7386af72802(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 676         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
677             service->OnRemoteRequest(code, data, reply, option);
678             return E_PRINT_NONE;
679         });
680     proxy->QueryPrintJobById(testPrintJobId, testPrintJob);
681 }
682 
683 /**
684  * @tc.name: PrintServiceProxyTest_0021
685  * @tc.desc: Verify the capability function.
686  * @tc.type: FUNC
687  * @tc.require:
688  */
689 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0021, TestSize.Level1)
690 {
691     std::string testTaskId = "taskId-123";
692     std::string testType = "type";
693     sptr<MockRemoteObject> obj = new MockRemoteObject();
694     EXPECT_NE(obj, nullptr);
695     auto proxy = std::make_shared<PrintServiceProxy>(obj);
696     EXPECT_NE(proxy, nullptr);
697     auto service = std::make_shared<MockPrintService>();
698     EXPECT_NE(service, nullptr);
699     EXPECT_CALL(*service, Off(_, _)).Times(Exactly(1)).WillOnce(
__anond7386af72902(const std::string taskId, const std::string &type) 700         [&testTaskId, &testType](const std::string taskId, const std::string &type) {
701             EXPECT_EQ(testTaskId, taskId);
702             EXPECT_EQ(testType, type);
703             return E_PRINT_NONE;
704         });
705     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
706     ON_CALL(*obj, SendRequest)
__anond7386af72a02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 707         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
708             service->OnRemoteRequest(code, data, reply, option);
709             return E_PRINT_NONE;
710         });
711     proxy->Off(testTaskId, testType);
712 }
713 
714 /**
715  * @tc.name: PrintServiceProxyTest_0022
716  * @tc.desc: Verify the capability function.
717  * @tc.type: FUNC
718  * @tc.require:
719  */
720 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0022, TestSize.Level1)
721 {
722     std::string testExtId = "extId-123";
723     sptr<MockRemoteObject> obj = new MockRemoteObject();
724     EXPECT_NE(obj, nullptr);
725     auto proxy = std::make_shared<PrintServiceProxy>(obj);
726     EXPECT_NE(proxy, nullptr);
727     auto service = std::make_shared<MockPrintService>();
728     EXPECT_NE(service, nullptr);
729     EXPECT_CALL(*service, UnregisterAllExtCallback(_)).Times(Exactly(1)).WillOnce(
__anond7386af72b02(const std::string &extensionId) 730         [&testExtId](const std::string &extensionId) {
731             EXPECT_EQ(testExtId, extensionId);
732             return E_PRINT_NONE;
733         });
734     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
735     ON_CALL(*obj, SendRequest)
__anond7386af72c02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 736         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
737             service->OnRemoteRequest(code, data, reply, option);
738             return E_PRINT_NONE;
739         });
740     proxy->UnregisterAllExtCallback(testExtId);
741 }
742 
743 /**
744  * @tc.name: PrintServiceProxyTest_0023
745  * @tc.desc: Verify the capability function.
746  * @tc.type: FUNC
747  * @tc.require:
748  */
749 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0023, TestSize.Level1)
750 {
751     std::string testExtId = "extId-123";
752     sptr<MockRemoteObject> obj = new MockRemoteObject();
753     EXPECT_NE(obj, nullptr);
754     auto proxy = std::make_shared<PrintServiceProxy>(obj);
755     EXPECT_NE(proxy, nullptr);
756     auto service = std::make_shared<MockPrintService>();
757     EXPECT_NE(service, nullptr);
758     EXPECT_CALL(*service, LoadExtSuccess(_)).Times(Exactly(1)).WillOnce(
__anond7386af72d02(const std::string &extensionId) 759         [&testExtId](const std::string &extensionId) {
760             EXPECT_EQ(testExtId, extensionId);
761             return E_PRINT_NONE;
762         });
763     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
764     ON_CALL(*obj, SendRequest)
__anond7386af72e02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 765         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
766             service->OnRemoteRequest(code, data, reply, option);
767             return E_PRINT_NONE;
768         });
769     proxy->LoadExtSuccess(testExtId);
770 }
771 
772 
773 /**
774  * @tc.name: PrintServiceProxyTest_0024
775  * @tc.desc: Verify the capability function.
776  * @tc.type: FUNC
777  * @tc.require:
778  */
779 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0024, TestSize.Level1)
780 {
781     std::string testExtId = "extId-123";
782     sptr<MockRemoteObject> obj = new MockRemoteObject();
783     EXPECT_NE(obj, nullptr);
784     auto proxy = std::make_shared<PrintServiceProxy>(obj);
785     EXPECT_EQ(E_PRINT_INVALID_PARAMETER, proxy->RegisterExtCallback(testExtId, nullptr));
786 }
787 
788 /**
789  * @tc.name: PrintServiceProxyTest_0025
790  * @tc.desc: Verify the capability function.
791  * @tc.type: FUNC
792  * @tc.require:
793  */
794 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0025, TestSize.Level1)
795 {
796     sptr<MockRemoteObject> obj = new MockRemoteObject();
797     EXPECT_NE(obj, nullptr);
798     auto proxy = std::make_shared<PrintServiceProxy>(obj);
799     EXPECT_EQ(E_PRINT_INVALID_PARAMETER, proxy->UnregisterPrinterCallback(""));
800 }
801 
802 /**
803  * @tc.name: PrintServiceProxyTest_0026
804  * @tc.desc: Verify the capability function.
805  * @tc.type: FUNC
806  * @tc.require:
807  */
808 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0026, TestSize.Level1)
809 {
810     sptr<MockRemoteObject> obj = new MockRemoteObject();
811     EXPECT_NE(obj, nullptr);
812     auto proxy = std::make_shared<PrintServiceProxy>(obj);
813     EXPECT_NE(proxy, nullptr);
814     auto service = std::make_shared<MockPrintCallbackStub>();
815     EXPECT_NE(service, nullptr);
816     const int testRetCode = -259;
817     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
818     ON_CALL(*obj, SendRequest)
__anond7386af72f02(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 819         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
820             service->OnRemoteRequest(code, data, reply, option);
821             return testRetCode;
822         });
823     std::string testJobId = "jobId-123";
824     EXPECT_EQ(E_PRINT_RPC_FAILURE, proxy->NotifyPrintServiceEvent(testJobId, 0));
825 }
826 
827 /**
828  * @tc.name: PrintServiceProxyTest_0028
829  * @tc.desc: Verify the capability function.
830  * @tc.type: FUNC
831  * @tc.require:
832  */
833 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0028, TestSize.Level1)
834 {
835     std::string testType = "type";
836     sptr<IPrintCallback> testListener = new (std::nothrow) DummyPrintCallbackStub();
837     sptr<MockRemoteObject> obj = new MockRemoteObject();
838     EXPECT_NE(obj, nullptr);
839     auto proxy = std::make_shared<PrintServiceProxy>(obj);
840     EXPECT_EQ(E_PRINT_NONE, proxy->RegisterPrinterCallback(testType, testListener));
841 }
842 
843 /**
844  * @tc.name: PrintServiceProxyTest_0029
845  * @tc.desc: Verify the DiscoverUsbPrinters function.
846  * @tc.type: FUNC
847  * @tc.require:
848  */
849 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0029, TestSize.Level1)
850 {
851     std::vector<PrinterInfo> testPrinters = {};
852     sptr<MockRemoteObject> obj = new MockRemoteObject();
853     EXPECT_NE(obj, nullptr);
854     auto proxy = std::make_shared<PrintServiceProxy>(obj);
855     EXPECT_NE(proxy, nullptr);
856     auto service = std::make_shared<MockPrintService>();
857     EXPECT_NE(service, nullptr);
858     EXPECT_CALL(*service, DiscoverUsbPrinters(_)).Times(Exactly(1)).WillOnce(
__anond7386af73002(std::vector<PrinterInfo> &printers) 859         [&testPrinters](std::vector<PrinterInfo> &printers) {
860             EXPECT_EQ(testPrinters.size(), printers.size());
861             return E_PRINT_NONE;
862         });
863     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
864     ON_CALL(*obj, SendRequest)
__anond7386af73102(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 865         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
866             service->OnRemoteRequest(code, data, reply, option);
867             return E_PRINT_NONE;
868         });
869     proxy->DiscoverUsbPrinters(testPrinters);
870 }
871 
872 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0030, TestSize.Level1)
873 {
874     OHOS::Print::PrinterInfo testInfo1;
875     testInfo1.SetOption("option-1");
876     sptr<MockRemoteObject> obj = new MockRemoteObject();
877     EXPECT_NE(obj, nullptr);
878     auto proxy = std::make_shared<PrintServiceProxy>(obj);
879     EXPECT_NE(proxy, nullptr);
880     auto service = std::make_shared<MockPrintService>();
881     EXPECT_NE(service, nullptr);
882     EXPECT_CALL(*service, AddPrinterToDiscovery(_)).Times(Exactly(1)).WillOnce(
__anond7386af73202(const PrinterInfo &printerInfo) 883         [&testInfo1](const PrinterInfo &printerInfo) {
884             EXPECT_EQ(testInfo1.GetOption(), printerInfo.GetOption());
885             return E_PRINT_NONE;
886     });
887     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
888     ON_CALL(*obj, SendRequest)
__anond7386af73302(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 889         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
890             service->OnRemoteRequest(code, data, reply, option);
891             return E_PRINT_NONE;
892     });
893     proxy->AddPrinterToDiscovery(testInfo1);
894 }
895 
896 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0031, TestSize.Level1)
897 {
898     OHOS::Print::PrinterInfo testInfo1;
899     testInfo1.SetOption("option-1");
900     sptr<MockRemoteObject> obj = new MockRemoteObject();
901     EXPECT_NE(obj, nullptr);
902     auto proxy = std::make_shared<PrintServiceProxy>(obj);
903     EXPECT_NE(proxy, nullptr);
904     auto service = std::make_shared<MockPrintService>();
905     EXPECT_NE(service, nullptr);
906     EXPECT_CALL(*service, UpdatePrinterInDiscovery(_)).Times(Exactly(1)).WillOnce(
__anond7386af73402(const PrinterInfo &printerInfo) 907         [&testInfo1](const PrinterInfo &printerInfo) {
908             EXPECT_EQ(testInfo1.GetOption(), printerInfo.GetOption());
909             return E_PRINT_NONE;
910     });
911     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
912     ON_CALL(*obj, SendRequest)
__anond7386af73502(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 913         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
914             service->OnRemoteRequest(code, data, reply, option);
915             return E_PRINT_NONE;
916     });
917     proxy->UpdatePrinterInDiscovery(testInfo1);
918 }
919 
920 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0032, TestSize.Level1)
921 {
922     std::string testPrinterId = "111";
923     sptr<MockRemoteObject> obj = new MockRemoteObject();
924     EXPECT_NE(obj, nullptr);
925     auto proxy = std::make_shared<PrintServiceProxy>(obj);
926     EXPECT_NE(proxy, nullptr);
927     auto service = std::make_shared<MockPrintService>();
928     EXPECT_NE(service, nullptr);
929     EXPECT_CALL(*service, RemovePrinterFromDiscovery(_)).Times(Exactly(1)).WillOnce(
__anond7386af73602(const std::string &printerId) 930         [&testPrinterId](const std::string &printerId) {
931             EXPECT_EQ(testPrinterId, printerId);
932             return E_PRINT_NONE;
933         });
934     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
935     ON_CALL(*obj, SendRequest)
__anond7386af73702(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 936         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
937             service->OnRemoteRequest(code, data, reply, option);
938             return E_PRINT_NONE;
939     });
940     proxy->RemovePrinterFromDiscovery(testPrinterId);
941 }
942 
943 HWTEST_F(PrintServiceProxyTest, PrintServiceProxyTest_0033, TestSize.Level1)
944 {
945     OHOS::Print::PrinterInfo testInfo1;
946     testInfo1.SetOption("option-1");
947     sptr<MockRemoteObject> obj = new MockRemoteObject();
948     EXPECT_NE(obj, nullptr);
949     auto proxy = std::make_shared<PrintServiceProxy>(obj);
950     EXPECT_NE(proxy, nullptr);
951     auto service = std::make_shared<MockPrintService>();
952     EXPECT_NE(service, nullptr);
953     EXPECT_CALL(*service, UpdatePrinterInSystem(_)).Times(Exactly(1)).WillOnce(
__anond7386af73802(const PrinterInfo &printerInfo) 954         [&testInfo1](const PrinterInfo &printerInfo) {
955             EXPECT_EQ(testInfo1.GetOption(), printerInfo.GetOption());
956             return E_PRINT_NONE;
957     });
958     EXPECT_CALL(*obj, SendRequest(_, _, _, _)).Times(1);
959     ON_CALL(*obj, SendRequest)
__anond7386af73902(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) 960         .WillByDefault([&service](uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) {
961             service->OnRemoteRequest(code, data, reply, option);
962             return E_PRINT_NONE;
963     });
964     proxy->UpdatePrinterInSystem(testInfo1);
965 }
966 
967 } // namespace Print
968 } // namespace OHOS