diff --git a/services/audioclient/test/unittest/micclient/src/dmic_client_test.cpp b/services/audioclient/test/unittest/micclient/src/dmic_client_test.cpp index 410e4f0a95c094ae0bd7e02477cb54323ce52783..af33fd2cd18eeb09d4dc288f6af1f33fd6f7c62a 100644 --- a/services/audioclient/test/unittest/micclient/src/dmic_client_test.cpp +++ b/services/audioclient/test/unittest/micclient/src/dmic_client_test.cpp @@ -75,6 +75,9 @@ HWTEST_F(DMicClientTest, OnStateChange_002, TestSize.Level1) */ HWTEST_F(DMicClientTest, SetUp_001, TestSize.Level1) { + std::string devId = "testID"; + auto clientCallback = std::make_shared(); + micClient_->SetAttrs(devId, clientCallback); AudioParam audioParam; EXPECT_NE(DH_SUCCESS, micClient_->SetUp(audioParam)); } @@ -90,6 +93,25 @@ HWTEST_F(DMicClientTest, StartCapture001, TestSize.Level1) micClient_->CaptureThreadRunning(); EXPECT_NE(DH_SUCCESS, micClient_->StartCapture()); EXPECT_NE(DH_SUCCESS, micClient_->StopCapture()); + + AudioStandard::AudioCapturerOptions capturerOptions = { + { + static_cast(audioParam_.comParam.sampleRate), + AudioStandard::AudioEncodingType::ENCODING_PCM, + static_cast(audioParam_.comParam.bitFormat), + static_cast(audioParam_.comParam.channelMask), + }, + { + static_cast(audioParam_.captureOpts.sourceType), + 0, + } + }; + micClient_->audioCapturer_ = AudioStandard::AudioCapturer::Create(capturerOptions); + micClient_->micTrans_ = std::make_shared(); + micClient_->clientStatus_ = AudioStatus::STATUS_READY; + EXPECT_NE(nullptr, micClient_->audioCapturer_); + EXPECT_EQ(DH_SUCCESS, micClient_->StartCapture()); + EXPECT_NE(DH_SUCCESS, micClient_->StopCapture()); } /** @@ -106,5 +128,50 @@ HWTEST_F(DMicClientTest, StopCapture001, TestSize.Level1) EXPECT_NE(DH_SUCCESS, micClient_->StopCapture()); EXPECT_EQ(DH_SUCCESS, micClient_->OnDecodeTransDataDone(audioData)); } + +/** + * @tc.name: StopCapture002 + * @tc.desc: Verify the StopCapture function. + * @tc.type: FUNC + * @tc.require: AR000H0E6G + */ +HWTEST_F(DMicClientTest, StopCapture002, TestSize.Level1) +{ + micClient_->clientStatus_ = STATUS_START; + micClient_->isCaptureReady_.store(true); + EXPECT_EQ(ERR_DH_AUDIO_CLIENT_CAPTURER_OR_MICTRANS_INSTANCE, micClient_->StopCapture()); +} + +/** + * @tc.name: Release001 + * @tc.desc: Verify the Release function. + * @tc.type: FUNC + * @tc.require: AR000H0E6G + */ +HWTEST_F(DMicClientTest, Release001, TestSize.Level1) +{ + micClient_->clientStatus_ = AudioStatus::STATUS_START; + EXPECT_EQ(ERR_DH_AUDIO_SA_STATUS_ERR, micClient_->Release()); + micClient_->clientStatus_ = AudioStatus::STATUS_STOP; + micClient_->micTrans_ = nullptr; + EXPECT_EQ(ERR_DH_AUDIO_SA_STATUS_ERR, micClient_->Release()); + micClient_->micTrans_ = std::make_shared(); + + AudioStandard::AudioCapturerOptions capturerOptions = { + { + static_cast(audioParam_.comParam.sampleRate), + AudioStandard::AudioEncodingType::ENCODING_PCM, + static_cast(audioParam_.comParam.bitFormat), + static_cast(audioParam_.comParam.channelMask), + }, + { + static_cast(audioParam_.captureOpts.sourceType), + 0, + } + }; + micClient_->audioCapturer_ = AudioStandard::AudioCapturer::Create(capturerOptions); + EXPECT_NE(nullptr, micClient_->audioCapturer_); + EXPECT_EQ(DH_SUCCESS, micClient_->Release()); +} } // DistributedHardware } // OHOS diff --git a/services/audioclient/test/unittest/spkclient/src/dspeaker_client_test.cpp b/services/audioclient/test/unittest/spkclient/src/dspeaker_client_test.cpp index 360a670d993909a31a3f22d7b9e9df1fd9f7269e..d3446fe6b9aef4a0e3b8df0b96682b9014791b22 100644 --- a/services/audioclient/test/unittest/spkclient/src/dspeaker_client_test.cpp +++ b/services/audioclient/test/unittest/spkclient/src/dspeaker_client_test.cpp @@ -152,5 +152,21 @@ HWTEST_F(DSpeakerClientTest, Release001, TestSize.Level1) speakerClient_->Pause(); EXPECT_EQ(ERR_DH_AUDIO_SA_STATUS_ERR, speakerClient_->Release()); } + +/** + * @tc.name: GetVolumeLevel_001 + * @tc.desc: Verify the GetVolumeLevel function. + * @tc.type: FUNC + * @tc.require: AR000H0E6G + */ +HWTEST_F(DSpeakerClientTest, GetVolumeLevel_001, TestSize.Level1) +{ + AudioStandard::InterruptEvent eventType = {static_cast(1), + static_cast(0), static_cast(0)}; + speakerClient_->OnInterrupt(eventType); + + std::string volEvent = speakerClient_->GetVolumeLevel(); + EXPECT_NE("", volEvent); +} } // DistributedHardware } // OHOS diff --git a/services/audioprocessor/test/unittest/common/decodeprocessor/BUILD.gn b/services/audioprocessor/test/unittest/common/decodeprocessor/BUILD.gn index f8b80a941396b57bcf6556473013b1b54e84df06..f68c7fa52d30d9d11bcc7a1b16912984f3a442f5 100644 --- a/services/audioprocessor/test/unittest/common/decodeprocessor/BUILD.gn +++ b/services/audioprocessor/test/unittest/common/decodeprocessor/BUILD.gn @@ -35,6 +35,7 @@ config("module_private_config") { "${services_path}/common/audiodata/include", "${audio_processor_path}/decodeprocessor/include", "${audio_processor_path}/decoder/include", + "${audio_processor_path}/directprocessor/include", "${audio_processor_path}/interface", "${audio_processor_path}/test/unittest/common", ] @@ -68,7 +69,35 @@ ohos_unittest("DecodeProcessTest") { ] } +ohos_unittest("DirectProcessorTest") { + module_out_path = module_output_path + + sources = [ "../directprocessor/audio_direct_processor_test.cpp" ] + + configs = [ ":module_private_config" ] + + deps = [ + "${audio_transport_path}/decodetransport:distributed_audio_decode_transport", + "${services_path}/common:distributed_audio_utils", + "//third_party/googletest:gtest_main", + ] + + external_deps = [ + "c_utils:utils", + "player_framework:media_client", + ] + + defines = [ + "HI_LOG_ENABLE", + "DH_LOG_TAG=\"daudio_proc_test\"", + "LOG_DOMAIN=0xD004100", + ] +} + group("decode_processor_test") { testonly = true - deps = [ ":DecodeProcessTest" ] + deps = [ + ":DecodeProcessTest", + ":DirectProcessorTest", + ] } diff --git a/services/audioprocessor/test/unittest/common/directprocessor/audio_direct_processor_test.cpp b/services/audioprocessor/test/unittest/common/directprocessor/audio_direct_processor_test.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4e0e99642955e32fb74315b465153307acbd372e --- /dev/null +++ b/services/audioprocessor/test/unittest/common/directprocessor/audio_direct_processor_test.cpp @@ -0,0 +1,91 @@ +/* + * 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 + +#define private public +#include "audio_direct_processor.h" +#undef private + +#include "daudio_errorcode.h" + +using namespace testing::ext; + +namespace OHOS { +namespace DistributedHardware { +class AudioDirectProcessorTest : public testing::Test { +public: + static void SetUpTestCase(void); + static void TearDownTestCase(void); + void SetUp(); + void TearDown(); + + std::shared_ptr processor_ = nullptr; +}; + +void AudioDirectProcessorTest::SetUpTestCase(void) {} + +void AudioDirectProcessorTest::TearDownTestCase(void) {} + +void AudioDirectProcessorTest::SetUp() +{ + processor_ = std::make_shared(); +} + +void AudioDirectProcessorTest::TearDown() +{ + processor_ = nullptr; +} + +/** + * @tc.name: ConfigureAudioProcessor_001 + * @tc.desc: Verify the ConfigureAudioProcessor function. + * @tc.type: FUNC + * @tc.require: AR000H0E6G + */ +HWTEST_F(AudioDirectProcessorTest, ConfigureAudioProcessor_001, TestSize.Level1) +{ + AudioCommonParam param; + std::shared_ptr procCallback = nullptr; + EXPECT_NE(DH_SUCCESS, processor_->ConfigureAudioProcessor(param, param, procCallback)); +} + +/** + * @tc.name: StartAudioProcessor_001 + * @tc.desc: Verify the StartAudioProcessor function. + * @tc.type: FUNC + * @tc.require: AR000H0E6G + */ +HWTEST_F(AudioDirectProcessorTest, StartAudioProcessor_001, TestSize.Level1) +{ + EXPECT_EQ(DH_SUCCESS, processor_->StartAudioProcessor()); + EXPECT_EQ(DH_SUCCESS, processor_->StopAudioProcessor()); +} + +/** + * @tc.name: FeedAudioProcessor_001 + * @tc.desc: Verify the FeedAudioProcessor function. + * @tc.type: FUNC + * @tc.require: AR000H0E6G + */ +HWTEST_F(AudioDirectProcessorTest, FeedAudioProcessor_001, TestSize.Level1) +{ + std::shared_ptr inputData = nullptr; + EXPECT_EQ(ERR_DH_AUDIO_BAD_VALUE, processor_->FeedAudioProcessor(inputData)); + inputData = std::make_shared(4096); + EXPECT_NE(DH_SUCCESS, processor_->FeedAudioProcessor(inputData)); +} +} // namespace DistributedHardware +} // namespace OHOS