112636162Sopenharmony_ci/* 212636162Sopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd. 312636162Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 412636162Sopenharmony_ci * you may not use this file except in compliance with the License. 512636162Sopenharmony_ci * You may obtain a copy of the License at 612636162Sopenharmony_ci * 712636162Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 812636162Sopenharmony_ci * 912636162Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1012636162Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1112636162Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1212636162Sopenharmony_ci * See the License for the specific language governing permissions and 1312636162Sopenharmony_ci * limitations under the License. 1412636162Sopenharmony_ci */ 1512636162Sopenharmony_ci 1612636162Sopenharmony_ciimport usb from '@ohos.usbManager' 1712636162Sopenharmony_ciimport deviceManager from '@ohos.driver.deviceManager' 1812636162Sopenharmony_ciimport { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index' 1912636162Sopenharmony_ci 2012636162Sopenharmony_cidescribe("SystemApiJsTest", function () { 2112636162Sopenharmony_ci const TAG = "[SystemApiJsTest]"; 2212636162Sopenharmony_ci const SYSTEMAPI_DENIED_CODE = 202; 2312636162Sopenharmony_ci const TEST_DEVICE_ID = 0; 2412636162Sopenharmony_ci const TEST_DRIVER_UID = 'testDriverUid' 2512636162Sopenharmony_ci const TEST_FUNCTION = () => { 2612636162Sopenharmony_ci console.info("Test function is called"); 2712636162Sopenharmony_ci }; 2812636162Sopenharmony_ci 2912636162Sopenharmony_ci let deviceNum = 0; 3012636162Sopenharmony_ci const isDeviceConnected = done => { 3112636162Sopenharmony_ci if (deviceNum > 0) { 3212636162Sopenharmony_ci console.info("Test USB device is connected"); 3312636162Sopenharmony_ci return true; 3412636162Sopenharmony_ci } 3512636162Sopenharmony_ci console.info("Test USB device is not connected"); 3612636162Sopenharmony_ci expect(true).assertTrue(); 3712636162Sopenharmony_ci if (typeof(done) === 'function') { 3812636162Sopenharmony_ci done(); 3912636162Sopenharmony_ci } 4012636162Sopenharmony_ci return false; 4112636162Sopenharmony_ci } 4212636162Sopenharmony_ci 4312636162Sopenharmony_ci beforeAll(function () { 4412636162Sopenharmony_ci console.info('beforeAll called'); 4512636162Sopenharmony_ci try { 4612636162Sopenharmony_ci const devicesList = usb.getDevices(); 4712636162Sopenharmony_ci if (Array.isArray(devicesList)) { 4812636162Sopenharmony_ci deviceNum = devicesList.length; 4912636162Sopenharmony_ci } 5012636162Sopenharmony_ci } catch (err) { 5112636162Sopenharmony_ci console.error(TAG, `getDevices failed, message is ${err.message}`); 5212636162Sopenharmony_ci } 5312636162Sopenharmony_ci }) 5412636162Sopenharmony_ci 5512636162Sopenharmony_ci afterAll(function () { 5612636162Sopenharmony_ci console.info('AfterAll called'); 5712636162Sopenharmony_ci }) 5812636162Sopenharmony_ci 5912636162Sopenharmony_ci /* 6012636162Sopenharmony_ci * @tc.name:SystemApi_queryDeviceInfo_001 6112636162Sopenharmony_ci * @tc.desc:verify SystemApi of queryDeviceInfo 6212636162Sopenharmony_ci * @tc.type: FUNC 6312636162Sopenharmony_ci */ 6412636162Sopenharmony_ci it("SystemApi_queryDeviceInfo_001", 0, done => { 6512636162Sopenharmony_ci console.info('----------------------SystemApi_queryDeviceInfo_001---------------------------'); 6612636162Sopenharmony_ci if (!isDeviceConnected(done)) { 6712636162Sopenharmony_ci return; 6812636162Sopenharmony_ci } 6912636162Sopenharmony_ci try { 7012636162Sopenharmony_ci deviceManager.queryDeviceInfo(TEST_DEVICE_ID); 7112636162Sopenharmony_ci expect(false).assertTrue(); 7212636162Sopenharmony_ci done(); 7312636162Sopenharmony_ci } catch (err) { 7412636162Sopenharmony_ci expect(err.code).assertEqual(SYSTEMAPI_DENIED_CODE); 7512636162Sopenharmony_ci done(); 7612636162Sopenharmony_ci } 7712636162Sopenharmony_ci }); 7812636162Sopenharmony_ci 7912636162Sopenharmony_ci /* 8012636162Sopenharmony_ci * @tc.name:SystemApi_queryDriverInfo_001 8112636162Sopenharmony_ci * @tc.desc:verify SystemApi of queryDriverInfo 8212636162Sopenharmony_ci * @tc.type: FUNC 8312636162Sopenharmony_ci */ 8412636162Sopenharmony_ci it("SystemApi_queryDriverInfo_001", 0, done => { 8512636162Sopenharmony_ci console.info('----------------------SystemApi_queryDriverInfo_001---------------------------'); 8612636162Sopenharmony_ci if (!isDeviceConnected(done)) { 8712636162Sopenharmony_ci return; 8812636162Sopenharmony_ci } 8912636162Sopenharmony_ci try { 9012636162Sopenharmony_ci deviceManager.queryDriverInfo(TEST_DRIVER_UID); 9112636162Sopenharmony_ci expect(false).assertTrue(); 9212636162Sopenharmony_ci done(); 9312636162Sopenharmony_ci } catch (err) { 9412636162Sopenharmony_ci expect(err.code).assertEqual(SYSTEMAPI_DENIED_CODE); 9512636162Sopenharmony_ci done(); 9612636162Sopenharmony_ci } 9712636162Sopenharmony_ci }); 9812636162Sopenharmony_ci});