1 /*
2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "usb_core_test.h"
17 #include <csignal>
18 #include <iostream>
19 #include <string>
20 #include <vector>
21
22 #include "hilog_wrapper.h"
23 #include "if_system_ability_manager.h"
24 #include "ipc_skeleton.h"
25 #include "iservice_registry.h"
26 #include "string_ex.h"
27 #include "system_ability_definition.h"
28 #include "usb_errors.h"
29 #include "usb_srv_client.h"
30 #include "usb_srv_support.h"
31
32 using namespace testing::ext;
33 using namespace OHOS::USB;
34 using namespace OHOS;
35 using namespace std;
36
37 namespace OHOS {
38 namespace USB {
39 namespace Core {
40 constexpr int32_t SLEEP_TIME = 3;
41 constexpr int32_t TEST_PORT_ID = 1;
42 constexpr int32_t TEST_POWER_ROLE = 2;
43 constexpr int32_t TEST_DATAR_ROLE = 2;
SetUpTestCase(void)44 void UsbCoreTest::SetUpTestCase(void)
45 {
46 auto &srvClient = UsbSrvClient::GetInstance();
47 auto ret = srvClient.SetPortRole(TEST_PORT_ID, TEST_POWER_ROLE, TEST_DATAR_ROLE);
48 sleep(SLEEP_TIME);
49 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest:: [Device] SetPortRole=%{public}d", ret);
50 ASSERT_TRUE(ret == 0);
51 if (ret != 0) {
52 exit(0);
53 }
54 USB_HILOGI(MODULE_USB_SERVICE, "Start UsbCoreTest");
55 }
56
TearDownTestCase(void)57 void UsbCoreTest::TearDownTestCase(void)
58 {
59 USB_HILOGI(MODULE_USB_SERVICE, "End UsbCoreTest");
60 }
61
SetUp(void)62 void UsbCoreTest::SetUp(void) {}
63
TearDown(void)64 void UsbCoreTest::TearDown(void) {}
65
66 /**
67 * @tc.name: GetCurrentFunctions001
68 * @tc.desc: Test functions to GetCurrentFunctions()
69 * @tc.type: FUNC
70 */
71 HWTEST_F(UsbCoreTest, GetCurrentFunctions001, TestSize.Level1)
72 {
73 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetCurrentFunctions001 : SetConfig");
74 auto &instance = UsbSrvClient::GetInstance();
75 int32_t funcs = 0;
76 funcs = instance.GetCurrentFunctions(funcs);
77 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::funcs=%{public}d", funcs);
78 ASSERT_TRUE(funcs == 0);
79 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetCurrentFunctions001 : SetConfig");
80 }
81
82 /**
83 * @tc.name: SetCurrentFunctions001
84 * @tc.desc: Test functions to SetCurrentFunctions(int32_t funcs)
85 * @tc.type: FUNC
86 */
87 HWTEST_F(UsbCoreTest, SetCurrentFunctions001, TestSize.Level1)
88 {
89 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetCurrentFunctions001 : SetConfig");
90 auto &instance = UsbSrvClient::GetInstance();
91 int32_t isok = instance.SetCurrentFunctions(1);
92 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::SetCurrentFunctions=%{public}d", isok);
93 ASSERT_TRUE(isok == 0);
94 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetCurrentFunctions001 : SetConfig");
95 }
96
97 /**
98 * @tc.name: SetCurrentFunctions002
99 * @tc.desc: Test functions to SetCurrentFunctions(int32_t funcs)
100 * @tc.type: FUNC
101 */
102 HWTEST_F(UsbCoreTest, SetCurrentFunctions002, TestSize.Level1)
103 {
104 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetCurrentFunctions002 : SetConfig");
105 auto &instance = UsbSrvClient::GetInstance();
106 int32_t isok = instance.SetCurrentFunctions(2);
107 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::SetCurrentFunctions=%{public}d", isok);
108 ASSERT_TRUE(isok == 0);
109 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetCurrentFunctions002 : SetConfig");
110 }
111
112 /**
113 * @tc.name: SetCurrentFunctions003
114 * @tc.desc: Test functions to SetCurrentFunctions(int32_t funcs)
115 * @tc.type: FUNC
116 */
117 HWTEST_F(UsbCoreTest, SetCurrentFunctions003, TestSize.Level1)
118 {
119 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetCurrentFunctions003 : SetConfig");
120 auto &instance = UsbSrvClient::GetInstance();
121 int32_t isok = instance.SetCurrentFunctions(3);
122 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::SetCurrentFunctions=%{public}d", isok);
123 ASSERT_TRUE(isok == 0);
124 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetCurrentFunctions003 : SetConfig");
125 }
126
127 /**
128 * @tc.name: SetCurrentFunctions004
129 * @tc.desc: Test functions to SetCurrentFunctions(int32_t funcs)
130 * @tc.type: FUNC
131 */
132 HWTEST_F(UsbCoreTest, SetCurrentFunctions004, TestSize.Level1)
133 {
134 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetCurrentFunctions004 : SetConfig");
135 auto &instance = UsbSrvClient::GetInstance();
136 int32_t isok = instance.SetCurrentFunctions(4);
137 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::SetCurrentFunctions=%{public}d", isok);
138 ASSERT_TRUE(isok == 0);
139 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetCurrentFunctions004 : SetConfig");
140 }
141
142 /**
143 * @tc.name: SetCurrentFunctions005
144 * @tc.desc: Test functions to SetCurrentFunctions(int32_t funcs)
145 * @tc.type: FUNC
146 */
147 HWTEST_F(UsbCoreTest, SetCurrentFunctions005, TestSize.Level1)
148 {
149 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetCurrentFunctions005 : SetConfig");
150 auto &instance = UsbSrvClient::GetInstance();
151 int32_t isok = instance.SetCurrentFunctions(5);
152 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::SetCurrentFunctions=%{public}d", isok);
153 ASSERT_TRUE(isok == 0);
154 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetCurrentFunctions005 : SetConfig");
155 }
156
157 /**
158 * @tc.name: SetCurrentFunctions006
159 * @tc.desc: Test functions to SetCurrentFunctions(int32_t funcs)
160 * @tc.type: FUNC
161 */
162 HWTEST_F(UsbCoreTest, SetCurrentFunctions006, TestSize.Level1)
163 {
164 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetCurrentFunctions006 : SetConfig");
165 auto &instance = UsbSrvClient::GetInstance();
166 int32_t isok = instance.SetCurrentFunctions(6);
167 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::SetCurrentFunctions=%{public}d", isok);
168 ASSERT_TRUE(isok == 0);
169 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetCurrentFunctions006 : SetConfig");
170 }
171
172 /**
173 * @tc.name: SetCurrentFunctions007
174 * @tc.desc: Test functions to SetCurrentFunctions(int32_t funcs)
175 * @tc.type: FUNC
176 */
177 HWTEST_F(UsbCoreTest, SetCurrentFunctions007, TestSize.Level1)
178 {
179 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetCurrentFunctions007 : SetConfig");
180 auto &instance = UsbSrvClient::GetInstance();
181 int32_t isok = instance.SetCurrentFunctions(8);
182 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::SetCurrentFunctions=%{public}d", isok);
183 ASSERT_TRUE(isok != 0);
184 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetCurrentFunctions007 : SetConfig");
185 }
186
187 /**
188 * @tc.name: UsbFunctionsFromString001
189 * @tc.desc: Test functions to UsbFunctionsFromString(string funcs)
190 * @tc.type: FUNC
191 */
192 HWTEST_F(UsbCoreTest, UsbFunctionsFromString001, TestSize.Level1)
193 {
194 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsFromString001 : SetConfig");
195 auto &instance = UsbSrvClient::GetInstance();
196 int32_t funcCode = instance.UsbFunctionsFromString(UsbSrvSupport::FUNCTION_NAME_NONE);
197 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::functionsFromString=%{public}d", funcCode);
198 ASSERT_TRUE(funcCode != UEC_SERVICE_INVALID_VALUE);
199 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsFromString001 : SetConfig");
200 }
201
202 /**
203 * @tc.name: UsbFunctionsFromString002
204 * @tc.desc: Test functions to UsbFunctionsFromString(string funcs)
205 * @tc.type: FUNC
206 */
207 HWTEST_F(UsbCoreTest, UsbFunctionsFromString002, TestSize.Level1)
208 {
209 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsFromString002 : SetConfig");
210 auto &instance = UsbSrvClient::GetInstance();
211 int32_t funcCode = instance.UsbFunctionsFromString(UsbSrvSupport::FUNCTION_NAME_HDC);
212 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::functionsFromString=%{public}d", funcCode);
213 ASSERT_TRUE(funcCode != UEC_SERVICE_INVALID_VALUE);
214 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsFromString002 : SetConfig");
215 }
216
217 /**
218 * @tc.name: UsbFunctionsFromString003
219 * @tc.desc: Test functions to UsbFunctionsFromString(string funcs)
220 * @tc.type: FUNC
221 */
222 HWTEST_F(UsbCoreTest, UsbFunctionsFromString003, TestSize.Level1)
223 {
224 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsFromString003 : SetConfig");
225 auto &instance = UsbSrvClient::GetInstance();
226 int32_t funcCode = instance.UsbFunctionsFromString(UsbSrvSupport::FUNCTION_NAME_ACM);
227 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::functionsFromString=%{public}d", funcCode);
228 ASSERT_TRUE(funcCode != UEC_SERVICE_INVALID_VALUE);
229 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsFromString003 : SetConfig");
230 }
231
232 /**
233 * @tc.name: UsbFunctionsFromString004
234 * @tc.desc: Test functions to UsbFunctionsFromString(string funcs)
235 * @tc.type: FUNC
236 */
237 HWTEST_F(UsbCoreTest, UsbFunctionsFromString004, TestSize.Level1)
238 {
239 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsFromString004 : SetConfig");
240 auto &instance = UsbSrvClient::GetInstance();
241 int32_t funcCode = instance.UsbFunctionsFromString(UsbSrvSupport::FUNCTION_NAME_ECM);
242 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::functionsFromString=%{public}d", funcCode);
243 ASSERT_TRUE(funcCode != UEC_SERVICE_INVALID_VALUE);
244 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsFromString004 : SetConfig");
245 }
246
247 /**
248 * @tc.name: UsbFunctionsFromString005
249 * @tc.desc: Test functions to UsbFunctionsFromString(string funcs)
250 * @tc.type: FUNC
251 */
252 HWTEST_F(UsbCoreTest, UsbFunctionsFromString005, TestSize.Level1)
253 {
254 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsFromString005 : SetConfig");
255 auto &instance = UsbSrvClient::GetInstance();
256 std::string funcs = "qwerts";
257 int32_t funcCode = instance.UsbFunctionsFromString(funcs);
258 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::functionsFromString=%{public}d", funcCode);
259 ASSERT_TRUE(funcCode == UEC_SERVICE_INVALID_VALUE);
260 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsFromString005 : SetConfig");
261 }
262
263 /**
264 * @tc.name: UsbFunctionsFromString006
265 * @tc.desc: Test functions to UsbFunctionsFromString(string funcs)
266 * @tc.type: FUNC
267 */
268 HWTEST_F(UsbCoreTest, UsbFunctionsFromString006, TestSize.Level1)
269 {
270 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsFromString006 : SetConfig");
271 auto &instance = UsbSrvClient::GetInstance();
272 std::string funcs = "zxcbvx";
273 int32_t funcCode = instance.UsbFunctionsFromString(funcs);
274 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::functionsFromString=%{public}d", funcCode);
275 ASSERT_TRUE(funcCode == UEC_SERVICE_INVALID_VALUE);
276 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsFromString006 : SetConfig");
277 }
278
279 /**
280 * @tc.name: UsbFunctionsToString001
281 * @tc.desc: Test functions to UsbFunctionsToString(int32_t funcs)
282 * @tc.type: FUNC
283 */
284 HWTEST_F(UsbCoreTest, UsbFunctionsToString001, TestSize.Level1)
285 {
286 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsToString001 : SetConfig");
287 auto &instance = UsbSrvClient::GetInstance();
288 std::string funcName = instance.UsbFunctionsToString(UsbSrvSupport::FUNCTION_NONE);
289 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbFunctionsToString=%{public}s", funcName.c_str());
290 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbFunctionsToString=%{public}zu", funcName.size());
291 ASSERT_TRUE(!(funcName.empty()));
292 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsToString001 : SetConfig");
293 }
294
295 /**
296 * @tc.name: UsbFunctionsToString002
297 * @tc.desc: Test functions to UsbFunctionsToString(int32_t funcs)
298 * @tc.type: FUNC
299 */
300 HWTEST_F(UsbCoreTest, UsbFunctionsToString002, TestSize.Level1)
301 {
302 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsToString002 : SetConfig");
303 auto &instance = UsbSrvClient::GetInstance();
304 std::string funcName = instance.UsbFunctionsToString(UsbSrvSupport::FUNCTION_HDC);
305 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbFunctionsToString=%{public}s", funcName.c_str());
306 ASSERT_TRUE(!(funcName.empty()));
307 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsToString002 : SetConfig");
308 }
309
310 /**
311 * @tc.name: UsbFunctionsToString003
312 * @tc.desc: Test functions to UsbFunctionsToString(int32_t funcs)
313 * @tc.type: FUNC
314 */
315 HWTEST_F(UsbCoreTest, UsbFunctionsToString003, TestSize.Level1)
316 {
317 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsToString003 : SetConfig");
318 auto &instance = UsbSrvClient::GetInstance();
319 std::string funcName = instance.UsbFunctionsToString(UsbSrvSupport::FUNCTION_ACM);
320 USB_HILOGI(MODULE_USB_SERVICE, "UsbFunctionServiceTest::UsbFunctionsToString=%{public}s", funcName.c_str());
321 ASSERT_TRUE(!(funcName.empty()));
322 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsToString003 : SetConfig");
323 }
324
325 /**
326 * @tc.name: UsbFunctionsToString004
327 * @tc.desc: Test functions to UsbFunctionsToString(int32_t funcs)
328 * @tc.type: FUNC
329 */
330 HWTEST_F(UsbCoreTest, UsbFunctionsToString004, TestSize.Level1)
331 {
332 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsToString004 : SetConfig");
333 auto &instance = UsbSrvClient::GetInstance();
334 std::string funcName = instance.UsbFunctionsToString(UsbSrvSupport::FUNCTION_ECM);
335 USB_HILOGI(MODULE_USB_SERVICE, "UsbFunctionServiceTest::UsbFunctionsToString=%{public}s", funcName.c_str());
336 ASSERT_TRUE(!(funcName.empty()));
337 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsToString004 : SetConfig");
338 }
339
340 /**
341 * @tc.name: UsbFunctionsToString005
342 * @tc.desc: Test functions to UsbFunctionsToString(int32_t funcs)
343 * @tc.type: FUNC
344 */
345 HWTEST_F(UsbCoreTest, UsbFunctionsToString005, TestSize.Level1)
346 {
347 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbFunctionsToString005 : SetConfig");
348 auto &instance = UsbSrvClient::GetInstance();
349 std::string funcName = instance.UsbFunctionsToString(-1);
350 USB_HILOGI(MODULE_USB_SERVICE, "UsbFunctionServiceTest::UsbFunctionsToString=%{public}s", funcName.c_str());
351 ASSERT_TRUE(!(funcName.empty()));
352 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbFunctionsToString005 : SetConfig");
353 }
354
355 /**
356 * @tc.name: UsbHasRight001
357 * @tc.desc: Test functions of HasRight
358 * @tc.desc: bool HasRight(std::string deviceName)
359 * @tc.desc: Before RequestRight, HasRight return false.
360 * @tc.type: FUNC
361 */
362 HWTEST_F(UsbCoreTest, UsbHasRight001, TestSize.Level1)
363 {
364 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbHasRight001: SetConfig");
365 auto &UsbSrvClient = UsbSrvClient::GetInstance();
366 std::string deviceName = "device_80";
367 bool result = UsbSrvClient.HasRight(deviceName);
368 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight001 HasRight=%{public}d", result);
369 ASSERT_FALSE(result);
370 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbHasRight001: SetConfig");
371 }
372
373 /**
374 * @tc.name: UsbHasRight002
375 * @tc.desc: Test functions of HasRight
376 * @tc.desc: bool HasRight(std::string deviceName)
377 * @tc.desc: After RequestRight, HasRight return true.
378 * @tc.type: FUNC
379 */
380 HWTEST_F(UsbCoreTest, UsbHasRight002, TestSize.Level1)
381 {
382 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbHasRight002: SetConfig");
383 auto &UsbSrvClient = UsbSrvClient::GetInstance();
384 std::string deviceName = "device_80";
385 bool result = UsbSrvClient.HasRight(deviceName);
386 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight002 HasRight=%{public}d", result);
387 ASSERT_FALSE(result);
388 int32_t ret = UsbSrvClient.RequestRight(deviceName);
389 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight002 RequestRight=%{public}d", result);
390 ASSERT_EQ(ret, 0);
391 result = UsbSrvClient.HasRight(deviceName);
392 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight002 HasRight=%{public}d", result);
393 ASSERT_TRUE(result);
394 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbHasRight002: SetConfig");
395 }
396
397 /**
398 * @tc.name: UsbHasRight003
399 * @tc.desc: Test functions of HasRight
400 * @tc.desc: bool HasRight(std::string deviceName)
401 * @tc.desc: After RemoveRight, HasRight return false.
402 * @tc.type: FUNC
403 */
404 HWTEST_F(UsbCoreTest, UsbHasRight003, TestSize.Level1)
405 {
406 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbHasRight003: SetConfig");
407 auto &UsbSrvClient = UsbSrvClient::GetInstance();
408 std::string deviceName = "device_80";
409 bool result = UsbSrvClient.HasRight(deviceName);
410 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight003 HasRight=%{public}d", result);
411 ASSERT_TRUE(result);
412 int32_t ret = UsbSrvClient.RemoveRight(deviceName);
413 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight003 RemoveRight=%{public}d", result);
414 ASSERT_EQ(ret, 0);
415 deviceName = "device_81";
416 result = UsbSrvClient.HasRight(deviceName);
417 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight003 HasRight=%{public}d", result);
418 ASSERT_FALSE(result);
419 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbHasRight003: SetConfig");
420 }
421
422 /**
423 * @tc.name: UsbHasRight004
424 * @tc.desc: Test functions of HasRight
425 * @tc.desc: bool HasRight(std::string deviceName)
426 * @tc.desc: RequestRight then RemoveRight
427 * @tc.type: FUNC
428 */
429 HWTEST_F(UsbCoreTest, UsbHasRight004, TestSize.Level1)
430 {
431 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : UsbHasRight004: SetConfig");
432 auto &UsbSrvClient = UsbSrvClient::GetInstance();
433 std::string deviceName = "device_82";
434 bool result = UsbSrvClient.HasRight(deviceName);
435 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight004 HasRight=%{public}d", result);
436 ASSERT_FALSE(result);
437 int32_t ret = UsbSrvClient.RequestRight(deviceName);
438 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight004 RequestRight=%{public}d", result);
439 ASSERT_EQ(ret, 0);
440 result = UsbSrvClient.HasRight(deviceName);
441 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::UsbHasRight004 HasRight=%{public}d", result);
442 ASSERT_TRUE(result);
443 ret = UsbSrvClient.RemoveRight(deviceName);
444 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Usbrequestright003 RemoveRight=%{public}d", result);
445 ASSERT_EQ(ret, 0);
446 USB_HILOGI(MODULE_USB_SERVICE, "Case End : UsbHasRight004: SetConfig");
447 }
448
449 /**
450 * @tc.name: Usbrequestright001
451 * @tc.desc: Test functions of requestright
452 * @tc.desc: int32_t requestright(std::string deviceName)
453 * @tc.desc: RequestRight then RemoveRight
454 * @tc.type: FUNC
455 */
456 HWTEST_F(UsbCoreTest, Usbrequestright001, TestSize.Level1)
457 {
458 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbrequestright001: SetConfig");
459 auto &UsbSrvClient = UsbSrvClient::GetInstance();
460 std::string deviceName = "device_83";
461 int32_t ret = UsbSrvClient.RequestRight(deviceName);
462 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Usbrequestright001 RequestRight=%{public}d", ret);
463 ASSERT_EQ(ret, 0);
464 bool result = UsbSrvClient.HasRight(deviceName);
465 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Usbrequestright001 HasRight=%{public}d", result);
466 ASSERT_TRUE(result);
467 ret = UsbSrvClient.RemoveRight(deviceName);
468 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Usbrequestright003 RemoveRight=%{public}d", result);
469 ASSERT_EQ(ret, 0);
470 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbrequestright001: SetConfig");
471 }
472
473 /**
474 * @tc.name: Usbrequestright003
475 * @tc.desc: Test functions of requestright
476 * @tc.desc: int32_t requestright(std::string deviceName)
477 * @tc.type: FUNC
478 */
479 HWTEST_F(UsbCoreTest, Usbrequestright003, TestSize.Level1)
480 {
481 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : Usbrequestright003: SetConfig");
482 auto &UsbSrvClient = UsbSrvClient::GetInstance();
483 std::string deviceName = "device_81";
484 bool result = UsbSrvClient.HasRight(deviceName);
485 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Usbrequestright003 HasRight=%{public}d", result);
486 ASSERT_FALSE(result);
487 int32_t ret = UsbSrvClient.RequestRight(deviceName);
488 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Usbrequestright003 RequestRight=%{public}d", result);
489 ASSERT_EQ(ret, 0);
490 result = UsbSrvClient.HasRight(deviceName);
491 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Usbrequestright003 HasRight=%{public}d", result);
492 ASSERT_TRUE(result);
493 ret = UsbSrvClient.RemoveRight(deviceName);
494 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::Usbrequestright003 RemoveRight=%{public}d", result);
495 ASSERT_EQ(ret, 0);
496 USB_HILOGI(MODULE_USB_SERVICE, "Case End : Usbrequestright003: SetConfig");
497 }
498
499 /**
500 * @tc.name: GetPorts001
501 * @tc.desc: Test functions to GetPorts
502 * @tc.desc: int32_t GetPorts(std::vector<UsbPort *> &usbports);
503 * @tc.desc: 正向测试:参数正确
504 * @tc.type: FUNC
505 */
506
507 HWTEST_F(UsbCoreTest, GetPorts001, TestSize.Level1)
508 {
509 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetPorts001 : GetPorts");
510 auto &usbSrvClient = UsbSrvClient::GetInstance();
511 std::vector<UsbPort> portlist;
512 auto ports = usbSrvClient.GetPorts(portlist);
513 USB_HILOGD(MODULE_USB_SERVICE, "Get UsbPort size=%{public}zu", portlist.size());
514 ASSERT_TRUE(ports == 0);
515 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetPorts001 : GetPorts");
516 }
517
518 /**
519 * @tc.name: GetSupportedModes001
520 * @tc.desc: Test functions to GetSupportedModes
521 * @tc.desc: int32_t GetSupportedModes(int32_t portId, int32_t &result);
522 * @tc.desc: 正向测试:参数正确
523 * @tc.type: FUNC
524 */
525
526 HWTEST_F(UsbCoreTest, GetSupportedModes001, TestSize.Level1)
527 {
528 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetSupportedModes001 : GetSupportedModes");
529 auto &UsbSrvClient = UsbSrvClient::GetInstance();
530 int32_t result = 0;
531 auto modes = UsbSrvClient.GetSupportedModes(0, result);
532 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", modes);
533 ASSERT_TRUE(modes != 0);
534 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetSupportedModes001 : GetSupportedModes");
535 }
536
537 /**
538 * @tc.name: GetSupportedModes002
539 * @tc.desc: Test functions to GetSupportedModes
540 * @tc.desc: int32_t GetSupportedModes(int32_t portId, int32_t &result);
541 * @tc.desc: 反向测试:portid错误
542 * @tc.type: FUNC
543 */
544
545 HWTEST_F(UsbCoreTest, GetSupportedModes002, TestSize.Level1)
546 {
547 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetSupportedModes002 : GetSupportedModes");
548 auto &UsbSrvClient = UsbSrvClient::GetInstance();
549 int32_t result = 0;
550 auto modes = UsbSrvClient.GetSupportedModes(-1, result);
551 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", modes);
552 ASSERT_TRUE(modes != 0);
553 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetSupportedModes002 : GetSupportedModes");
554 }
555
556 /**
557 * @tc.name: GetSupportedModes003
558 * @tc.desc: Test functions to GetSupportedModes
559 * @tc.desc: int32_t GetSupportedModes(int32_t portId, int32_t &result);
560 * @tc.desc: 反向测试:portid错误
561 * @tc.type: FUNC
562 */
563
564 HWTEST_F(UsbCoreTest, GetSupportedModes003, TestSize.Level1)
565 {
566 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetSupportedModes003 : GetSupportedModes");
567 auto &UsbSrvClient = UsbSrvClient::GetInstance();
568 int32_t result = 0;
569 auto modes = UsbSrvClient.GetSupportedModes(0xFFFFFFFF, result);
570 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", modes);
571 ASSERT_TRUE(modes != 0);
572 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetSupportedModes003 : GetSupportedModes");
573 }
574
575 /**
576 * @tc.name: GetSupportedModes004
577 * @tc.desc: Test functions to GetSupportedModes
578 * @tc.desc: int32_t GetSupportedModes(int32_t portId, int32_t &result);
579 * @tc.desc: 正向测试:参数正确
580 * @tc.type: FUNC
581 */
582
583 HWTEST_F(UsbCoreTest, GetSupportedModes004, TestSize.Level1)
584 {
585 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : GetSupportedModes004 : GetSupportedModes");
586 auto &UsbSrvClient = UsbSrvClient::GetInstance();
587 int32_t result = 0;
588 auto modes = UsbSrvClient.GetSupportedModes(1, result);
589 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", modes);
590 ASSERT_TRUE(modes == 0);
591 USB_HILOGI(MODULE_USB_SERVICE, "Case End : GetSupportedModes004 : GetSupportedModes");
592 }
593
594 /**
595 * @tc.name: SetPortRole001
596 * @tc.desc: Test functions to SetPortRole
597 * @tc.desc: int32_t SetPortRole(int32_t portId,int32_t powerRole,int32_t dataRole);
598 * @tc.desc: 正向测试:参数正确
599 * @tc.type: FUNC
600 */
601
602 HWTEST_F(UsbCoreTest, SetPortRole001, TestSize.Level1)
603 {
604 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetPortRole001 : SetPortRole");
605 auto &UsbSrvClient = UsbSrvClient::GetInstance();
606 auto ret = UsbSrvClient.SetPortRole(1, 1, 1);
607 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", ret);
608 ASSERT_TRUE(ret == 0);
609 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetPortRole001 : SetPortRole");
610 }
611
612 /**
613 * @tc.name: SetPortRole002
614 * @tc.desc: Test functions to SetPortRole
615 * @tc.desc: int32_t SetPortRole(int32_t portId,int32_t powerRole,int32_t dataRole);
616 * @tc.desc: 反向测试:portid错误
617 * @tc.type: FUNC
618 */
619
620 HWTEST_F(UsbCoreTest, SetPortRole002, TestSize.Level1)
621 {
622 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetPortRole002 : SetPortRole");
623 auto &UsbSrvClient = UsbSrvClient::GetInstance();
624 auto ret = UsbSrvClient.SetPortRole(2, 1, 1);
625 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", ret);
626 ASSERT_TRUE(ret != 0);
627 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetPortRole002 : SetPortRole");
628 }
629
630 /**
631 * @tc.name: SetPortRole003
632 * @tc.desc: Test functions to SetPortRole
633 * @tc.desc: int32_t SetPortRole(int32_t portId,int32_t powerRole,int32_t dataRole);
634 * @tc.desc: 反向测试:powerRole错误
635 * @tc.type: FUNC
636 */
637
638 HWTEST_F(UsbCoreTest, SetPortRole003, TestSize.Level1)
639 {
640 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetPortRole003 : SetPortRole");
641 auto &UsbSrvClient = UsbSrvClient::GetInstance();
642 auto ret = UsbSrvClient.SetPortRole(1, 4, 2);
643 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", ret);
644 ASSERT_TRUE(ret != 0);
645 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetPortRole003 : SetPortRole");
646 }
647
648 /**
649 * @tc.name: SetPortRole004
650 * @tc.desc: Test functions to SetPortRole
651 * @tc.desc: int32_t SetPortRole(int32_t portId,int32_t powerRole,int32_t dataRole);
652 * @tc.desc: 反向测试:dataRole错误
653 * @tc.type: FUNC
654 */
655 HWTEST_F(UsbCoreTest, SetPortRole004, TestSize.Level1)
656 {
657 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetPortRole004 : SetPortRole");
658 auto &UsbSrvClient = UsbSrvClient::GetInstance();
659 auto ret = UsbSrvClient.SetPortRole(1, 1, 5);
660 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", ret);
661 ASSERT_TRUE(ret != 0);
662 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetPortRole004 : SetPortRole");
663 }
664
665 /**
666 * @tc.name: SetPortRole005
667 * @tc.desc: Test functions to SetPortRole
668 * @tc.desc: int32_t SetPortRole(int32_t portId,int32_t powerRole,int32_t dataRole);
669 * @tc.desc: 反向测试:参数异常,portId、powerRole错误
670 * @tc.type: FUNC
671 */
672 HWTEST_F(UsbCoreTest, SetPortRole005, TestSize.Level1)
673 {
674 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetPortRole005 : SetPortRole");
675 auto &UsbSrvClient = UsbSrvClient::GetInstance();
676 auto ret = UsbSrvClient.SetPortRole(1, 5, 5);
677 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", ret);
678 ASSERT_TRUE(ret != 0);
679 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetPortRole005 : SetPortRole");
680 }
681
682 /**
683 * @tc.name: SetPortRole006
684 * @tc.desc: Test functions to SetPortRole
685 * @tc.desc: int32_t SetPortRole(int32_t portId,int32_t powerRole,int32_t dataRole);
686 * @tc.desc: 反向测试:powerRole、dataRole错误
687 * @tc.type: FUNC
688 */
689 HWTEST_F(UsbCoreTest, SetPortRole006, TestSize.Level1)
690 {
691 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetPortRole006 : SetPortRole");
692 auto &UsbSrvClient = UsbSrvClient::GetInstance();
693 auto ret = UsbSrvClient.SetPortRole(5, 1, 5);
694 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", ret);
695 ASSERT_TRUE(ret != 0);
696 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetPortRole006 : SetPortRole");
697 }
698
699 /**
700 * @tc.name: SetPortRole007
701 * @tc.desc: Test functions to SetPortRole
702 * @tc.desc: int32_t SetPortRole(int32_t portId,int32_t powerRole,int32_t dataRole);
703 * @tc.desc: 反向测试:powerRole、dataRole错误
704 * @tc.type: FUNC
705 */
706 HWTEST_F(UsbCoreTest, SetPortRole007, TestSize.Level1)
707 {
708 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetPortRole007 : SetPortRole");
709 auto &UsbSrvClient = UsbSrvClient::GetInstance();
710 auto ret = UsbSrvClient.SetPortRole(2, 5, 5);
711 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", ret);
712 ASSERT_TRUE(ret != 0);
713 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetPortRole007 : SetPortRole");
714 }
715
716 /**
717 * @tc.name: SetPortRole008
718 * @tc.desc: Test functions to SetPortRole
719 * @tc.desc: int32_t SetPortRole(int32_t portId,int32_t powerRole,int32_t dataRole);
720 * @tc.desc:
721 * @tc.type: FUNC
722 */
723 HWTEST_F(UsbCoreTest, SetPortRole008, TestSize.Level1)
724 {
725 USB_HILOGI(MODULE_USB_SERVICE, "Case Start : SetPortRole008 : SetPortRole");
726 auto &UsbSrvClient = UsbSrvClient::GetInstance();
727 auto ret = UsbSrvClient.SetPortRole(1, 2, 2);
728 USB_HILOGI(MODULE_USB_SERVICE, "UsbCoreTest::status=%{public}d", ret);
729 ASSERT_TRUE(ret == 0);
730 USB_HILOGI(MODULE_USB_SERVICE, "Case End : SetPortRole008 : SetPortRole");
731 }
732 } // Core
733 } // USB
734 } // OHOS
735