1 /*
2 * Copyright (c) 2023 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 "mock_print_service.h"
18 #include "print_manager_client.h"
19 #include "iremote_broker.h"
20 #include "print_constant.h"
21 #include "print_log.h"
22 #include "print_resolution.h"
23
24 using namespace testing;
25 using namespace testing::ext;
26
27 namespace OHOS {
28 namespace Print {
29 class PrintServiceStubTest : public testing::Test {
30 public:
31 static void SetUpTestCase(void);
32 static void TearDownTestCase(void);
33 void SetUp();
34 void TearDown();
35 };
36
SetUpTestCase(void)37 void PrintServiceStubTest::SetUpTestCase(void) {}
38
TearDownTestCase(void)39 void PrintServiceStubTest::TearDownTestCase(void) {}
40
SetUp(void)41 void PrintServiceStubTest::SetUp(void) {}
42
TearDown(void)43 void PrintServiceStubTest::TearDown(void) {}
44
45 /**
46 * @tc.name: PrintServiceStubTest_0001
47 * @tc.desc: Verify the capability function.
48 * @tc.type: FUNC
49 * @tc.require:
50 */
51 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0001, TestSize.Level1)
52 {
53 MessageParcel data;
54 MessageParcel reply;
55 MessageOption option(MessageOption::TF_SYNC);
56 uint32_t code = static_cast<uint32_t>(CMD_START_PRINT);
57
58 auto stub = std::make_shared<MockPrintService>();
59 EXPECT_NE(stub, nullptr);
60 EXPECT_EQ(stub->OnRemoteRequest(code, data, reply, option), E_PRINT_RPC_FAILURE);
61 }
62
63 /**
64 * @tc.name: PrintServiceStubTest_0002
65 * @tc.desc: Verify the capability function.
66 * @tc.type: FUNC
67 * @tc.require:
68 */
69 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0002, TestSize.Level1)
70 {
71 MessageParcel data;
72 MessageParcel reply;
73 MessageOption option(MessageOption::TF_SYNC);
74 uint32_t code = static_cast<uint32_t>(CMD_START_PRINT + 100);
75
76 EXPECT_TRUE(data.WriteInterfaceToken(IPrintService::GetDescriptor()));
77 auto stub = std::make_shared<MockPrintService>();
78 EXPECT_NE(stub, nullptr);
79 EXPECT_EQ(stub->OnRemoteRequest(code, data, reply, option), OHOS::IPC_STUB_UNKNOW_TRANS_ERR);
80 }
81
82 /**
83 * @tc.name: PrintServiceStubTest_0003
84 * @tc.desc: Verify the capability function.
85 * @tc.type: FUNC
86 * @tc.require:
87 */
88 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0003, TestSize.Level1)
89 {
90 MessageParcel data;
91 MessageParcel reply;
92 MessageOption option(MessageOption::TF_SYNC);
93 uint32_t code = static_cast<uint32_t>(CMD_START_PRINT);
94 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
95 EXPECT_TRUE(data.WriteBool(false));
96 EXPECT_TRUE(data.WriteBool(false));
97 EXPECT_TRUE(data.WriteString("jobId"));
98
99 auto stub = std::make_shared<MockPrintService>();
100 EXPECT_NE(stub, nullptr);
101 ON_CALL(*stub, StartPrint(_, _, _)).WillByDefault(Return(E_PRINT_NONE));
102 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
103 }
104
105 /**
106 * @tc.name: PrintServiceStubTest_0004
107 * @tc.desc: Verify the capability function.
108 * @tc.type: FUNC
109 * @tc.require:
110 */
111 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0004, TestSize.Level1)
112 {
113 MessageParcel data;
114 MessageParcel reply;
115 MessageOption option(MessageOption::TF_SYNC);
116 uint32_t code = static_cast<uint32_t>(CMD_START_PRINT);
117
118 std::vector<std::string> testFileList;
119 testFileList.resize(1001);
120 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
121 EXPECT_TRUE(data.WriteBool(testFileList.size() > 0));
122 EXPECT_TRUE(data.WriteStringVector(testFileList));
123 EXPECT_TRUE(data.WriteBool(false));
124 EXPECT_TRUE(data.WriteString("jobId"));
125
126 auto stub = std::make_shared<MockPrintService>();
127 EXPECT_NE(stub, nullptr);
128 ON_CALL(*stub, StartPrint(_, _, _)).WillByDefault(Return(E_PRINT_NONE));
129 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
130 }
131
132 /**
133 * @tc.name: PrintServiceStubTest_0005
134 * @tc.desc: Verify the capability function.
135 * @tc.type: FUNC
136 * @tc.require:
137 */
138 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0005, TestSize.Level1)
139 {
140 MessageParcel data;
141 MessageParcel reply;
142 MessageOption option(MessageOption::TF_SYNC);
143 uint32_t code = static_cast<uint32_t>(CMD_START_PRINT);
144
145 std::vector<std::string> testFileList = {"file://data/print/a.png",
146 "file://data/print/b.png", "file://data/print/c.png"};
147 std::vector<uint32_t> testFdList;
148 testFdList.resize(1001);
149
150 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
151 EXPECT_TRUE(data.WriteBool(testFileList.size() > 0));
152 EXPECT_TRUE(data.WriteStringVector(testFileList));
153 EXPECT_TRUE(data.WriteBool(testFdList.size() > 0));
154 EXPECT_TRUE(data.WriteInt32(testFdList.size()));
155 EXPECT_TRUE(data.WriteString("jobId"));
156
157 auto stub = std::make_shared<MockPrintService>();
158 EXPECT_NE(stub, nullptr);
159 ON_CALL(*stub, StartPrint(_, _, _)).WillByDefault(Return(E_PRINT_NONE));
160 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
161 }
162
163 /**
164 * @tc.name: PrintServiceStubTest_0006
165 * @tc.desc: Verify the capability function.
166 * @tc.type: FUNC
167 * @tc.require:
168 */
169 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0006, TestSize.Level1)
170 {
171 MessageParcel data;
172 MessageParcel reply;
173 MessageOption option(MessageOption::TF_SYNC);
174 uint32_t code = static_cast<uint32_t>(CMD_START_PRINT);
175
176 std::vector<std::string> testFileList = {"file://data/print/a.png",
177 "file://data/print/b.png", "file://data/print/c.png"};
178 std::vector<uint32_t> testFdList = {1, 2};
179 std::string testTaskId = "2";
180
181 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
182 EXPECT_TRUE(data.WriteBool(testFileList.size() > 0));
183 EXPECT_TRUE(data.WriteStringVector(testFileList));
184 EXPECT_TRUE(data.WriteBool(testFdList.size() > 0));
185 EXPECT_TRUE(data.WriteInt32(testFdList.size()));
186 for (auto fd : testFdList) {
187 data.WriteFileDescriptor(fd);
188 }
189 EXPECT_TRUE(data.WriteString("jobId"));
190
191 auto stub = std::make_shared<MockPrintService>();
192 EXPECT_NE(stub, nullptr);
193 ON_CALL(*stub, StartPrint(_, _, _)).WillByDefault(Return(E_PRINT_NONE));
194 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
195 }
196
197 /**
198 * @tc.name: PrintServiceStubTest_0007
199 * @tc.desc: Verify the capability function.
200 * @tc.type: FUNC
201 * @tc.require:
202 */
203 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0007, TestSize.Level1)
204 {
205 MessageParcel data;
206 MessageParcel reply;
207 MessageOption option(MessageOption::TF_SYNC);
208 uint32_t code = static_cast<uint32_t>(CMD_STOP_PRINT);
209
210 std::string testTaskId = "2";
211
212 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
213 EXPECT_TRUE(data.WriteString(testTaskId));
214
215 auto stub = std::make_shared<MockPrintService>();
216 EXPECT_NE(stub, nullptr);
217 ON_CALL(*stub, StopPrint).WillByDefault(Return(E_PRINT_NONE));
218 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
219 }
220
221 /**
222 * @tc.name: PrintServiceStubTest_0008
223 * @tc.desc: Verify the capability function.
224 * @tc.type: FUNC
225 * @tc.require:
226 */
227 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0008, TestSize.Level1)
228 {
229 MessageParcel data;
230 MessageParcel reply;
231 MessageOption option(MessageOption::TF_SYNC);
232 uint32_t code = static_cast<uint32_t>(CMD_CONNECTPRINTER);
233
234 std::string testPrinterId = "com.sample.ext:1";
235
236 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
237 EXPECT_TRUE(data.WriteString(testPrinterId));
238
239 auto stub = std::make_shared<MockPrintService>();
240 EXPECT_NE(stub, nullptr);
241 ON_CALL(*stub, ConnectPrinter).WillByDefault(Return(E_PRINT_NONE));
242 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
243 }
244
245 /**
246 * @tc.name: PrintServiceStubTest_0009
247 * @tc.desc: Verify the capability function.
248 * @tc.type: FUNC
249 * @tc.require:
250 */
251 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0009, TestSize.Level1)
252 {
253 MessageParcel data;
254 MessageParcel reply;
255 MessageOption option(MessageOption::TF_SYNC);
256 uint32_t code = static_cast<uint32_t>(CMD_DISCONNECTPRINTER);
257
258 std::string testPrinterId = "com.sample.ext:1";
259
260 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
261 EXPECT_TRUE(data.WriteString(testPrinterId));
262
263 auto stub = std::make_shared<MockPrintService>();
264 EXPECT_NE(stub, nullptr);
265 ON_CALL(*stub, DisconnectPrinter).WillByDefault(Return(E_PRINT_NONE));
266 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
267 }
268
269 /**
270 * @tc.name: PrintServiceStubTest_0010
271 * @tc.desc: Verify the capability function.
272 * @tc.type: FUNC
273 * @tc.require:
274 */
275 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0010, TestSize.Level1)
276 {
277 MessageParcel data;
278 MessageParcel reply;
279 MessageOption option(MessageOption::TF_SYNC);
280 uint32_t code = static_cast<uint32_t>(CMD_STARTDISCOVERPRINTER);
281
282 std::vector<std::string> testExtensionList;
283 std::string extensionId = "com.sample.ext";
284 testExtensionList.emplace_back(extensionId);
285
286 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
287 EXPECT_TRUE(data.WriteStringVector(testExtensionList));
288
289 auto stub = std::make_shared<MockPrintService>();
290 EXPECT_NE(stub, nullptr);
291 ON_CALL(*stub, StartDiscoverPrinter).WillByDefault(Return(E_PRINT_NONE));
292 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
293 }
294
295 /**
296 * @tc.name: PrintServiceStubTest_0011
297 * @tc.desc: Verify the capability function.
298 * @tc.type: FUNC
299 * @tc.require:
300 */
301 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0011, TestSize.Level1)
302 {
303 MessageParcel data;
304 MessageParcel reply;
305 MessageOption option(MessageOption::TF_SYNC);
306 uint32_t code = static_cast<uint32_t>(CMD_STOPDISCOVERPRINTER);
307
308 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
309
310 auto stub = std::make_shared<MockPrintService>();
311 EXPECT_NE(stub, nullptr);
312 ON_CALL(*stub, StopDiscoverPrinter).WillByDefault(Return(E_PRINT_NONE));
313 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
314 }
315
316 /**
317 * @tc.name: PrintServiceStubTest_0012
318 * @tc.desc: Verify the capability function.
319 * @tc.type: FUNC
320 * @tc.require:
321 */
322 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0012, TestSize.Level1)
323 {
324 MessageParcel data;
325 MessageParcel reply;
326 MessageOption option(MessageOption::TF_SYNC);
327 uint32_t code = static_cast<uint32_t>(CMD_QUERYALLEXTENSION);
328
329 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
330
331 auto stub = std::make_shared<MockPrintService>();
332 EXPECT_NE(stub, nullptr);
333 ON_CALL(*stub, QueryAllExtension).WillByDefault(Return(E_PRINT_NONE));
334 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
335 }
336
337 /**
338 * @tc.name: PrintServiceStubTest_0013
339 * @tc.desc: Verify the capability function.
340 * @tc.type: FUNC
341 * @tc.require:
342 */
343 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0013, TestSize.Level1)
344 {
345 MessageParcel data;
346 MessageParcel reply;
347 MessageOption option(MessageOption::TF_SYNC);
348 uint32_t code = static_cast<uint32_t>(CMD_QUERYALLEXTENSION);
349
350 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
351
352 auto stub = std::make_shared<MockPrintService>();
353 EXPECT_NE(stub, nullptr);
354 ON_CALL(*stub, QueryAllExtension).WillByDefault(Return(E_PRINT_GENERIC_FAILURE));
355 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
356 }
357
358 /**
359 * @tc.name: PrintServiceStubTest_0014
360 * @tc.desc: Verify the capability function.
361 * @tc.type: FUNC
362 * @tc.require:
363 */
364 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0014, TestSize.Level1)
365 {
366 MessageParcel data;
367 MessageParcel reply;
368 MessageOption option(MessageOption::TF_SYNC);
369 uint32_t code = static_cast<uint32_t>(CMD_STARTPRINTJOB);
370
371 PrintJob testJob;
372 std::string jobId = "job:1234";
373 testJob.SetJobId(jobId);
374
375 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
376 EXPECT_TRUE(testJob.Marshalling(data));
377
378 auto stub = std::make_shared<MockPrintService>();
379 EXPECT_NE(stub, nullptr);
380 ON_CALL(*stub, StartPrintJob).WillByDefault(Return(E_PRINT_NONE));
381 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
382 }
383
384 /**
385 * @tc.name: PrintServiceStubTest_0015
386 * @tc.desc: Verify the capability function.
387 * @tc.type: FUNC
388 * @tc.require:
389 */
390 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0015, TestSize.Level1)
391 {
392 MessageParcel data;
393 MessageParcel reply;
394 MessageOption option(MessageOption::TF_SYNC);
395 uint32_t code = static_cast<uint32_t>(CMD_CANCELPRINTJOB);
396
397 std::string jobId = "job:1234";
398
399 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
400 EXPECT_TRUE(data.WriteString(jobId));
401
402 auto stub = std::make_shared<MockPrintService>();
403 EXPECT_NE(stub, nullptr);
404 ON_CALL(*stub, CancelPrintJob).WillByDefault(Return(E_PRINT_NONE));
405 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
406 }
407
408 /**
409 * @tc.name: PrintServiceStubTest_0016
410 * @tc.desc: Verify the capability function.
411 * @tc.type: FUNC
412 * @tc.require:
413 */
414 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0016, TestSize.Level1)
415 {
416 MessageParcel data;
417 MessageParcel reply;
418 MessageOption option(MessageOption::TF_SYNC);
419 uint32_t code = static_cast<uint32_t>(CMD_ADDPRINTERS);
420
421 uint32_t testSize = 1001;
422
423 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
424 EXPECT_TRUE(data.WriteUint32(testSize));
425
426 auto stub = std::make_shared<MockPrintService>();
427 EXPECT_NE(stub, nullptr);
428 ON_CALL(*stub, AddPrinters).WillByDefault(Return(E_PRINT_NONE));
429 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
430 }
431
432 /**
433 * @tc.name: PrintServiceStubTest_0017
434 * @tc.desc: Verify the capability function.
435 * @tc.type: FUNC
436 * @tc.require:
437 */
438 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0017, TestSize.Level1)
439 {
440 MessageParcel data;
441 MessageParcel reply;
442 MessageOption option(MessageOption::TF_SYNC);
443 uint32_t code = static_cast<uint32_t>(CMD_ADDPRINTERS);
444
445
446 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
447 EXPECT_TRUE(data.WriteUint32(0));
448
449 auto stub = std::make_shared<MockPrintService>();
450 EXPECT_NE(stub, nullptr);
451 ON_CALL(*stub, AddPrinters).WillByDefault(Return(E_PRINT_NONE));
452 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
453 }
454
455 /**
456 * @tc.name: PrintServiceStubTest_0018
457 * @tc.desc: Verify the capability function.
458 * @tc.type: FUNC
459 * @tc.require:
460 */
461 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0018, TestSize.Level1)
462 {
463 MessageParcel data;
464 MessageParcel reply;
465 MessageOption option(MessageOption::TF_SYNC);
466 uint32_t code = static_cast<uint32_t>(CMD_ADDPRINTERS);
467
468 PrinterInfo testInfo;
469 std::string testPrinterId = "com.sample.ext:1";
470 testInfo.SetPrinterId(testPrinterId);
471 std::vector<PrinterInfo> printerInfos;
472 printerInfos.emplace_back(testInfo);
473
474 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
475 EXPECT_TRUE(data.WriteUint32(static_cast<uint32_t>(printerInfos.size())));
476 for (size_t index = 0; index < printerInfos.size(); index++) {
477 printerInfos[index].Marshalling(data);
478 }
479
480 auto stub = std::make_shared<MockPrintService>();
481 EXPECT_NE(stub, nullptr);
482 ON_CALL(*stub, AddPrinters).WillByDefault(Return(E_PRINT_NONE));
483 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
484 }
485
486 /**
487 * @tc.name: PrintServiceStubTest_0019
488 * @tc.desc: Verify the capability function.
489 * @tc.type: FUNC
490 * @tc.require:
491 */
492 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0019, TestSize.Level1)
493 {
494 MessageParcel data;
495 MessageParcel reply;
496 MessageOption option(MessageOption::TF_SYNC);
497 uint32_t code = static_cast<uint32_t>(CMD_REMOVEPRINTERS);
498
499 std::vector<std::string> printerIds;
500 printerIds.resize(1001);
501
502 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
503 EXPECT_TRUE(data.WriteStringVector(printerIds));
504
505 auto stub = std::make_shared<MockPrintService>();
506 EXPECT_NE(stub, nullptr);
507 ON_CALL(*stub, RemovePrinters).WillByDefault(Return(E_PRINT_NONE));
508 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
509 }
510
511 /**
512 * @tc.name: PrintServiceStubTest_0020
513 * @tc.desc: Verify the capability function.
514 * @tc.type: FUNC
515 * @tc.require:
516 */
517 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0020, TestSize.Level1)
518 {
519 MessageParcel data;
520 MessageParcel reply;
521 MessageOption option(MessageOption::TF_SYNC);
522 uint32_t code = static_cast<uint32_t>(CMD_REMOVEPRINTERS);
523
524 std::string testPrinterId = "com.sample.ext:1";
525 std::vector<std::string> printerIds;
526 printerIds.emplace_back(testPrinterId);
527
528 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
529 EXPECT_TRUE(data.WriteStringVector(printerIds));
530
531 auto stub = std::make_shared<MockPrintService>();
532 EXPECT_NE(stub, nullptr);
533 ON_CALL(*stub, RemovePrinters).WillByDefault(Return(E_PRINT_NONE));
534 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
535 }
536
537 /**
538 * @tc.name: PrintServiceStubTest_0021
539 * @tc.desc: Verify the capability function.
540 * @tc.type: FUNC
541 * @tc.require:
542 */
543 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0021, TestSize.Level1)
544 {
545 MessageParcel data;
546 MessageParcel reply;
547 MessageOption option(MessageOption::TF_SYNC);
548 uint32_t code = static_cast<uint32_t>(CMD_UPDATEPRINTERS);
549
550 uint32_t testSize = 1001;
551
552 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
553 EXPECT_TRUE(data.WriteUint32(testSize));
554
555 auto stub = std::make_shared<MockPrintService>();
556 EXPECT_NE(stub, nullptr);
557 ON_CALL(*stub, UpdatePrinters).WillByDefault(Return(E_PRINT_NONE));
558 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
559 }
560
561 /**
562 * @tc.name: PrintServiceStubTest_0022
563 * @tc.desc: Verify the capability function.
564 * @tc.type: FUNC
565 * @tc.require:
566 */
567 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0022, TestSize.Level1)
568 {
569 MessageParcel data;
570 MessageParcel reply;
571 MessageOption option(MessageOption::TF_SYNC);
572 uint32_t code = static_cast<uint32_t>(CMD_UPDATEPRINTERS);
573
574
575 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
576 EXPECT_TRUE(data.WriteUint32(0));
577
578 auto stub = std::make_shared<MockPrintService>();
579 EXPECT_NE(stub, nullptr);
580 ON_CALL(*stub, UpdatePrinters).WillByDefault(Return(E_PRINT_NONE));
581 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
582 }
583
584 /**
585 * @tc.name: PrintServiceStubTest_0023
586 * @tc.desc: Verify the capability function.
587 * @tc.type: FUNC
588 * @tc.require:
589 */
590 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0023, TestSize.Level1)
591 {
592 MessageParcel data;
593 MessageParcel reply;
594 MessageOption option(MessageOption::TF_SYNC);
595 uint32_t code = static_cast<uint32_t>(CMD_UPDATEPRINTERS);
596
597 PrinterInfo testInfo;
598 std::string testPrinterId = "com.sample.ext:1";
599 testInfo.SetPrinterId(testPrinterId);
600 std::vector<PrinterInfo> printerInfos;
601 printerInfos.emplace_back(testInfo);
602
603 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
604 EXPECT_TRUE(data.WriteUint32(static_cast<uint32_t>(printerInfos.size())));
605 for (size_t index = 0; index < printerInfos.size(); index++) {
606 printerInfos[index].Marshalling(data);
607 }
608
609 auto stub = std::make_shared<MockPrintService>();
610 EXPECT_NE(stub, nullptr);
611 ON_CALL(*stub, UpdatePrinters).WillByDefault(Return(E_PRINT_NONE));
612 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
613 }
614
615 /**
616 * @tc.name: PrintServiceStubTest_0025
617 * @tc.desc: Verify the capability function.
618 * @tc.type: FUNC
619 * @tc.require:
620 */
621 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0025, TestSize.Level1)
622 {
623 MessageParcel data;
624 MessageParcel reply;
625 MessageOption option(MessageOption::TF_SYNC);
626 uint32_t code = static_cast<uint32_t>(CMD_UPDATEPRINTERSTATE);
627
628 std::string testPrinterId = "com.sample.ext:1";
629 uint32_t testState = static_cast<uint32_t>(PRINTER_ADDED);
630
631 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
632 EXPECT_TRUE(data.WriteString(testPrinterId));
633 EXPECT_TRUE(data.WriteUint32(testState));
634
635 auto stub = std::make_shared<MockPrintService>();
636 EXPECT_NE(stub, nullptr);
637 ON_CALL(*stub, UpdatePrinterState).WillByDefault(Return(E_PRINT_NONE));
638 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
639 }
640
641 /**
642 * @tc.name: PrintServiceStubTest_0026
643 * @tc.desc: Verify the capability function.
644 * @tc.type: FUNC
645 * @tc.require:
646 */
647 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0026, TestSize.Level1)
648 {
649 MessageParcel data;
650 MessageParcel reply;
651 MessageOption option(MessageOption::TF_SYNC);
652 uint32_t code = static_cast<uint32_t>(CMD_UPDATEPRINTJOBSTATE_FORNORMALAPP);
653
654 std::string testJobId = "jodId:1234";
655 uint32_t testState = static_cast<uint32_t>(PRINT_JOB_COMPLETED);
656 uint32_t testSubState = static_cast<uint32_t>(PRINT_JOB_COMPLETED_SUCCESS);
657
658 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
659 EXPECT_TRUE(data.WriteString(testJobId));
660 EXPECT_TRUE(data.WriteUint32(testState));
661 EXPECT_TRUE(data.WriteUint32(testSubState));
662
663 auto stub = std::make_shared<MockPrintService>();
664 EXPECT_NE(stub, nullptr);
665 ON_CALL(*stub, UpdatePrintJobStateOnlyForSystemApp).WillByDefault(Return(E_PRINT_NONE));
666 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
667 }
668
669 /**
670 * @tc.name: PrintServiceStubTest_0027
671 * @tc.desc: Verify the capability function.
672 * @tc.type: FUNC
673 * @tc.require:
674 */
675 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0027, TestSize.Level1)
676 {
677 MessageParcel data;
678 MessageParcel reply;
679 MessageOption option(MessageOption::TF_SYNC);
680 uint32_t code = static_cast<uint32_t>(CMD_UPDATEEXTENSIONINFO);
681
682 std::string testExtInfo = "extinformation";
683
684 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
685 EXPECT_TRUE(data.WriteString(testExtInfo));
686
687 auto stub = std::make_shared<MockPrintService>();
688 EXPECT_NE(stub, nullptr);
689 ON_CALL(*stub, UpdateExtensionInfo).WillByDefault(Return(E_PRINT_NONE));
690 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
691 }
692
693 /**
694 * @tc.name: PrintServiceStubTest_0028
695 * @tc.desc: Verify the capability function.
696 * @tc.type: FUNC
697 * @tc.require:
698 */
699 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0028, TestSize.Level1)
700 {
701 MessageParcel data;
702 MessageParcel reply;
703 MessageOption option(MessageOption::TF_SYNC);
704 uint32_t code = static_cast<uint32_t>(CMD_REQUESTPREVIEW);
705
706 PrintJob testJob;
707 std::string jobId = "job:1234";
708 testJob.SetJobId(jobId);
709
710 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
711 EXPECT_TRUE(testJob.Marshalling(data));
712
713 auto stub = std::make_shared<MockPrintService>();
714 EXPECT_NE(stub, nullptr);
715 ON_CALL(*stub, RequestPreview).WillByDefault(Return(E_PRINT_NONE));
716 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
717 }
718
719 /**
720 * @tc.name: PrintServiceStubTest_0029
721 * @tc.desc: Verify the capability function.
722 * @tc.type: FUNC
723 * @tc.require:
724 */
725 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0029, TestSize.Level1)
726 {
727 MessageParcel data;
728 MessageParcel reply;
729 MessageOption option(MessageOption::TF_SYNC);
730 uint32_t code = static_cast<uint32_t>(CMD_QUERYPRINTERCAPABILITY);
731
732 std::string testPrinterId = "com.sample.ext:1";
733
734 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
735 EXPECT_TRUE(data.WriteString(testPrinterId));
736
737 auto stub = std::make_shared<MockPrintService>();
738 EXPECT_NE(stub, nullptr);
739 ON_CALL(*stub, QueryPrinterCapability).WillByDefault(Return(E_PRINT_NONE));
740 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
741 }
742
743 /**
744 * @tc.name: PrintServiceStubTest_0030
745 * @tc.desc: Verify the capability function.
746 * @tc.type: FUNC
747 * @tc.require:
748 */
749 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0030, TestSize.Level1)
750 {
751 MessageParcel data;
752 MessageParcel reply;
753 MessageOption option(MessageOption::TF_SYNC);
754 uint32_t code = static_cast<uint32_t>(CMD_QUERYALLPRINTJOB);
755
756 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
757
758 auto stub = std::make_shared<MockPrintService>();
759 EXPECT_NE(stub, nullptr);
760 ON_CALL(*stub, QueryAllPrintJob).WillByDefault(Return(E_PRINT_NONE));
761 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
762 }
763
764 /**
765 * @tc.name: PrintServiceStubTest_0031
766 * @tc.desc: Verify the capability function.
767 * @tc.type: FUNC
768 * @tc.require:
769 */
770 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0031, TestSize.Level1)
771 {
772 MessageParcel data;
773 MessageParcel reply;
774 MessageOption option(MessageOption::TF_SYNC);
775 uint32_t code = static_cast<uint32_t>(CMD_QUERYPRINTJOBBYID);
776
777 std::string jobId = "job:1234";
778 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
779 EXPECT_TRUE(data.WriteString(jobId));
780
781 auto stub = std::make_shared<MockPrintService>();
782 EXPECT_NE(stub, nullptr);
783 ON_CALL(*stub, QueryPrintJobById).WillByDefault(Return(E_PRINT_NONE));
784 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
785 }
786
787 /**
788 * @tc.name: PrintServiceStubTest_0032
789 * @tc.desc: Verify the capability function.
790 * @tc.type: FUNC
791 * @tc.require:
792 */
793 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0032, TestSize.Level1)
794 {
795 MessageParcel data;
796 MessageParcel reply;
797 MessageOption option(MessageOption::TF_SYNC);
798 uint32_t code = static_cast<uint32_t>(CMD_ON);
799
800 std::string taskId = "1234";
801 std::string testType = "";
802 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
803 EXPECT_TRUE(data.WriteString(taskId));
804 EXPECT_TRUE(data.WriteString(testType));
805
806 auto stub = std::make_shared<MockPrintService>();
807 EXPECT_NE(stub, nullptr);
808 ON_CALL(*stub, On).WillByDefault(Return(E_PRINT_NONE));
809 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
810 }
811
812 /**
813 * @tc.name: PrintServiceStubTest_0033
814 * @tc.desc: Verify the capability function.
815 * @tc.type: FUNC
816 * @tc.require:
817 */
818 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0033, TestSize.Level1)
819 {
820 MessageParcel data;
821 MessageParcel reply;
822 MessageOption option(MessageOption::TF_SYNC);
823 uint32_t code = static_cast<uint32_t>(CMD_ON);
824
825 std::string taskId = "1234";
826 std::string testType = "block";
827 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
828 EXPECT_TRUE(data.WriteString(taskId));
829 EXPECT_TRUE(data.WriteString(testType));
830
831 auto stub = std::make_shared<MockPrintService>();
832 EXPECT_NE(stub, nullptr);
833 ON_CALL(*stub, On).WillByDefault(Return(E_PRINT_NONE));
834 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
835 }
836
837 /**
838 * @tc.name: PrintServiceStubTest_0034
839 * @tc.desc: Verify the capability function.
840 * @tc.type: FUNC
841 * @tc.require:
842 */
843 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0034, TestSize.Level1)
844 {
845 MessageParcel data;
846 MessageParcel reply;
847 MessageOption option(MessageOption::TF_SYNC);
848 uint32_t code = static_cast<uint32_t>(CMD_ON);
849
850 std::string taskId = "1234";
851 std::string testType = "block";
852 auto callback = std::make_shared<PrintExtensionCallbackStub>();
853 EXPECT_NE(callback, nullptr);
854 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
855 EXPECT_TRUE(data.WriteString(taskId));
856 EXPECT_TRUE(data.WriteString(testType));
857 EXPECT_TRUE(data.WriteRemoteObject(callback->AsObject().GetRefPtr()));
858
859 auto stub = std::make_shared<MockPrintService>();
860 EXPECT_NE(stub, nullptr);
861 ON_CALL(*stub, On).WillByDefault(Return(E_PRINT_NONE));
862 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
863 }
864
865 /**
866 * @tc.name: PrintServiceStubTest_0035
867 * @tc.desc: Verify the capability function.
868 * @tc.type: FUNC
869 * @tc.require:
870 */
871 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0035, TestSize.Level1)
872 {
873 MessageParcel data;
874 MessageParcel reply;
875 MessageOption option(MessageOption::TF_SYNC);
876 uint32_t code = static_cast<uint32_t>(CMD_ON);
877
878 std::string taskId = "1234";
879 std::string testType = "block";
880 auto callback = std::make_shared<DummyPrintServiceStub>();
881 EXPECT_NE(callback, nullptr);
882 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
883 EXPECT_TRUE(data.WriteString(taskId));
884 EXPECT_TRUE(data.WriteString(testType));
885 EXPECT_TRUE(data.WriteRemoteObject(callback->AsObject().GetRefPtr()));
886
887 auto stub = std::make_shared<MockPrintService>();
888 EXPECT_NE(stub, nullptr);
889 ON_CALL(*stub, On).WillByDefault(Return(E_PRINT_NONE));
890 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
891 }
892
893 /**
894 * @tc.name: PrintServiceStubTest_0036
895 * @tc.desc: Verify the capability function.
896 * @tc.type: FUNC
897 * @tc.require:
898 */
899 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0036, TestSize.Level1)
900 {
901 MessageParcel data;
902 MessageParcel reply;
903 MessageOption option(MessageOption::TF_SYNC);
904 uint32_t code = static_cast<uint32_t>(CMD_OFF);
905
906 std::string taskId = "1234";
907 std::string testType = "block";
908 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
909 EXPECT_TRUE(data.WriteString(taskId));
910 EXPECT_TRUE(data.WriteString(testType));
911
912 auto stub = std::make_shared<MockPrintService>();
913 EXPECT_NE(stub, nullptr);
914 ON_CALL(*stub, Off).WillByDefault(Return(E_PRINT_NONE));
915 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
916 }
917
918 /**
919 * @tc.name: PrintServiceStubTest_0037
920 * @tc.desc: Verify the capability function.
921 * @tc.type: FUNC
922 * @tc.require:
923 */
924 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0037, TestSize.Level1)
925 {
926 MessageParcel data;
927 MessageParcel reply;
928 MessageOption option(MessageOption::TF_SYNC);
929 uint32_t code = static_cast<uint32_t>(CMD_REG_EXT_CB);
930
931 std::string extensionCid = "com.exmpale.ext:1234";
932 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
933 EXPECT_TRUE(data.WriteString(extensionCid));
934
935 auto stub = std::make_shared<MockPrintService>();
936 EXPECT_NE(stub, nullptr);
937 ON_CALL(*stub, RegisterExtCallback).WillByDefault(Return(E_PRINT_NONE));
938 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
939 }
940
941 /**
942 * @tc.name: PrintServiceStubTest_0038
943 * @tc.desc: Verify the capability function.
944 * @tc.type: FUNC
945 * @tc.require:
946 */
947 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0038, TestSize.Level1)
948 {
949 MessageParcel data;
950 MessageParcel reply;
951 MessageOption option(MessageOption::TF_SYNC);
952 uint32_t code = static_cast<uint32_t>(CMD_REG_EXT_CB);
953
954 std::string extensionCid = "com.exmpale.ext:1234";
955 auto callback = std::make_shared<DummyPrintServiceStub>();
956 EXPECT_NE(callback, nullptr);
957 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
958 EXPECT_TRUE(data.WriteString(extensionCid));
959 EXPECT_TRUE(data.WriteRemoteObject(callback->AsObject().GetRefPtr()));
960
961 auto stub = std::make_shared<MockPrintService>();
962 EXPECT_NE(stub, nullptr);
963 ON_CALL(*stub, RegisterExtCallback).WillByDefault(Return(E_PRINT_NONE));
964 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
965 }
966
967 /**
968 * @tc.name: PrintServiceStubTest_0039
969 * @tc.desc: Verify the capability function.
970 * @tc.type: FUNC
971 * @tc.require:
972 */
973 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0039, TestSize.Level1)
974 {
975 MessageParcel data;
976 MessageParcel reply;
977 MessageOption option(MessageOption::TF_SYNC);
978 uint32_t code = static_cast<uint32_t>(CMD_REG_EXT_CB);
979
980 std::string extensionCid = "com.exmpale.ext:1";
981 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
982 EXPECT_TRUE(data.WriteString(extensionCid));
983
984 auto stub = std::make_shared<MockPrintService>();
985 EXPECT_NE(stub, nullptr);
986 ON_CALL(*stub, UnregisterAllExtCallback).WillByDefault(Return(E_PRINT_NONE));
987 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
988 }
989
990 /**
991 * @tc.name: PrintServiceStubTest_0040
992 * @tc.desc: Verify the capability function.
993 * @tc.type: FUNC
994 * @tc.require:
995 */
996 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0040, TestSize.Level1)
997 {
998 MessageParcel data;
999 MessageParcel reply;
1000 MessageOption option(MessageOption::TF_SYNC);
1001 uint32_t code = static_cast<uint32_t>(CMD_REG_EXT_CB);
1002
1003 std::string extensionId = "com.exmpale.ext";
1004 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1005 EXPECT_TRUE(data.WriteString(extensionId));
1006
1007 auto stub = std::make_shared<MockPrintService>();
1008 EXPECT_NE(stub, nullptr);
1009 ON_CALL(*stub, LoadExtSuccess).WillByDefault(Return(E_PRINT_NONE));
1010 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1011 }
1012
1013 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0041, TestSize.Level1)
1014 {
1015 MessageParcel data;
1016 MessageParcel reply;
1017 MessageOption option(MessageOption::TF_SYNC);
1018 uint32_t code = static_cast<uint32_t>(CMD_UNREG_EXT_CB);
1019
1020 std::string extensionId = "com.exmpale.ext";
1021 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1022 EXPECT_TRUE(data.WriteString(extensionId));
1023
1024 auto stub = std::make_shared<MockPrintService>();
1025 EXPECT_NE(stub, nullptr);
1026 ON_CALL(*stub, UnregisterAllExtCallback).WillByDefault(Return(E_PRINT_NONE));
1027 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1028 }
1029
1030 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0042, TestSize.Level1)
1031 {
1032 MessageParcel addData;
1033 MessageParcel addReply;
1034 MessageOption option(MessageOption::TF_SYNC);
1035 uint32_t addCode = static_cast<uint32_t>(CMD_ADDPRINTERTOCUPS);
1036
1037 std::string printerUri = "ipp://192.168.186.1:631/ipp/print";
1038 std::string printerName = "DIRECT-PixLab_V1-1620";
1039 std::string printerMake = "PixLab V1 - IPP Everywhere";
1040 EXPECT_TRUE(addData.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1041 EXPECT_TRUE(addData.WriteString(printerUri));
1042 EXPECT_TRUE(addData.WriteString(printerName));
1043 EXPECT_TRUE(addData.WriteString(printerMake));
1044
1045 auto stub = std::make_shared<MockPrintService>();
1046 EXPECT_NE(stub, nullptr);
1047 ON_CALL(*stub, AddPrinterToCups).WillByDefault(Return(E_PRINT_NONE));
1048 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(addCode, addData, addReply, option)));
1049
1050 MessageParcel delData;
1051 MessageParcel delReply;
1052 uint32_t delCode = static_cast<uint32_t>(CMD_DELETE_PRINTER_FROM_CUPS);
1053
1054 EXPECT_TRUE(delData.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1055 EXPECT_TRUE(delData.WriteString(printerName));
1056
1057 ON_CALL(*stub, DeletePrinterFromCups).WillByDefault(Return(E_PRINT_NONE));
1058 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(delCode, delData, delReply, option)));
1059 }
1060
1061 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0043, TestSize.Level1)
1062 {
1063 MessageParcel data;
1064 MessageParcel reply;
1065 MessageOption option(MessageOption::TF_SYNC);
1066 uint32_t code = static_cast<uint32_t>(CMD_QUERYPRINTERCAPABILITYBYURI);
1067
1068 std::string printerUri = "ipp://192.168.186.1:631/ipp/print";
1069 std::string printerId = "com.ohos.spooler:p2p://DIRECT-PixLab_V1-1620";
1070
1071 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1072 EXPECT_TRUE(data.WriteString(printerUri));
1073 EXPECT_TRUE(data.WriteString(printerId));
1074
1075 auto stub = std::make_shared<MockPrintService>();
1076 EXPECT_NE(stub, nullptr);
1077 ON_CALL(*stub, QueryPrinterCapabilityByUri).WillByDefault(Return(E_PRINT_NONE));
1078 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1079 }
1080
1081 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0044, TestSize.Level1)
1082 {
1083 MessageParcel data;
1084 MessageParcel reply;
1085 MessageOption option(MessageOption::TF_SYNC);
1086 uint32_t code = static_cast<uint32_t>(CMD_STARTPRINTJOB_BY_ADAPTER);
1087
1088 std::string jobName = "com.exmpale.ext";
1089 PrintAttributes attr;
1090
1091 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1092 EXPECT_TRUE(data.WriteString(jobName));
1093
1094 auto stub = std::make_shared<MockPrintService>();
1095 EXPECT_NE(stub, nullptr);
1096 ON_CALL(*stub, PrintByAdapter).WillByDefault(Return(E_PRINT_NONE));
1097 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1098 }
1099
1100 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0045, TestSize.Level1)
1101 {
1102 MessageParcel data;
1103 MessageParcel reply;
1104 MessageOption option(MessageOption::TF_SYNC);
1105 uint32_t code = static_cast<uint32_t>(CMD_START_GET_FILE);
1106
1107 std::string jobId = "1";
1108 PrintAttributes attr;
1109 uint32_t fd = 56;
1110 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1111 EXPECT_TRUE(data.WriteString(jobId));
1112 EXPECT_TRUE(data.WriteUint32(fd));
1113
1114 auto stub = std::make_shared<MockPrintService>();
1115 EXPECT_NE(stub, nullptr);
1116 ON_CALL(*stub, StartGetPrintFile).WillByDefault(Return(E_PRINT_NONE));
1117 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1118 }
1119
1120 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0046, TestSize.Level1)
1121 {
1122 MessageParcel data;
1123 MessageParcel reply;
1124 MessageOption option(MessageOption::TF_SYNC);
1125 uint32_t code = static_cast<uint32_t>(CMD_NOTIFY_PRINT_SERVICE);
1126
1127 std::string jobId = "";
1128 std::string type = "";
1129 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1130 EXPECT_TRUE(data.WriteString(jobId));
1131 EXPECT_TRUE(data.WriteString(type));
1132
1133 auto stub = std::make_shared<MockPrintService>();
1134 EXPECT_NE(stub, nullptr);
1135 ON_CALL(*stub, NotifyPrintService).WillByDefault(Return(E_PRINT_NONE));
1136 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1137 }
1138
1139 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0047, TestSize.Level1)
1140 {
1141 MessageParcel data;
1142 MessageParcel reply;
1143 MessageOption option(MessageOption::TF_SYNC);
1144 uint32_t code = static_cast<uint32_t>(CMD_START_NATIVE_PRINT);
1145
1146 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1147
1148 auto stub = std::make_shared<MockPrintService>();
1149 EXPECT_NE(stub, nullptr);
1150 ON_CALL(*stub, StartPrint).WillByDefault(Return(E_PRINT_NONE));
1151 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1152 }
1153
1154 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0048, TestSize.Level1)
1155 {
1156 MessageParcel data;
1157 MessageParcel reply;
1158 MessageOption option(MessageOption::TF_SYNC);
1159 uint32_t code = static_cast<uint32_t>(CMD_START_SERVICE);
1160
1161 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1162
1163 auto stub = std::make_shared<MockPrintService>();
1164 EXPECT_NE(stub, nullptr);
1165 ON_CALL(*stub, StartService).WillByDefault(Return(E_PRINT_NONE));
1166 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1167 }
1168
1169 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0049, TestSize.Level1)
1170 {
1171 MessageParcel data;
1172 MessageParcel reply;
1173 MessageOption option(MessageOption::TF_SYNC);
1174 uint32_t code = static_cast<uint32_t>(CMD_REG_PRINTER_CB);
1175
1176 std::string type = "";
1177 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1178 EXPECT_TRUE(data.WriteString(type));
1179
1180 auto stub = std::make_shared<MockPrintService>();
1181 EXPECT_NE(stub, nullptr);
1182 ON_CALL(*stub, RegisterPrinterCallback).WillByDefault(Return(E_PRINT_NONE));
1183 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1184 }
1185
1186 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0050, TestSize.Level1)
1187 {
1188 MessageParcel data;
1189 MessageParcel reply;
1190 MessageOption option(MessageOption::TF_SYNC);
1191 uint32_t code = static_cast<uint32_t>(CMD_UNREG_PRINTER_CB);
1192
1193 std::string type = "";
1194 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1195 EXPECT_TRUE(data.WriteString(type));
1196
1197 auto stub = std::make_shared<MockPrintService>();
1198 EXPECT_NE(stub, nullptr);
1199 ON_CALL(*stub, UnregisterPrinterCallback).WillByDefault(Return(E_PRINT_NONE));
1200 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1201 }
1202
1203 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0051, TestSize.Level1)
1204 {
1205 MessageParcel data;
1206 MessageParcel reply;
1207 MessageOption option(MessageOption::TF_SYNC);
1208 uint32_t code = static_cast<uint32_t>(CMD_QUERYPRINTERINFOBYPRINTERID);
1209
1210 std::string printerId = "com.ohos.spooler:p2p://DIRECT-PixLab_V1-1620";
1211 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1212 EXPECT_TRUE(data.WriteString(printerId));
1213
1214 auto stub = std::make_shared<MockPrintService>();
1215 EXPECT_NE(stub, nullptr);
1216 ON_CALL(*stub, QueryPrinterInfoByPrinterId).WillByDefault(Return(E_PRINT_NONE));
1217 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1218 }
1219
1220 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0052, TestSize.Level1)
1221 {
1222 MessageParcel data;
1223 MessageParcel reply;
1224 MessageOption option(MessageOption::TF_SYNC);
1225 uint32_t code = static_cast<uint32_t>(CMD_QUERYADDEDPRINTER);
1226
1227 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1228
1229 auto stub = std::make_shared<MockPrintService>();
1230 EXPECT_NE(stub, nullptr);
1231 ON_CALL(*stub, QueryAddedPrinter).WillByDefault(Return(E_PRINT_NONE));
1232 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1233 }
1234
1235 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0053, TestSize.Level1)
1236 {
1237 MessageParcel data;
1238 MessageParcel reply;
1239 MessageOption option(MessageOption::TF_SYNC);
1240 uint32_t code = static_cast<uint32_t>(CMD_QUERYPRINTERPROPERTIES);
1241
1242 std::string printerId = "com.ohos.spooler:p2p://DIRECT-PixLab_V1-1620";
1243 std::vector<std::string> keyList;
1244 keyList.resize(1001);
1245 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1246 EXPECT_TRUE(data.WriteString(printerId));
1247 EXPECT_TRUE(data.WriteStringVector(keyList));
1248
1249 auto stub = std::make_shared<MockPrintService>();
1250 EXPECT_NE(stub, nullptr);
1251 ON_CALL(*stub, QueryPrinterProperties).WillByDefault(Return(E_PRINT_NONE));
1252 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1253 }
1254
1255 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0054, TestSize.Level1)
1256 {
1257 MessageParcel data;
1258 MessageParcel reply;
1259 MessageOption option(MessageOption::TF_SYNC);
1260 uint32_t code = static_cast<uint32_t>(CMD_STARTNATIVEPRINTJOB);
1261
1262 PrintJob testJob;
1263 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1264 EXPECT_TRUE(testJob.Marshalling(data));
1265
1266 auto stub = std::make_shared<MockPrintService>();
1267 EXPECT_NE(stub, nullptr);
1268 ON_CALL(*stub, StartNativePrintJob).WillByDefault(Return(E_PRINT_NONE));
1269 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1270 }
1271
1272 /**
1273 * @tc.name: PrintServiceStubTest_0055
1274 * @tc.desc: Verify the capability function.
1275 * @tc.type: FUNC
1276 * @tc.require:
1277 */
1278 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0055, TestSize.Level1)
1279 {
1280 MessageParcel data;
1281 MessageParcel reply;
1282 MessageOption option(MessageOption::TF_SYNC);
1283 uint32_t code = static_cast<uint32_t>(CMD_START_SERVICE);
1284 data.WriteString("nativePrint");
1285 auto stub = std::make_shared<MockPrintService>();
1286 EXPECT_NE(stub, nullptr);
1287 EXPECT_EQ(stub->OnRemoteRequest(code, data, reply, option), E_PRINT_RPC_FAILURE);
1288 }
1289
1290 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0056, TestSize.Level1)
1291 {
1292 MessageParcel data;
1293 MessageParcel reply;
1294 MessageOption option(MessageOption::TF_SYNC);
1295 uint32_t code = static_cast<uint32_t>(CMD_LOAD_EXT);
1296
1297 std::string extensionId = "com.sample.ext";
1298 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1299 EXPECT_TRUE(data.WriteStringVector(extensionId));
1300
1301 auto stub = std::make_shared<MockPrintService>();
1302 EXPECT_NE(stub, nullptr);
1303 ON_CALL(*stub, LoadExtSuccess).WillByDefault(Return(E_PRINT_NONE));
1304 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1305 }
1306
1307 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0057, TestSize.Level1)
1308 {
1309 MessageParcel setData;
1310 MessageParcel setReply;
1311 MessageOption option(MessageOption::TF_SYNC);
1312 uint32_t setCode = static_cast<uint32_t>(CMD_SET_PRINTER_PREFERENCE);
1313
1314 std::string printerId = "com.ohos.spooler:p2p://DIRECT-PixLab_V1-1620";
1315 std::string printerSetting = R"({"pagesizeId":"","orientation":"","duplex":"","quality":""})";
1316 EXPECT_TRUE(setData.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1317 EXPECT_TRUE(setData.WriteString(printerId));
1318 EXPECT_TRUE(setData.WriteString(printerSetting));
1319
1320 auto stub = std::make_shared<MockPrintService>();
1321 EXPECT_NE(stub, nullptr);
1322 ON_CALL(*stub, SetPrinterPreference).WillByDefault(Return(E_PRINT_NONE));
1323 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(setCode, setData, setReply, option)));
1324
1325 MessageParcel getData;
1326 MessageParcel getReply;
1327 uint32_t getCode = static_cast<uint32_t>(CMD_GET_PRINTER_PREFERENCE);
1328
1329 EXPECT_TRUE(getData.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1330 EXPECT_TRUE(getData.WriteString(printerId));
1331
1332 ON_CALL(*stub, GetPrinterPreference).WillByDefault(Return(E_PRINT_NONE));
1333 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(getCode, getData, getReply, option)));
1334 }
1335
1336 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0058, TestSize.Level1)
1337 {
1338 MessageParcel data;
1339 MessageParcel reply;
1340 MessageOption option(MessageOption::TF_SYNC);
1341 uint32_t code = static_cast<uint32_t>(CMD_SET_DEFAULT_PRINTERID);
1342
1343 std::string printerId = "com.ohos.spooler:p2p://DIRECT-PixLab_V1-1620";
1344 uint32_t type = 2;
1345 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1346 EXPECT_TRUE(data.WriteString(printerId));
1347 EXPECT_TRUE(data.WriteUint32(type));
1348
1349 auto stub = std::make_shared<MockPrintService>();
1350 EXPECT_NE(stub, nullptr);
1351 ON_CALL(*stub, SetDefaultPrinter).WillByDefault(Return(E_PRINT_NONE));
1352 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1353 }
1354
1355 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0059, TestSize.Level1)
1356 {
1357 MessageParcel data;
1358 MessageParcel reply;
1359 MessageOption option(MessageOption::TF_SYNC);
1360 uint32_t code = static_cast<uint32_t>(CMD_DISCOVER_USB_PRINTERS);
1361
1362 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1363
1364 auto stub = std::make_shared<MockPrintService>();
1365 EXPECT_NE(stub, nullptr);
1366 ON_CALL(*stub, DiscoverUsbPrinters).WillByDefault(Return(E_PRINT_NONE));
1367 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1368 }
1369
1370
1371 /**
1372 * @tc.name: PrintServiceStubTest_0060
1373 * @tc.desc: Verify the capability function.
1374 * @tc.type: FUNC
1375 * @tc.require:
1376 */
1377 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0060, TestSize.Level1)
1378 {
1379 MessageParcel data;
1380 MessageParcel reply;
1381 MessageOption option(MessageOption::TF_SYNC);
1382 uint32_t code = static_cast<uint32_t>(CMD_ADDPRINTERTODISCOVERY);
1383
1384 PrinterInfo testInfo;
1385 std::string testPrinterId = "com.sample.ext:1";
1386 testInfo.SetPrinterId(testPrinterId);
1387
1388 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1389 testInfo.Marshalling(data);
1390
1391 auto stub = std::make_shared<MockPrintService>();
1392 EXPECT_NE(stub, nullptr);
1393 ON_CALL(*stub, AddPrinterToDiscovery).WillByDefault(Return(E_PRINT_NONE));
1394 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1395 }
1396
1397 /**
1398 * @tc.name: PrintServiceStubTest_0061
1399 * @tc.desc: Verify the capability function.
1400 * @tc.type: FUNC
1401 * @tc.require:
1402 */
1403 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0061, TestSize.Level1)
1404 {
1405 MessageParcel data;
1406 MessageParcel reply;
1407 MessageOption option(MessageOption::TF_SYNC);
1408 uint32_t code = static_cast<uint32_t>(CMD_UPDATEPRINTERINDISCOVERY);
1409
1410 PrinterInfo testInfo;
1411 std::string testPrinterId = "com.sample.ext:1";
1412 testInfo.SetPrinterId(testPrinterId);
1413
1414 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1415 testInfo.Marshalling(data);
1416
1417 auto stub = std::make_shared<MockPrintService>();
1418 EXPECT_NE(stub, nullptr);
1419 ON_CALL(*stub, UpdatePrinterInDiscovery).WillByDefault(Return(E_PRINT_NONE));
1420 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1421 }
1422
1423
1424 /**
1425 * @tc.name: PrintServiceStubTest_0062
1426 * @tc.desc: Verify the capability function.
1427 * @tc.type: FUNC
1428 * @tc.require:
1429 */
1430 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0062, TestSize.Level1)
1431 {
1432 MessageParcel data;
1433 MessageParcel reply;
1434 MessageOption option(MessageOption::TF_SYNC);
1435 uint32_t code = static_cast<uint32_t>(CMD_REMOVEPRINTERFROMDISCOVERY);
1436
1437 std::string testPrinterId = "com.sample.ext:1";
1438
1439 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1440 EXPECT_TRUE(data.WriteString(testPrinterId));
1441
1442 auto stub = std::make_shared<MockPrintService>();
1443 EXPECT_NE(stub, nullptr);
1444 ON_CALL(*stub, RemovePrinterFromDiscovery).WillByDefault(Return(E_PRINT_NONE));
1445 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1446 }
1447
1448 /**
1449 * @tc.name: PrintServiceStubTest_0063
1450 * @tc.desc: Verify the capability function.
1451 * @tc.type: FUNC
1452 * @tc.require:
1453 */
1454 HWTEST_F(PrintServiceStubTest, PrintServiceStubTest_0063, TestSize.Level1)
1455 {
1456 MessageParcel data;
1457 MessageParcel reply;
1458 MessageOption option(MessageOption::TF_SYNC);
1459 uint32_t code = static_cast<uint32_t>(CMD_UPDATEPRINTERINSYSTEM);
1460
1461 PrinterInfo testInfo;
1462 std::string testPrinterId = "com.sample.ext:1";
1463 testInfo.SetPrinterId(testPrinterId);
1464
1465 EXPECT_TRUE(data.WriteInterfaceToken(IPrintCallback::GetDescriptor()));
1466 testInfo.Marshalling(data);
1467
1468 auto stub = std::make_shared<MockPrintService>();
1469 EXPECT_NE(stub, nullptr);
1470 ON_CALL(*stub, UpdatePrinterInSystem).WillByDefault(Return(E_PRINT_NONE));
1471 EXPECT_TRUE(static_cast<bool>(stub->OnRemoteRequest(code, data, reply, option)));
1472 }
1473
1474 } // namespace Print
1475 } // namespace OHOS
1476