From 7fea7b25c84b445f45e7ee30cc2e3873c28483dd Mon Sep 17 00:00:00 2001 From: litiangang4 Date: Wed, 6 Sep 2023 11:04:08 +0800 Subject: [PATCH] add ut Signed-off-by: litiangang4 --- .../av_transport_input_filter_test.cpp | 197 +++++++++++++++++- .../daudio_input_test/daudio_input_test.cpp | 22 ++ .../dsoftbus_input_audio_plugin_test.cpp | 58 +++--- 3 files changed, 244 insertions(+), 33 deletions(-) diff --git a/av_transport/av_trans_engine/filters/test/av_transport_input_filter_test/av_transport_input_filter_test.cpp b/av_transport/av_trans_engine/filters/test/av_transport_input_filter_test/av_transport_input_filter_test.cpp index a0f4318c..a160602b 100644 --- a/av_transport/av_trans_engine/filters/test/av_transport_input_filter_test/av_transport_input_filter_test.cpp +++ b/av_transport/av_trans_engine/filters/test/av_transport_input_filter_test/av_transport_input_filter_test.cpp @@ -76,22 +76,21 @@ HWTEST_F(AvTransportInputFilterTest, GetParameter_001, testing::ext::TestSize.Le EXPECT_EQ(ErrorCode::ERROR_INVALID_PARAMETER_VALUE, ret); } -HWTEST_F(AvTransportInputFilterTest, GetParameter_002, testing::ext::TestSize.Level1) +HWTEST_F(AvTransportInputFilterTest, Prepare_001, testing::ext::TestSize.Level1) { std::shared_ptr avInputTest_ = FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); - int32_t key = static_cast(Plugin::Tag::MIME); - Any value = VideoBitStreamFormat::ANNEXB; - ErrorCode ret = avInputTest_->GetParameter(key, value); - EXPECT_EQ(ErrorCode::SUCCESS, ret); + ErrorCode ret = avInputTest_->Prepare(); + EXPECT_EQ(ErrorCode::ERROR_INVALID_STATE, ret); } -HWTEST_F(AvTransportInputFilterTest, Prepare_001, testing::ext::TestSize.Level1) +HWTEST_F(AvTransportInputFilterTest, Prepare_002, testing::ext::TestSize.Level1) { std::shared_ptr avInputTest_ = FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + avInputTest_->state_ = FilterState::INITIALIZED; ErrorCode ret = avInputTest_->Prepare(); - EXPECT_EQ(ErrorCode::ERROR_INVALID_STATE, ret); + EXPECT_EQ(ErrorCode::ERROR_INVALID_PARAMETER_VALUE, ret); } HWTEST_F(AvTransportInputFilterTest, Start_001, testing::ext::TestSize.Level1) @@ -100,6 +99,14 @@ HWTEST_F(AvTransportInputFilterTest, Start_001, testing::ext::TestSize.Level1) FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); ErrorCode ret = avInputTest_->Start(); EXPECT_EQ(ErrorCode::ERROR_INVALID_STATE, ret); + + avInputTest_->state_ = FilterState::READY; + ret = avInputTest_->Start(); + EXPECT_EQ(ErrorCode::ERROR_NULL_POINTER, ret); + + avInputTest_->state_ = FilterState::PAUSED; + ret = avInputTest_->Start(); + EXPECT_EQ(ErrorCode::ERROR_NULL_POINTER, ret); } HWTEST_F(AvTransportInputFilterTest, Stop_001, testing::ext::TestSize.Level1) @@ -108,6 +115,14 @@ HWTEST_F(AvTransportInputFilterTest, Stop_001, testing::ext::TestSize.Level1) FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); ErrorCode ret = avInputTest_->Stop(); EXPECT_EQ(ErrorCode::ERROR_INVALID_STATE, ret); + + avInputTest_->state_ = FilterState::RUNNING; + ret = avInputTest_->Stop(); + EXPECT_EQ(ErrorCode::ERROR_NULL_POINTER, ret); + + avInputTest_->state_ = FilterState::PAUSED; + ret = avInputTest_->Stop(); + EXPECT_EQ(ErrorCode::ERROR_NULL_POINTER, ret); } HWTEST_F(AvTransportInputFilterTest, Pause_001, testing::ext::TestSize.Level1) @@ -116,6 +131,58 @@ HWTEST_F(AvTransportInputFilterTest, Pause_001, testing::ext::TestSize.Level1) FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); ErrorCode ret = avInputTest_->Pause(); EXPECT_EQ(ErrorCode::ERROR_INVALID_STATE, ret); + + avInputTest_->state_ = FilterState::PAUSED; + ret = avInputTest_->Pause(); + EXPECT_EQ(ErrorCode::SUCCESS, ret); +} + +HWTEST_F(AvTransportInputFilterTest, Pause_002, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + avInputTest_->state_ = FilterState::READY; + ErrorCode ret = avInputTest_->Pause(); + EXPECT_EQ(ErrorCode::ERROR_NULL_POINTER, ret); + + avInputTest_->state_ = FilterState::RUNNING; + ret = avInputTest_->Pause(); + EXPECT_EQ(ErrorCode::ERROR_NULL_POINTER, ret); +} + +HWTEST_F(AvTransportInputFilterTest, Resume_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + ErrorCode ret = avInputTest_->Resume(); + EXPECT_EQ(ErrorCode::ERROR_NULL_POINTER, ret); + + avInputTest_->plugin_ = PluginManager::Instance().CreateGenericPlugin("name"); + ret = avInputTest_->Resume(); + EXPECT_EQ(ErrorCode::ERROR_NULL_POINTER, ret); +} + +HWTEST_F(AvTransportInputFilterTest, FindPlugin_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + ErrorCode ret = avInputTest_->FindPlugin(); + EXPECT_EQ(ErrorCode::ERROR_INVALID_PARAMETER_VALUE, ret); + + int32_t key = static_cast(Plugin::Tag::MIME); + Any value = MEDIA_MIME_VIDEO_H264; + avInputTest_->SetParameter(key, value); + ret = avInputTest_->FindPlugin(); + EXPECT_EQ(ErrorCode::ERROR_INVALID_PARAMETER_VALUE, ret); +} + +HWTEST_F(AvTransportInputFilterTest, DoNegotiate_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + CapabilitySet outCaps; + bool ret = avInputTest_->DoNegotiate(outCaps); + EXPECT_EQ(false, ret); } HWTEST_F(AvTransportInputFilterTest, CreatePlugin_001, testing::ext::TestSize.Level1) @@ -125,6 +192,122 @@ HWTEST_F(AvTransportInputFilterTest, CreatePlugin_001, testing::ext::TestSize.Le std::shared_ptr selectedInfo = nullptr; ErrorCode ret = avInputTest_->CreatePlugin(selectedInfo); EXPECT_EQ(ErrorCode::ERROR_INVALID_PARAMETER_VALUE, ret); + + selectedInfo = std::make_shared(); + selectedInfo->name = ""; + ret = avInputTest_->CreatePlugin(selectedInfo); + EXPECT_EQ(ErrorCode::ERROR_INVALID_PARAMETER_VALUE, ret); +} + +HWTEST_F(AvTransportInputFilterTest, CreatePlugin_002, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + std::shared_ptr selectedInfo = std::make_shared(); + selectedInfo->name = "name"; + ErrorCode ret = avInputTest_->CreatePlugin(selectedInfo); + EXPECT_EQ(ErrorCode::ERROR_INVALID_PARAMETER_VALUE, ret); +} + +HWTEST_F(AvTransportInputFilterTest, CreatePlugin_003, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + std::shared_ptr selectedInfo = std::make_shared(); + selectedInfo->name = "name"; + avInputTest_->plugin_ = PluginManager::Instance().CreateGenericPlugin("name"); + avInputTest_->pluginInfo_ = std::make_shared(); + avInputTest_->pluginInfo_->name = "name"; + ErrorCode ret = avInputTest_->CreatePlugin(selectedInfo); + EXPECT_EQ(ErrorCode::ERROR_INVALID_PARAMETER_VALUE, ret); +} + +HWTEST_F(AvTransportInputFilterTest, ConfigMeta_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + Plugin::Meta meta; + ErrorCode ret = avInputTest_->ConfigMeta(meta); + EXPECT_EQ(ErrorCode::ERROR_NOT_EXISTED, ret); + + int32_t key = static_cast(Plugin::Tag::MIME); + Any value = MEDIA_MIME_VIDEO_H264; + avInputTest_->SetParameter(key, value); + ret = avInputTest_->ConfigMeta(meta); + EXPECT_EQ(ErrorCode::ERROR_NOT_EXISTED, ret); + + key = static_cast(Plugin::Tag::MEDIA_TYPE); + avInputTest_->SetParameter(key, value); + ret = avInputTest_->ConfigMeta(meta); + EXPECT_EQ(ErrorCode::ERROR_NOT_EXISTED, ret); +} + +HWTEST_F(AvTransportInputFilterTest, ConfigVideoMeta_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + Plugin::Meta meta; + ErrorCode ret = avInputTest_->ConfigVideoMeta(meta); + EXPECT_EQ(ErrorCode::SUCCESS, ret); + + int32_t key = static_cast(Plugin::Tag::VIDEO_WIDTH); + int value = 100; + avInputTest_->SetParameter(key, value); + ret = avInputTest_->ConfigVideoMeta(meta); + EXPECT_EQ(ErrorCode::SUCCESS, ret); + + key = static_cast(Plugin::Tag::VIDEO_HEIGHT); + avInputTest_->SetParameter(key, value); + ret = avInputTest_->ConfigVideoMeta(meta); + EXPECT_EQ(ErrorCode::SUCCESS, ret); + + key = static_cast(Plugin::Tag::MEDIA_BITRATE); + avInputTest_->SetParameter(key, value); + ret = avInputTest_->ConfigVideoMeta(meta); + EXPECT_EQ(ErrorCode::SUCCESS, ret); + + key = static_cast(Plugin::Tag::VIDEO_FRAME_RATE); + avInputTest_->SetParameter(key, value); + ret = avInputTest_->ConfigVideoMeta(meta); + EXPECT_EQ(ErrorCode::SUCCESS, ret); +} + +HWTEST_F(AvTransportInputFilterTest, TransAudioChannelLayout_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + int layoutPtr = 3; + OHOS::Media::Plugin::AudioChannelLayout ret = avInputTest_->TransAudioChannelLayout(layoutPtr); + EXPECT_EQ(OHOS::Media::Plugin::AudioChannelLayout::UNKNOWN, ret); + + layoutPtr = 1; + ret = avInputTest_->TransAudioChannelLayout(layoutPtr); + EXPECT_EQ(OHOS::Media::Plugin::AudioChannelLayout::MONO, ret); +} + +HWTEST_F(AvTransportInputFilterTest, TransAudioSampleFormat_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + int layoutPtr = 5; + OHOS::Media::Plugin::AudioSampleFormat ret = avInputTest_->TransAudioSampleFormat(layoutPtr); + EXPECT_EQ(OHOS::Media::Plugin::AudioSampleFormat::NONE, ret); + + layoutPtr = 1; + ret = avInputTest_->TransAudioSampleFormat(layoutPtr); + EXPECT_EQ(OHOS::Media::Plugin::AudioSampleFormat::S16, ret); +} + +HWTEST_F(AvTransportInputFilterTest, ConfigAudioMeta_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr avInputTest_ = + FilterFactory::Instance().CreateFilterWithType(AVINPUT_NAME, FILTERNAME); + Plugin::Meta meta; + int32_t key = static_cast(Plugin::Tag::AUDIO_CHANNELS); + uint32_t value = 100; + avInputTest_->SetParameter(key, value); + ErrorCode ret = avInputTest_->ConfigAudioMeta(meta); + EXPECT_EQ(ErrorCode::SUCCESS, ret); } HWTEST_F(AvTransportInputFilterTest, InitPlugin_001, testing::ext::TestSize.Level1) diff --git a/av_transport/av_trans_engine/plugin/test/av_trans_input/daudio_input_test/daudio_input_test.cpp b/av_transport/av_trans_engine/plugin/test/av_trans_input/daudio_input_test/daudio_input_test.cpp index 6f759f06..59030e7e 100644 --- a/av_transport/av_trans_engine/plugin/test/av_trans_input/daudio_input_test/daudio_input_test.cpp +++ b/av_transport/av_trans_engine/plugin/test/av_trans_input/daudio_input_test/daudio_input_test.cpp @@ -27,6 +27,25 @@ void DaudioInputTest::SetUp() {} void DaudioInputTest::TearDown() {} +HWTEST_F(DaudioInputTest, Pause_001, TestSize.Level0) +{ + auto plugin = std::make_shared(PLUGINNAME); + AVTransSharedMemory sharedMemory1 {1, 0, ""}; + plugin->sharedMemory_ = sharedMemory1; + Status ret = plugin->Pause(); + EXPECT_EQ(Status::OK, ret); + + AVTransSharedMemory sharedMemory2 { 1, 1, "" }; + plugin->sharedMemory_ = sharedMemory2; + ret = plugin->Pause(); + EXPECT_EQ(Status::OK, ret); + + AVTransSharedMemory sharedMemory3 { 1, 1, "name" }; + plugin->sharedMemory_ = sharedMemory3; + ret = plugin->Pause(); + EXPECT_EQ(Status::OK, ret); +} + HWTEST_F(DaudioInputTest, SetParameter_001, TestSize.Level0) { auto plugin = std::make_shared(PLUGINNAME); @@ -58,6 +77,9 @@ HWTEST_F(DaudioInputTest, PushData_001, TestSize.Level0) EXPECT_EQ(Status::ERROR_NULL_POINTER, ret); buffer = std::make_shared(); + ret = plugin->PushData("", buffer, 0); + EXPECT_EQ(Status::ERROR_INVALID_PARAMETER, ret); + buffer->AllocMemory(nullptr, 10); buffer->GetMemory()->Write((uint8_t*)"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 10); ret = plugin->PushData("", buffer, 0); diff --git a/av_transport/av_trans_engine/plugin/test/av_trans_input/dsoftbus_input_audio_test/dsoftbus_input_audio_plugin_test.cpp b/av_transport/av_trans_engine/plugin/test/av_trans_input/dsoftbus_input_audio_test/dsoftbus_input_audio_plugin_test.cpp index 78c0b078..4e445b25 100644 --- a/av_transport/av_trans_engine/plugin/test/av_trans_input/dsoftbus_input_audio_test/dsoftbus_input_audio_plugin_test.cpp +++ b/av_transport/av_trans_engine/plugin/test/av_trans_input/dsoftbus_input_audio_test/dsoftbus_input_audio_plugin_test.cpp @@ -29,6 +29,14 @@ void DsoftbusInputAudioPluginTest::SetUp(void) {} void DsoftbusInputAudioPluginTest::TearDown(void) {} +class DsoftbusInputAudioPluginCallback : public Callback { +public: + void OnEvent(const PluginEvent &event) + { + (void)event; + } +}; + HWTEST_F(DsoftbusInputAudioPluginTest, Prepare_001, TestSize.Level1) { auto plugin = std::make_shared(PLUGINNAME); @@ -49,6 +57,17 @@ HWTEST_F(DsoftbusInputAudioPluginTest, Prepare_002, TestSize.Level1) EXPECT_EQ(Status::ERROR_INVALID_OPERATION, ret); } +HWTEST_F(DsoftbusInputAudioPluginTest, Reset_001, TestSize.Level1) +{ + auto plugin = std::make_shared(PLUGINNAME); + Status ret = plugin->Reset(); + EXPECT_EQ(Status::OK, ret); + + plugin->bufferPopTask_ = std::make_shared("videoBufferQueuePopThread"); + ret = plugin->Reset(); + EXPECT_EQ(Status::OK, ret); +} + HWTEST_F(DsoftbusInputAudioPluginTest, Start_001, TestSize.Level1) { auto plugin = std::make_shared(PLUGINNAME); @@ -116,38 +135,25 @@ HWTEST_F(DsoftbusInputAudioPluginTest, GetParameter_002, TestSize.Level1) plugin->DataEnqueue(buffer); } -HWTEST_F(DsoftbusInputAudioPluginTest, Reset_001, TestSize.Level1) -{ - auto plugin = std::make_shared(PLUGINNAME); - Status ret = plugin->Reset(); - EXPECT_EQ(Status::OK, ret); -} - -HWTEST_F(DsoftbusInputAudioPluginTest, Pause_001, TestSize.Level1) -{ - auto plugin = std::make_shared(PLUGINNAME); - Status ret = plugin->Pause(); - EXPECT_EQ(Status::OK, ret); -} - -HWTEST_F(DsoftbusInputAudioPluginTest, Resume_001, TestSize.Level1) -{ - auto plugin = std::make_shared(PLUGINNAME); - Status ret = plugin->Resume(); - EXPECT_EQ(Status::OK, ret); -} - HWTEST_F(DsoftbusInputAudioPluginTest, SetCallback_001, TestSize.Level1) { auto plugin = std::make_shared(PLUGINNAME); Status ret = plugin->SetCallback(nullptr); EXPECT_EQ(Status::ERROR_NULL_POINTER, ret); -} -HWTEST_F(DsoftbusInputAudioPluginTest, SetDataCallback_001, TestSize.Level1) -{ - auto plugin = std::make_shared(PLUGINNAME); - Status ret = plugin->SetDataCallback(nullptr); + DsoftbusInputAudioPluginCallback cb {}; + AVTransEvent event {EventType::EVENT_CHANNEL_OPENED, "", ""}; + plugin->OnChannelEvent(event); + + AVTransEvent event {EventType::EVENT_CHANNEL_OPEN_FAIL, "", ""}; + plugin->OnChannelEvent(event); + + AVTransEvent event {EventType::EVENT_CHANNEL_CLOSED, "", ""}; + plugin->OnChannelEvent(event); + + AVTransEvent event {EventType::EVENT_DATA_RECEIVED, "", ""}; + plugin->OnChannelEvent(event); + ret = plugin->SetCallback(&cb); EXPECT_EQ(Status::OK, ret); } } // namespace DistributedHardware -- Gitee