未验证 提交 0c87149f 编写于 作者: O openharmony_ci 提交者: Gitee

!9596 avsession新增接口覆盖

Merge pull request !9596 from 杜蕊/OpenHarmony-4.0-Beta2
/*
* 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
/*
* 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();
})
})
......
......@@ -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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册