diff --git a/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/AVSessionEnum.test.js b/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/AVSessionEnum.test.js new file mode 100644 index 0000000000000000000000000000000000000000..4883f1a33fde103bfa0f5f186e90dbf4b3f6e1fb --- /dev/null +++ b/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/AVSessionEnum.test.js @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http:// www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import avSession from '@ohos.multimedia.avsession'; +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium'; +import featureAbility from '@ohos.ability.featureAbility'; + +export default function AVSessionEnum() { + describe('AVSessionEnum', function () { + + beforeAll(function () { + console.info('TestLog: Start Testing avSession Interfaces'); + }) + + beforeEach(async function () { + console.info('TestLog: Init Session And Controller'); + }) + + afterEach(async function (done) { + done(); + }) + + afterAll(function () { + console.info('TestLog: End Testing avSession Interfaces'); + }) + + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_CONNECTION_STATE_ENUM_0100 + * @tc.name : CONNECTION_STATE_ENUM_0100 + * @tc.desc : Testing enum of CONNECTION_STATE + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_CONNECTION_STATE_ENUM_0100', 0, async function (done) { + console.info(`ConnectionState STATE_CONNECTING is ${avSession.ConnectionState.STATE_CONNECTING}`); + expect(avSession.ConnectionState.STATE_CONNECTING).assertEqual(0); + console.info(`ConnectionState STATE_CONNECTED is ${avSession.ConnectionState.STATE_CONNECTED}`); + expect(avSession.ConnectionState.STATE_CONNECTED).assertEqual(1); + console.info(`ConnectionState STATE_DISCONNECTED is ${avSession.ConnectionState.STATE_DISCONNECTED}`); + expect(avSession.ConnectionState.STATE_DISCONNECTED).assertEqual(6); + done(); + }) + + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_AVCAST_CATEGORY_ENUM_0100 + * @tc.name : AVCAST_CATEGORY_ENUM_0100 + * @tc.desc : Testing enum of AVCastCategory + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_AVCAST_CATEGORY_ENUM_0100', 0, async function (done) { + console.info(`AVCastCategory CATEGORY_LOCAL is ${avSession.AVCastCategory.CATEGORY_LOCAL}`); + expect(avSession.AVCastCategory.CATEGORY_LOCAL).assertEqual(0); + console.info(`AVCastCategory CATEGORY_REMOTE is ${avSession.AVCastCategory.CATEGORY_REMOTE}`); + expect(avSession.AVCastCategory.CATEGORY_REMOTE).assertEqual(undefined); + done(); + }) + + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_DEVICE_TYPE_ENUM_0100 + * @tc.name : DEVICE_TYPE_ENUM_0100 + * @tc.desc : Testing enum of DeviceType + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_DEVICE_TYPE_ENUM_0100', 0, async function (done) { + console.info(`DeviceType DEVICE_TYPE_LOCAL is ${avSession.DeviceType.DEVICE_TYPE_LOCAL}`); + expect(avSession.DeviceType.DEVICE_TYPE_LOCAL).assertEqual(0); + console.info(`DeviceType DEVICE_TYPE_TV is ${avSession.DeviceType.DEVICE_TYPE_TV}`); + expect(avSession.DeviceType.DEVICE_TYPE_TV).assertEqual(2); + console.info(`DeviceType DEVICE_TYPE_SPEAKER is ${avSession.DeviceType.DEVICE_TYPE_SPEAKER}`); + expect(avSession.DeviceType.DEVICE_TYPE_SPEAKER).assertEqual(3); + console.info(`DeviceType DEVICE_TYPE_BLUETOOTH is ${avSession.DeviceType.DEVICE_TYPE_BLUETOOTH}`); + expect(avSession.DeviceType.DEVICE_TYPE_BLUETOOTH).assertEqual(10); + done(); + }) + + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_PLAYBACKSTATE_ENUM_0100 + * @tc.name : AVSESSION_PLAYBACKSTATE_ENUM_0100 + * @tc.desc : Testing enum of PlaybackState + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_PLAYBACKSTATE_ENUM_0100', 0, async function (done) { + console.info(`PlaybackState PLAYBACK_STATE_COMPLETED is ${avSession.PlaybackState.PLAYBACK_STATE_COMPLETED}`); + expect(avSession.PlaybackState.PLAYBACK_STATE_COMPLETED).assertEqual(7); + console.info(`PlaybackState PLAYBACK_STATE_RELEASED is ${avSession.PlaybackState.PLAYBACK_STATE_RELEASED}`); + expect(avSession.PlaybackState.PLAYBACK_STATE_RELEASED).assertEqual(8); + console.info(`PlaybackState PLAYBACK_STATE_ERROR is ${avSession.PlaybackState.PLAYBACK_STATE_ERROR}`); + expect(avSession.PlaybackState.PLAYBACK_STATE_ERROR).assertEqual(9); + done(); + }) + + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_ERROR_CODE_ENUM_0100 + * @tc.name : AVSESSION_ERROR_CODE_ENUM_0100 + * @tc.desc : Testing enum of AVSessionErrorCode + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ +// it('SUB_MULTIMEDIA_AVSESSION_ERROR_CODE_ENUM_0100', 0, async function (done) { +// console.info(`AVSessionErrorCode ERR_CODE_DEVICE_CONNECTION_FAILED is ${avSession.AVSessionErrorCode.ERR_CODE_DEVICE_CONNECTION_FAILED}`); +// expect(avSession.AVSessionErrorCode.ERR_CODE_DEVICE_CONNECTION_FAILED).assertEqual(undefined); +// console.info(`AVSessionErrorCode ERR_CODE_REMOTE_CONNECTION_NOT_EXIST is ${avSession.AVSessionErrorCode.ERR_CODE_REMOTE_CONNECTION_NOT_EXIST}`); +// expect(avSession.AVSessionErrorCode.ERR_CODE_REMOTE_CONNECTION_NOT_EXIST).assertEqual(6600109); +// done(); +// }) + }) +} \ No newline at end of file diff --git a/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/AVSessionManager.test.js b/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/AVSessionManager.test.js index dff82c575ef8b436639ffcd06abd96005a34e4fe..589b90eb27409fe29defb7df75ad5a7feef95516 100644 --- a/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/AVSessionManager.test.js +++ b/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/AVSessionManager.test.js @@ -1,20 +1,20 @@ /* - * Copyright (c) 2022 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http:// www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +* Copyright (c) 2022 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http:// www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ import avSession from '@ohos.multimedia.avsession'; -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; import featureAbility from '@ohos.ability.featureAbility'; export default function AVSessionManager() { @@ -24,12 +24,13 @@ export default function AVSessionManager() { let session; let context = featureAbility.getContext(); - function sleep (ms) { + function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } beforeAll(function () { - console.info('TestLog: Start Testing avSessionManager Interfaces'); + console.info('TestLog: Init Session And Controller'); + }) beforeEach(function () { @@ -41,21 +42,27 @@ export default function AVSessionManager() { }) afterAll(function () { - console.info('TestLog: End Testing avSessionManager Interfaces'); + console.info('TestLog: Destroy Session And Controller'); + session.destroy().then(() => { + console.info('TestLog: Session destroy success'); + }).catch((err) => { + console.info(`TestLog: Session destroy error: code: ${err.code}, message: ${err.message}`); + expect(false).assertTrue(); + }); }) /* * - * @tc.number : SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0100 - * @tc.name : CREATEAVSESSION_0100 - * @tc.desc : Testing createavSession with right parameter - promise - * @tc.size : MediumTest - * @tc.type : Function - * @tc.level : Level0 - */ + * @tc.number : SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0100 + * @tc.name : CREATEAVSESSION_0100 + * @tc.desc : Testing createavSession with right parameter - promise + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level0 + */ it('SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0100', 0, async function (done) { await avSession.createAVSession(context, tag, type).then((data) => { session = data; - if(session.sessionId.length === 64) { + if (session.sessionId.length === 64) { console.info('TestLog: avSession create successfully'); expect(true).assertTrue(); } @@ -76,13 +83,13 @@ export default function AVSessionManager() { done(); }) /* * - * @tc.number : SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0200 - * @tc.name : CREATEAVSESSION_0200 - * @tc.desc : Testing createavSession with wrong type - * @tc.size : MediumTest - * @tc.type : Function - * @tc.level : Level2 - */ + * @tc.number : SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0200 + * @tc.name : CREATEAVSESSION_0200 + * @tc.desc : Testing createavSession with wrong type + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ it('SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0200', 0, async function (done) { await avSession.createAVSession(context, tag, 'aaa').then((data) => { console.info('TestLog: avSession create successfully'); @@ -94,13 +101,13 @@ export default function AVSessionManager() { }) /* * - * @tc.number : SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0300 - * @tc.name : CREATEAVSESSION_0300 - * @tc.desc : Testing createavSession with wrong parameter - * @tc.size : MediumTest - * @tc.type : Function - * @tc.level : Level2 - */ + * @tc.number : SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0300 + * @tc.name : CREATEAVSESSION_0300 + * @tc.desc : Testing createavSession with wrong parameter + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ it('SUB_MULTIMEDIA_AVSESSION_CREATEAVSESSION_PROMISE_0300', 0, async function (done) { await avSession.createAVSession(context, '', type).then((data) => { console.info('TestLog: avSession create successfully'); @@ -108,6 +115,267 @@ export default function AVSessionManager() { console.info(`TestLog: avSession create error: code: ${err.code}, message: ${err.message}`); expect(true).assertTrue(); }); + + done(); + }) + + + + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_GETAVCASTCONTROLLER_CALLBACK_0100 + * @tc.name : GETAVCASTCONTROLLER_CALLBACK_0100 + * @tc.desc : Testing getavcastcontroller + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_GETAVCASTCONTROLLER_CALLBACK_0100', 0, async function (done) { + let currentAVSession; + let tag = "createNewSession"; + let context = featureAbility.getContext(); + + try { + await avSession.createAVSession(context, tag, "audio").then((data) => { + currentAVSession = data; + console.info(`CreateAVSession : SUCCESS : sessionId = ${currentAVSession.sessionId}`); + }).catch((err) => { + console.info(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`); + }); + + let aVCastController; + currentAVSession.getAVCastController().then((avcontroller) => { + aVCastController = avcontroller; + console.info(`getAVCastController : SUCCESS : sessionid : ${aVCastController.sessionId}`); + }).catch((err) => { + console.error(`getAVCastController BusinessError: code: ${err.code}, message: ${err.message}`); + expect(err.code == 6600101).assertTrue(); + done(); + }); + } catch (error) { + console.info(`getAVCastController failed: code: ${error.code}, message: ${error.message}`); + if (error.message == "Cannot read property then of undefined") { + console.info(`getAVCastController callback pass`); + expect(true).assertTrue() + } + } + await sleep(10000); + await currentAVSession.destroy(); + done(); + }) + + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_GETAVCASTCONTROLLER_PROMISE_0100 + * @tc.name : GETAVCASTCONTROLLER_CALLBACK_0100 + * @tc.desc : Testing getavcastcontroller + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_GETAVCASTCONTROLLER_PROMISE_0100', 0, async function (done) { + let currentAVSession; + let tag = "createNewSession"; + let context = featureAbility.getContext(); + + try { + + currentAVSession = await avSession.createAVSession(context, tag, "audio"); + console.info(`CreateAVSession 111BusinessError: code: `); + let aVCastController; + console.info(`CreateAVSession 333BusinessError: code: `); + aVCastController = await currentAVSession.getAVCastController((err, data) => { + if (err) { + console.error(`getAVCastController BusinessError: code: ${err.code}, message: ${err.message}`); + expect(err.code == 6600101).assertTrue(); + done(); + } + }); + } catch (error) { + console.error(`getAVCastController BusinessError: code: ${error.code}, message: ${error.message}`); + if (error.message == "Cannot read property catch of undefined") { + console.info(`getAVCastController promise pass`); + expect(true).assertTrue() + } + } + await sleep(10000); + await currentAVSession.destroy(); + done(); + }) + + + + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_STOPCASTING_CALLBACK_0100 + * @tc.name : STOPCASTING_CALLBACK_0100 + * @tc.desc : Testing stopCasting + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_STOPCASTING_CALLBACK_0100', 0, async function (done) { + let currentAVSession; + let tag = "createNewSession"; + let context = featureAbility.getContext(); + + try { + + + await avSession.createAVSession(context, tag, "audio").then((data) => { + currentAVSession = data; + console.info(`CreateAVSession : SUCCESS : sessionId = ${currentAVSession.sessionId}`); + currentAVSession.stopCasting(function (err) { + if (err) { + console.info(`stopCasting BusinessError: code: ${err.code}, message: ${err.message}`); + } else { + console.info(`stopCasting successfully`); + expect(true).assertTrue(); + } + }).catch((err) => { + console.info(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`); + }); + + }); + } catch (error) { + console.info(`stopCasting BusinessError2: code: ${error.code}, message: ${error.message}`); + if (error.message == "Cannot read property catch of undefined") { + console.info(`stopCasting callback pass`); + expect(true).assertTrue() + } + } + + await sleep(10000); + await currentAVSession.destroy(); + done(); + }) + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_STOPCASTING_PROMISE_0100 + * @tc.name : STOPCASTING_PROMISE_0100 + * @tc.desc : Testing getavcastcontroller + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_STOPCASTING_PROMISE_0100', 0, async function (done) { + let currentAVSession; + let tag = "createNewSession"; + let context = featureAbility.getContext(); + + try { + await avSession.createAVSession(context, tag, "audio").then((data) => { + currentAVSession = data; + console.info(`CreateAVSession : SUCCESS : sessionId = ${currentAVSession.sessionId}`); + }).catch((err) => { + console.info(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`); + }); + currentAVSession.stopCasting().then(() => { + console.info(`stopCasting successfully`); + expect(true).assertTrue(); + }).catch((err) => { + console.info(`stopCasting BusinessError: code: ${err.code}, message: ${err.message}`); + expect(false).assertTrue(); + }); + } catch (error) { + console.error(`stopCasting BusinessError2: code: ${error.code}, message: ${error.message}`) + if (error.message == "Cannot read property then of undefined") { + console.info(`stopCasting promise pass`); + expect(true).assertTrue() + } + } + await sleep(10000); + await currentAVSession.destroy(); + done(); + }) + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_GETCURRENTITEM_CALLBACK_0100 + * @tc.name : GETCURRENTITEM_CALLBACK_0100 + * @tc.desc : Testing getcurrentitem + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_GETCURRENTITEM_CALLBACK_0100', 0, async function (done) { + let currentAVSession; + let tag = "createNewSession"; + let context = featureAbility.getContext(); + + try { + await avSession.createAVSession(context, tag, "audio").then((data) => { + currentAVSession = data; + console.info(`CreateAVSession : SUCCESS : sessionId = ${currentAVSession.sessionId}`); + }).catch((err) => { + console.info(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`); + }); + let aVCastController; + currentAVSession.getAVCastController().then((avcontroller) => { + aVCastController = avcontroller; + console.info(`getAVCastController : SUCCESS : sessionid : ${aVCastController.sessionId}`); + aVCastController.getCurrentItem(function (err, value) { + if (err) { + console.error(`getCurrentItem BusinessError: code: ${err.code}, message: ${err.message}`); + } else { + console.info(`getCurrentItem successfully`); + } + }); + }).catch((err) => { + console.error(`getAVCastController BusinessError: code: ${err.code}, message: ${err.message}`); + expect(err.code == 6600101).assertTrue(); + done(); + }); + } catch (error) { + console.error(`getCurrentItem BusinessError2: code: ${error.code}, message: ${error.message}`) + if (error.message == "Cannot read property then of undefined") { + console.info(`getCurrentItem callback pass`); + expect(true).assertTrue() + + } + } + await sleep(10000); + await currentAVSession.destroy(); + done(); + }) + /* * + * @tc.number : SUB_MULTIMEDIA_AVSESSION_GETCURRENTITEM_PROMISE_0100 + * @tc.name : GETCURRENTITEM_CALLBACK_0100 + * @tc.desc : Testing getcurrentitem + * @tc.size : MediumTest + * @tc.type : Function + * @tc.level : Level2 + */ + it('SUB_MULTIMEDIA_AVSESSION_GETCURRENTITEM_PROMISE_0100', 0, async function (done) { + let currentAVSession; + let tag = "createNewSession"; + let context = featureAbility.getContext(); + + try { + + await avSession.createAVSession(context, tag, "audio").then((data) => { + currentAVSession = data; + console.info(`CreateAVSession : SUCCESS : sessionId = ${currentAVSession.sessionId}`); + }).catch((err) => { + console.info(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`); + }); + let aVCastController; + currentAVSession.getAVCastController().then((avcontroller) => { + aVCastController = avcontroller; + console.info(`getAVCastController : SUCCESS : sessionid : ${aVCastController.sessionId}`); + aVCastController.getCurrentItem().then((AVQueueItem) => { + console.info(`getCurrentItem successfully`); + }).catch((err) => { + console.error(`getCurrentItem BusinessError: code: ${err.code}, message: ${err.message}`); + }); + }).catch((err) => { + console.error(`getAVCastController BusinessError: code: ${err.code}, message: ${err.message}`); + expect(err.code == 6600101).assertTrue(); + done(); + }); + } catch (error) { + console.error(`getAVCastController BusinessError2: code: ${error.code}, message: ${error.message}`); + if (error.message == "Cannot read property then of undefined") { + console.info(`getCurrentItem promise pass`); + expect(true).assertTrue() + } + } + await sleep(10000); + await currentAVSession.destroy(); done(); }) }) diff --git a/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/List.test.js b/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/List.test.js index edc8fdb0bae09de2ac7dc7f3976f776f33a24472..f47c710dac209accfd2d89a4158f9b9e9d42e32d 100644 --- a/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/List.test.js +++ b/multimedia/avsession/avsession_js_standard/avsessionManager/src/main/js/test/List.test.js @@ -19,6 +19,7 @@ import AVSessionManagerCallback from './AVSessionManagerCallback.test.js'; import AVSessionErrorCode from './AVSessionErrorCode.test'; import AVSessionControllerJSTest from './AVSessionControllerJSTest.js'; import AVSessionJSTest from './AVSessionJSTest.js'; +import AVSessionEnum from './AVSessionEnum.test.js' export default function testsuite() { AVSession() @@ -28,4 +29,5 @@ export default function testsuite() { AVSessionErrorCode() AVSessionJSTest () AVSessionControllerJSTest () + AVSessionEnum() } \ No newline at end of file