diff --git a/services/audio_policy/test/unittest/audio_router_center_unit_test/src/audio_router_center_unit_test.cpp b/services/audio_policy/test/unittest/audio_router_center_unit_test/src/audio_router_center_unit_test.cpp index 848b6d4a63ba44c4716029806a2dd30379e759f1..3c64361ca016d5b2b594db57bb41797399177f3f 100644 --- a/services/audio_policy/test/unittest/audio_router_center_unit_test/src/audio_router_center_unit_test.cpp +++ b/services/audio_policy/test/unittest/audio_router_center_unit_test/src/audio_router_center_unit_test.cpp @@ -29,6 +29,8 @@ static constexpr int32_t CLIENT_UID_TYPE_EARPIECE = 2; namespace OHOS { namespace AudioStandard { +const uint32_t TEST_RETRETURN = 0; + void AudioRouterCenterUnitTest::SetUpTestCase(void) {} void AudioRouterCenterUnitTest::TearDownTestCase(void) {} void AudioRouterCenterUnitTest::SetUp(void) {} @@ -542,5 +544,23 @@ HWTEST(AudioRouterCenterUnitTest, FetchVoiceMessageCaptureDevice_deviceType_vali EXPECT_EQ(result, validDesc); EXPECT_EQ(rtype, ROUTER_TYPE_DEFAULT); } + +/** + * @tc.name : Test GetBypassWithSco. + * @tc.number: GetBypassWithSco_001 + * @tc.desc : Test GetBypassWithSco interface when desc->deviceType_ is valid. + */ +HWTEST(AudioRouterCenterUnitTest, GetBypassWithSco_001, TestSize.Level1) +{ + AudioRouterCenter center; + auto validDesc = std::make_shared(); + validDesc->deviceType_ = DEVICE_TYPE_SPEAKER; + center.voiceMessageRouters_.emplace_back( + std::make_unique(ROUTER_TYPE_DEFAULT, nullptr, nullptr, nullptr, validDesc)); + RouterType rtype = ROUTER_TYPE_NONE; + AudioScene audioScene = AUDIO_SCENE_DEFAULT; + auto result = center.GetBypassWithSco(audioScene); + EXPECT_EQ(result, TEST_RETRETURN); +} } // namespace AudioStandard } // namespace OHOS diff --git a/services/audio_policy/test/unittest/stream_filter_router_unit_test/src/stream_filter_router_unit_test.cpp b/services/audio_policy/test/unittest/stream_filter_router_unit_test/src/stream_filter_router_unit_test.cpp index e106af78992415d7dfb0ba030bb3368f732dd163..53e43c77b5f2478be7397c9d70eb839ef0f2f82d 100644 --- a/services/audio_policy/test/unittest/stream_filter_router_unit_test/src/stream_filter_router_unit_test.cpp +++ b/services/audio_policy/test/unittest/stream_filter_router_unit_test/src/stream_filter_router_unit_test.cpp @@ -27,6 +27,9 @@ using namespace testing::ext; namespace OHOS { namespace AudioStandard { +const uint32_t TEST_GROUPID = 10; +const uint32_t TEST_RESULTZERO = 0; + void StreamFilterRouterUnitTest::SetUpTestCase(void) {} void StreamFilterRouterUnitTest::TearDownTestCase(void) {} void StreamFilterRouterUnitTest::SetUp(void) {} @@ -335,5 +338,93 @@ HWTEST(StreamFilterRouterUnitTest, StreamFilterRouter_011, TestSize.Level1) result = streamFilterRouter_->GetRecordCaptureDevice(sourceType, clientId); EXPECT_NE(streamFilterRouter_, nullptr); } + +/** + * @tc.name : Test IsIncomingDeviceInRemoteDevice. + * @tc.number: StreamFilterRouter_012 + * @tc.desc : Test IsIncomingDeviceInRemoteDevice. + */ +HWTEST(StreamFilterRouterUnitTest, StreamFilterRouter_012, TestSize.Level1) +{ + std::shared_ptr incomingDevice = std::make_shared(); + incomingDevice->networkId_ = "networkId123"; + incomingDevice->deviceRole_ = INPUT_DEVICE; + incomingDevice->deviceType_ = DEVICE_TYPE_MIC; + incomingDevice->interruptGroupId_ = TEST_GROUPID; + incomingDevice->volumeGroupId_ = TEST_GROUPID; + incomingDevice->macAddress_ = "macAddress_123"; + + std::shared_ptr matchingDevice = std::make_shared(); + matchingDevice->networkId_ = "networkId123"; + matchingDevice->deviceRole_ = INPUT_DEVICE; + matchingDevice->deviceType_ = DEVICE_TYPE_MIC; + matchingDevice->interruptGroupId_ = TEST_GROUPID; + matchingDevice->volumeGroupId_ = TEST_GROUPID; + matchingDevice->macAddress_ = "macAddress_123"; + + auto streamFilterRouter_ = std::make_shared(); + std::vector> descriptors = {}; + bool result = streamFilterRouter_->IsIncomingDeviceInRemoteDevice(descriptors, incomingDevice); + EXPECT_FALSE(result); + + matchingDevice->macAddress_ = "macAddress"; + descriptors = {matchingDevice}; + result = streamFilterRouter_->IsIncomingDeviceInRemoteDevice(descriptors, incomingDevice); + EXPECT_TRUE(incomingDevice->isVrSupported_); + + matchingDevice->volumeGroupId_ = TEST_GROUPID - 1; + descriptors = {matchingDevice}; + result = streamFilterRouter_->IsIncomingDeviceInRemoteDevice(descriptors, incomingDevice); + EXPECT_EQ(NO_A2DP_DEVICE, incomingDevice->a2dpOffloadFlag_); + + matchingDevice->interruptGroupId_ = TEST_GROUPID - 1; + descriptors = {matchingDevice}; + result = streamFilterRouter_->IsIncomingDeviceInRemoteDevice(descriptors, incomingDevice); + EXPECT_EQ(TEST_RESULTZERO, incomingDevice->deviceId_); + + matchingDevice->deviceType_ = DEVICE_TYPE_SPEAKER; + descriptors = {matchingDevice}; + result = streamFilterRouter_->IsIncomingDeviceInRemoteDevice(descriptors, incomingDevice); + EXPECT_FALSE(matchingDevice->isScoRealConnected_); + + incomingDevice->deviceRole_ = OUTPUT_DEVICE; + descriptors = {matchingDevice}; + result = streamFilterRouter_->IsIncomingDeviceInRemoteDevice(descriptors, incomingDevice); + EXPECT_EQ(, matchingDevice->deviceUsage_); + + matchingDevice->networkId_ = "otherNetworkId"; + result = streamFilterRouter_->IsIncomingDeviceInRemoteDevice(descriptors, incomingDevice); + EXPECT_FALSE(matchingDevice->spatializationSupported_); +} + +/** + * @tc.name : Test SelectRemoteCaptureDevice. + * @tc.number: StreamFilterRouter_013 + * @tc.desc : Test SelectRemoteCaptureDevice. + */ +HWTEST(StreamFilterRouterUnitTest, StreamFilterRouter_013, TestSize.Level1) +{ + std::shared_ptr incomingDevice = std::make_shared(); + incomingDevice->networkId_ = "networkId123"; + incomingDevice->deviceRole_ = INPUT_DEVICE; + incomingDevice->deviceType_ = DEVICE_TYPE_MIC; + + std::shared_ptr matchingDevice = std::make_shared(); + matchingDevice->networkId_ = "networkId123"; + matchingDevice->deviceRole_ = INPUT_DEVICE; + matchingDevice->deviceType_ = DEVICE_TYPE_SPEAKER; + + StreamFilterRouter rot; + std::vector> descriptors = {matchingDevice}; + bool hasDescriptor = false; + std::shared_ptr ret = + rot.SelectRemoteCaptureDevice(descriptors, incomingDevice, hasDescriptor); + EXPECT_EQ(incomingDevice->a2dpOffloadFlag_, matchingDevice->a2dpOffloadFlag_); + + incomingDevice->deviceRole_ = OUTPUT_DEVICE; + descriptors = {matchingDevice}; + ret = rot.SelectRemoteCaptureDevice(descriptors, incomingDevice, hasDescriptor); + EXPECT_EQ(incomingDevice->routerType_, matchingDevice->routerType_); +} } // namespace AudioStandard } // namespace OHOS