/* * Copyright (c) 2023 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. */ #include #include "avsession_radar.h" #include "avsession_log.h" using namespace testing::ext; using namespace OHOS::AVSession; class AVSessionRadarTest : public testing::Test { public: static void SetUpTestCase(void); static void TearDownTestCase(void); void SetUp(); void TearDown(); OutputDeviceInfo outDeviceInfo_; }; void AVSessionRadarTest::SetUpTestCase() {} void AVSessionRadarTest::TearDownTestCase() {} void AVSessionRadarTest::SetUp() { AVSessionRadar::GetInstance().InitBMS(); DeviceInfo deviceInfo; deviceInfo.castCategory_ = 1; deviceInfo.deviceId_ = "abcdefghijklmnopkrst"; deviceInfo.deviceName_ = "phone"; deviceInfo.networkId_ = "1234567890123456789"; deviceInfo.deviceType_ = 0xE; deviceInfo.authenticationStatus_ = 0; outDeviceInfo_.deviceInfos_.push_back(deviceInfo); } void AVSessionRadarTest::TearDown() {} /** * @tc.name: AVSessionRadarGetAnonymousDeviceId001 * @tc.desc: Get Anonymous DeviceId * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionRadarGetAnonymousDeviceId001, TestSize.Level1) { std::string deviceId = "abcdefghijklmnopkrst"; std::string ret = AVSessionRadar::GetAnonymousDeviceId(deviceId); EXPECT_EQ(ret, "abcde**pkrst"); } /** * @tc.name: AVSessionRadarGetRadarErrorCode001 * @tc.desc: Get Radar ErrorCode * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionRadarGetRadarErrorCode001, TestSize.Level1) { int32_t error = -1020; int32_t ret = AVSessionRadar::GetRadarErrorCode(error); EXPECT_EQ(ret, 475137020); } /** * @tc.name: AVSessionRadarGetPeerInfo001 * @tc.desc: get peer info from outputDeviceInfo * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionRadarGetPeerInfo001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionRadarGetPeerInfo001"); AVSessionRadar::GetInstance().GetPeerInfo(outDeviceInfo_, info); EXPECT_EQ(info.peerBtMac_, ""); EXPECT_EQ(info.peerDevType_, "00E"); EXPECT_EQ(info.isTrust_, static_cast(TrustStatus::UNTRUST)); } /** * @tc.name: AVSessionRadarStartCastDiscoveryBegin001 * @tc.desc: Start Cast Discovery Begin * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionRadarStartCastDiscoveryBegin001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionRadarStartCastDiscoveryBegin001"); AVSessionRadar::GetInstance().StartCastDiscoveryBegin(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_DISCOVERY)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::START)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::IDLE)); EXPECT_EQ(info.bizState_, static_cast(BizState::BEGIN)); } /** * @tc.name: AVSessionRadarStartCastDiscoveryEnd001 * @tc.desc: Start Cast Discovery End * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionRadarStartCastDiscoveryEnd001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionRadarStartCastDiscoveryEnd001"); AVSessionRadar::GetInstance().StartCastDiscoveryEnd(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_DISCOVERY)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::START)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionRadarFailToStartCastDiscovery001 * @tc.desc: Fail To StartCastDiscovery * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionRadarFailToStartCastDiscovery001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionRadarFailToStartCastDiscovery001"); AVSessionRadar::GetInstance().FailToStartCastDiscovery(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_DISCOVERY)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::START)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionRadarCastDeviceAvailable001 * @tc.desc: Cast Device Available * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionRadarCastDeviceAvailable001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionRadarCastDeviceAvailable001"); AVSessionRadar::GetInstance().CastDeviceAvailable(outDeviceInfo_, info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_DISCOVERY)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::DISPLAY)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionStopCastDiscoveryBegin001 * @tc.desc: Stop Cast Discovery Begin * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStopCastDiscoveryBegin001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStopCastDiscoveryBegin001"); AVSessionRadar::GetInstance().StopCastDiscoveryBegin(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_DISCOVERY)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::STOP)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::IDLE)); EXPECT_EQ(info.bizState_, static_cast(BizState::BEGIN)); } /** * @tc.name: AVSessionStopCastDiscoveryEnd001 * @tc.desc: Stop Cast Discovery End * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStopCastDiscoveryEnd001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStopCastDiscoveryEnd001"); AVSessionRadar::GetInstance().StopCastDiscoveryEnd(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_DISCOVERY)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::STOP)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionFailToStopCastDiscovery001 * @tc.desc: Fail To Stop CastDiscovery * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionFailToStopCastDiscovery001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionFailToStopCastDiscovery001"); AVSessionRadar::GetInstance().FailToStopCastDiscovery(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_DISCOVERY)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::STOP)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionStartCastBegin001 * @tc.desc: Start Cast Begin * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStartCastBegin001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStartCastBegin001"); AVSessionRadar::GetInstance().StartCastBegin(outDeviceInfo_, info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::START)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::IDLE)); EXPECT_EQ(info.bizState_, static_cast(BizState::BEGIN)); } /** * @tc.name: AVSessionStartCastEnd001 * @tc.desc: Start Cast End * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStartCastEnd001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStartCastEnd001"); AVSessionRadar::GetInstance().StartCastEnd(outDeviceInfo_, info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastDiscoveryStage::START)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionFailToStartCast001 * @tc.desc: Fail To StartCast * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionFailToStartCast001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionFailToStartCast001"); AVSessionRadar::GetInstance().FailToStartCast(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastStartStage::START)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionFailToStartCast002 * @tc.desc: Fail To StartCast with outputDeviceInfo * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionFailToStartCast002, TestSize.Level1) { AVSessionRadarInfo info("AVSessionFailToStartCast002"); AVSessionRadar::GetInstance().FailToStartCast(outDeviceInfo_, info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastStartStage::START)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionStartConnect001 * @tc.desc: Start Connect * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStartConnect001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStartConnect001"); AVSessionRadar::GetInstance().StartConnect(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastStartStage::CONNECT)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::IDLE)); EXPECT_EQ(info.bizState_, static_cast(BizState::BEGIN)); } /** * @tc.name: AVSessionConnectFinish001 * @tc.desc: Connect Finish * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionConnectFinish001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionConnectFinish001"); AVSessionRadar::GetInstance().ConnectFinish(outDeviceInfo_.deviceInfos_[0], info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastStartStage::CONNECT)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionStartPlayBegin001 * @tc.desc: Start Play Begin * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStartPlayBegin001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStartPlayBegin001"); AVSessionRadar::GetInstance().StartPlayBegin(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastStartStage::STARTED)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::IDLE)); EXPECT_EQ(info.bizState_, static_cast(BizState::BEGIN)); } /** * @tc.name: AVSessionStartPlayEnd001 * @tc.desc: Start Play End * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStartPlayEnd001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStartPlayEnd001"); AVSessionRadar::GetInstance().StartPlayEnd(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastStartStage::STARTED)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionStartPlayFailed001 * @tc.desc: Start Play Failed * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStartPlayFailed001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStartPlayFailed001"); AVSessionRadar::GetInstance().StartPlayFailed(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastStartStage::STARTED)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionPlayerStarted001 * @tc.desc: Player Started * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionPlayerStarted001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionPlayerStarted001"); AVSessionRadar::GetInstance().PlayerStarted(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_START)); EXPECT_EQ(info.bizStage_, static_cast(CastStartStage::STARTED)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionSendControlCommandBegin001 * @tc.desc: Send Control Command begin * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionSendControlCommandBegin001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionSendControlCommandEnd001"); AVSessionRadar::GetInstance().SendControlCommandBegin(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_CONTROL)); EXPECT_EQ(info.bizStage_, static_cast(CastControlStage::SEND_COMMAND)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::IDLE)); EXPECT_EQ(info.bizState_, static_cast(BizState::BEGIN)); } /** * @tc.name: AVSessionSendControlCommandEnd001 * @tc.desc: Send Control Command end * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionSendControlCommandEnd001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionSendControlCommandEnd001"); AVSessionRadar::GetInstance().SendControlCommandEnd(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_CONTROL)); EXPECT_EQ(info.bizStage_, static_cast(CastControlStage::SEND_COMMAND)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionFailToSendControlCommand001 * @tc.desc: Fail To SendControlCommand * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionFailToSendControlCommand001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionFailToSendControlCommand001"); AVSessionRadar::GetInstance().FailToSendControlCommand(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_CONTROL)); EXPECT_EQ(info.bizStage_, static_cast(CastControlStage::SEND_COMMAND)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionControlCommandRespond001 * @tc.desc: receive control command respond * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionControlCommandRespond001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionControlCommandRespond001"); AVSessionRadar::GetInstance().ControlCommandRespond(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_CONTROL)); EXPECT_EQ(info.bizStage_, static_cast(CastControlStage::RECV_COMMAND)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionControlCommandError001 * @tc.desc: receive control command error respond * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionControlCommandError001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionControlCommandError001"); AVSessionRadar::GetInstance().ControlCommandError(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_CONTROL)); EXPECT_EQ(info.bizStage_, static_cast(CastControlStage::RECV_COMMAND)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionStopCastBegin001 * @tc.desc: invoke Stop Casting function Begin * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStopCastBegin001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStopCastBegin001"); AVSessionRadar::GetInstance().StopCastBegin(outDeviceInfo_, info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_END)); EXPECT_EQ(info.bizStage_, static_cast(CastStopStage::STOP_BEGIN)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::IDLE)); EXPECT_EQ(info.bizState_, static_cast(BizState::BEGIN)); } /** * @tc.name: AVSessionStopCastEnd001 * @tc.desc: invoke Stop Casting function End * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStopCastEnd001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStopCastEnd001"); AVSessionRadar::GetInstance().StopCastEnd(outDeviceInfo_, info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_END)); EXPECT_EQ(info.bizStage_, static_cast(CastStopStage::STOP_BEGIN)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionStopCastFinish001 * @tc.desc: cast session is finished * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionStopCastFinish001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionStopCastFinish001"); AVSessionRadar::GetInstance().StopCastFinish(outDeviceInfo_.deviceInfos_[0], info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_END)); EXPECT_EQ(info.bizStage_, static_cast(CastStopStage::STOP_END)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::SUCCESS)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionFailToStopCast001 * @tc.desc: Fail To Stop Cast * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionFailToStopCast001, TestSize.Level1) { AVSessionRadarInfo info("AVSessionFailToStopCast001"); AVSessionRadar::GetInstance().FailToStopCast(info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_END)); EXPECT_EQ(info.bizStage_, static_cast(CastStopStage::STOP_BEGIN)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); } /** * @tc.name: AVSessionFailToStopCast002 * @tc.desc: Fail To Stop Cast with outputDeviceInfo * @tc.type: FUNC * @tc.require: */ static HWTEST_F(AVSessionRadarTest, AVSessionFailToStopCast002, TestSize.Level1) { AVSessionRadarInfo info("AVSessionFailToStopCast002"); AVSessionRadar::GetInstance().FailToStopCast(outDeviceInfo_, info); EXPECT_EQ(info.bizScene_, static_cast(BizScene::CAST_END)); EXPECT_EQ(info.bizStage_, static_cast(CastStopStage::STOP_BEGIN)); EXPECT_EQ(info.stageRes_, static_cast(StageResult::FAIL)); EXPECT_EQ(info.bizState_, static_cast(BizState::END)); }