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