• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include <gtest/gtest.h>
16 #include "print_extension_callback_stub.h"
17 #include "print_manager_client.h"
18 #include "iremote_broker.h"
19 #include "print_constant.h"
20 #include "print_log.h"
21 #include "print_resolution.h"
22 
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 namespace Print {
27 class PrintExtensionCallbackStubTest : public testing::Test {
28 public:
29     static void SetUpTestCase(void);
30     static void TearDownTestCase(void);
31     void SetUp();
32     void TearDown();
33 };
34 
SetUpTestCase(void)35 void PrintExtensionCallbackStubTest::SetUpTestCase(void) {}
36 
TearDownTestCase(void)37 void PrintExtensionCallbackStubTest::TearDownTestCase(void) {}
38 
SetUp(void)39 void PrintExtensionCallbackStubTest::SetUp(void) {}
40 
TearDown(void)41 void PrintExtensionCallbackStubTest::TearDown(void) {}
42 
43 /**
44  * @tc.name: PrintExtensionCallbackStubTest_0001
45  * @tc.desc: Verify the capability function.
46  * @tc.type: FUNC
47  * @tc.require:
48  */
49 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0001, TestSize.Level1)
50 {
51     MessageParcel data;
52     MessageParcel reply;
53     MessageOption option(MessageOption::TF_SYNC);
54     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB);
55 
56     PrintExtensionCallbackStub callback;
57     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_RPC_FAILURE);
58 }
59 
60 /**
61  * @tc.name: PrintServiceProxyTest_0002
62  * @tc.desc: Verify the capability function.
63  * @tc.type: FUNC
64  * @tc.require:
65  */
66 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0002, TestSize.Level1)
67 {
68     MessageParcel data;
69     MessageParcel reply;
70     MessageOption option(MessageOption::TF_SYNC);
71     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB + 100);
72 
73     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
74     PrintExtensionCallbackStub callback;
75     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), OHOS::IPC_STUB_UNKNOW_TRANS_ERR);
76 }
77 
78 /**
79  * @tc.name: PrintServiceProxyTest_0003
80  * @tc.desc: Verify the capability function.
81  * @tc.type: FUNC
82  * @tc.require:
83  */
84 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0003, TestSize.Level1)
85 {
86     MessageParcel data;
87     MessageParcel reply;
88     MessageOption option(MessageOption::TF_SYNC);
89     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB);
90 
91     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
92     PrintExtensionCallbackStub callback;
93     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_SERVER_FAILURE);
94 }
95 
96 /**
97  * @tc.name: PrintServiceProxyTest_0004
98  * @tc.desc: Verify the capability function.
99  * @tc.type: FUNC
100  * @tc.require:
101  */
102 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0004, TestSize.Level1)
103 {
104     MessageParcel data;
105     MessageParcel reply;
106     MessageOption option(MessageOption::TF_SYNC);
107     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB);
108 
109     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
110     PrintExtensionCallbackStub callback;
__anonaee1148c0102() 111     PrintExtCallback extCb = []() -> bool {
112         return true;
113     };
114     callback.SetExtCallback(extCb);
115     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_NONE);
116 }
117 
118 /**
119  * @tc.name: PrintExtensionCallbackStubTest_0005
120  * @tc.desc: Verify the capability function.
121  * @tc.type: FUNC
122  * @tc.require:
123  */
124 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0005, TestSize.Level1)
125 {
126     MessageParcel data;
127     MessageParcel reply;
128     MessageOption option(MessageOption::TF_SYNC);
129     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB_PRINTJOB);
130 
131     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
132     PrintExtensionCallbackStub callback;
133     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_SERVER_FAILURE);
134 }
135 
136 /**
137  * @tc.name: PrintExtensionCallbackStubTest_0006
138  * @tc.desc: Verify the capability function.
139  * @tc.type: FUNC
140  * @tc.require:
141  */
142 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0006, TestSize.Level1)
143 {
144     MessageParcel data;
145     MessageParcel reply;
146     MessageOption option(MessageOption::TF_SYNC);
147     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB_PRINTJOB);
148 
149     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
150     PrintExtensionCallbackStub callback;
__anonaee1148c0202(const PrintJob&) 151     PrintJobCallback printJobCb = [](const PrintJob&) -> bool {
152         return true;
153     };
154     callback.SetPrintJobCallback(printJobCb);
155     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_NONE);
156 }
157 
158 /**
159  * @tc.name: PrintExtensionCallbackStubTest_0007
160  * @tc.desc: Verify the capability function.
161  * @tc.type: FUNC
162  * @tc.require:
163  */
164 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0007, TestSize.Level1)
165 {
166     MessageParcel data;
167     MessageParcel reply;
168     MessageOption option(MessageOption::TF_SYNC);
169     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB_PRINTER);
170 
171     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
172     PrintExtensionCallbackStub callback;
173     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_SERVER_FAILURE);
174 }
175 
176 /**
177  * @tc.name: PrintExtensionCallbackStubTest_0008
178  * @tc.desc: Verify the capability function.
179  * @tc.type: FUNC
180  * @tc.require:
181  */
182 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0008, TestSize.Level1)
183 {
184     MessageParcel data;
185     MessageParcel reply;
186     MessageOption option(MessageOption::TF_SYNC);
187     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB_PRINTER);
188 
189     std::string testPrinterId = "printerId:1234";
190 
191     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
192     EXPECT_TRUE(data.WriteString(testPrinterId));
193     PrintExtensionCallbackStub callback;
__anonaee1148c0302(const std::string&) 194     PrinterCallback printerCb = [](const std::string&) -> bool {
195         return true;
196     };
197     callback.SetPrinterCallback(printerCb);
198     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_NONE);
199 }
200 
201 /**
202  * @tc.name: PrintExtensionCallbackStubTest_0009
203  * @tc.desc: Verify the capability function.
204  * @tc.type: FUNC
205  * @tc.require:
206  */
207 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0009, TestSize.Level1)
208 {
209     MessageParcel data;
210     MessageParcel reply;
211     MessageOption option(MessageOption::TF_SYNC);
212     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB_PRINTCAPABILITY);
213 
214     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
215     PrintExtensionCallbackStub callback;
216     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_SERVER_FAILURE);
217 }
218 
219 /**
220  * @tc.name: PrintExtensionCallbackStubTest_0010
221  * @tc.desc: Verify the capability function.
222  * @tc.type: FUNC
223  * @tc.require:
224  */
225 HWTEST_F(PrintExtensionCallbackStubTest, PrintExtensionCallbackStubTest_0010, TestSize.Level1)
226 {
227     MessageParcel data;
228     MessageParcel reply;
229     MessageOption option(MessageOption::TF_SYNC);
230     uint32_t code = static_cast<uint32_t>(PRINT_EXTCB_PRINTCAPABILITY);
231     std::string testPrinterId = "printerId:1234";
232     PrinterCapability testCap;
233     testCap.SetColorMode(10);
234 
235     EXPECT_TRUE(data.WriteInterfaceToken(IPrintExtensionCallback::GetDescriptor()));
236     EXPECT_TRUE(data.WriteString(testPrinterId));
237     EXPECT_TRUE(testCap.Marshalling(data));
238 
239     PrintExtensionCallbackStub callback;
__anonaee1148c0402(const std::string &, PrinterCapability &) 240     PrinterCapabilityCallback testCb = [](const std::string &, PrinterCapability &) -> bool {
241         return true;
242     };
243     callback.SetCapabilityCallback(testCb);
244     EXPECT_EQ(callback.OnRemoteRequest(code, data, reply, option), E_PRINT_NONE);
245     auto result = PrinterCapability::Unmarshalling(reply);
246     EXPECT_NE(result, nullptr);
247 }
248 } // namespace Print
249 } // namespace OHOS
250