已合并
DT用例有效性整改 #2617
刘祥创建于 6月15日
DT用例有效性整改 #2617
已合并
共 1 个文件变更+0-242
Dtest/unittest/TestAudioCapturePlugin.cpp+0-242
| @@ -1,242 +0,0 @@ | |||
| 1 | -/* | ||
| 2 | - * Copyright (c) 2023-2023 Huawei Device Co., Ltd. | ||
| 3 | - * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 4 | - * you may not use this file except in compliance with the License. | ||
| 5 | - * You may obtain a copy of the License at | ||
| 6 | - * | ||
| 7 | - * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 8 | - * | ||
| 9 | - * Unless required by applicable law or agreed to in writing, software | ||
| 10 | - * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 11 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 12 | - * See the License for the specific language governing permissions and | ||
| 13 | - * limitations under the License. | ||
| 14 | - */ | ||
| 15 | - | ||
| 16 | - | ||
| 17 | - | ||
| 18 | - | ||
| 19 | - | ||
| 20 | - | ||
| 21 | -using namespace testing::ext; | ||
| 22 | - | ||
| 23 | -namespace OHOS { | ||
| 24 | -namespace Media { | ||
| 25 | -namespace Test { | ||
| 26 | -using namespace Plugin; | ||
| 27 | -using namespace AuCapturePlugin; | ||
| 28 | -using namespace AudioStandard; | ||
| 29 | - | ||
| 30 | - | ||
| 31 | - | ||
| 32 | - | ||
| 33 | -class AudioCaptureCallback : public Callback { | ||
| 34 | -public: | ||
| 35 | - void OnEvent(const PluginEvent &event) | ||
| 36 | - { | ||
| 37 | - ASSERT_TRUE(static_cast<int>(event.type) >= 0); | ||
| 38 | - ASSERT_TRUE(static_cast<int>(event.type) <= MAX_TYPE); | ||
| 39 | - } | ||
| 40 | -}; | ||
| 41 | - | ||
| 42 | -HWTEST(AudioCaptureTest, testAudioCapturePluginErrorBranch, TestSize.Level1) | ||
| 43 | -{ | ||
| 44 | - auto str = std::make_shared<std::string>("audio"); | ||
| 45 | - auto audioCapture = std::make_shared<AudioCapturePlugin>(str->c_str()); | ||
| 46 | - ASSERT_TRUE(audioCapture != nullptr); | ||
| 47 | - | ||
| 48 | - auto status = audioCapture->Init(); | ||
| 49 | - ASSERT_TRUE(status == Status::OK); | ||
| 50 | - | ||
| 51 | - auto prepareStatus = audioCapture->Prepare(); | ||
| 52 | - ASSERT_TRUE(prepareStatus == Status::OK); | ||
| 53 | - | ||
| 54 | - auto deInitStatus = audioCapture->Deinit(); | ||
| 55 | - ASSERT_TRUE(deInitStatus == Status::OK); | ||
| 56 | - | ||
| 57 | - auto resetStatus = audioCapture->Reset(); | ||
| 58 | - ASSERT_FALSE(resetStatus == Status::OK); | ||
| 59 | - | ||
| 60 | - auto prepare = audioCapture->Prepare(); | ||
| 61 | - ASSERT_FALSE(prepare == Status::OK); | ||
| 62 | - | ||
| 63 | - auto startStatus = audioCapture->Start(); | ||
| 64 | - ASSERT_FALSE(startStatus == Status::OK); | ||
| 65 | - | ||
| 66 | - auto stopStatus = audioCapture->Stop(); | ||
| 67 | - ASSERT_TRUE(stopStatus == Status::OK); | ||
| 68 | -} | ||
| 69 | - | ||
| 70 | -HWTEST(AudioCaptureTest, testAudioCapturePluginStart, TestSize.Level1) | ||
| 71 | -{ | ||
| 72 | - auto str = std::make_shared<std::string>("audio"); | ||
| 73 | - auto audioCapture = std::make_shared<AudioCapturePlugin>(str->c_str()); | ||
| 74 | - ASSERT_TRUE(audioCapture != nullptr); | ||
| 75 | - | ||
| 76 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_RATE, AudioSamplingRate::SAMPLE_RATE_44100); | ||
| 77 | - audioCapture->SetParameter(Tag::AUDIO_CHANNELS, STEREO); | ||
| 78 | - audioCapture->SetParameter(Tag::MEDIA_BITRATE, 3000); | ||
| 79 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_FORMAT, SAMPLE_S32LE); | ||
| 80 | - audioCapture->SetParameter(Tag::APP_TOKEN_ID, 2000); | ||
| 81 | - audioCapture->SetParameter(Tag::APP_UID, 300); | ||
| 82 | - audioCapture->SetParameter(Tag::APP_PID, 1000); | ||
| 83 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_PER_FRAME, 60); | ||
| 84 | - | ||
| 85 | - auto initStatus = audioCapture->Init(); | ||
| 86 | - ASSERT_TRUE(initStatus == Status::OK); | ||
| 87 | - | ||
| 88 | - auto prepareSt = audioCapture->Prepare(); | ||
| 89 | - ASSERT_TRUE(prepareSt == Status::OK); | ||
| 90 | - | ||
| 91 | - auto resetStatus2 = audioCapture->Reset(); | ||
| 92 | - ASSERT_TRUE(resetStatus2 == Status::OK); | ||
| 93 | - | ||
| 94 | - auto stopStatus2 = audioCapture->Stop(); | ||
| 95 | - ASSERT_TRUE(stopStatus2 == Status::OK); | ||
| 96 | - | ||
| 97 | - auto startStatus2 = audioCapture->Start(); | ||
| 98 | - ASSERT_TRUE(startStatus2 == Status::ERROR_UNKNOWN); | ||
| 99 | - | ||
| 100 | - auto source = std::make_shared<MediaSource>(MP4_URL); | ||
| 101 | - auto sourceSt = audioCapture->SetSource(source); | ||
| 102 | - ASSERT_TRUE(sourceSt == Status::ERROR_UNIMPLEMENTED); | ||
| 103 | - | ||
| 104 | - AudioCaptureCallback pluginCallback {}; | ||
| 105 | - auto audioSt = audioCapture->SetCallback(&pluginCallback); | ||
| 106 | - ASSERT_TRUE(audioSt == Status::ERROR_UNIMPLEMENTED); | ||
| 107 | - | ||
| 108 | - auto prepareSt2 = audioCapture->Prepare(); | ||
| 109 | - ASSERT_TRUE(prepareSt2 == Status::OK); | ||
| 110 | - | ||
| 111 | - auto startStatus3 = audioCapture->Start(); | ||
| 112 | - ASSERT_TRUE(startStatus3 == Status::ERROR_UNKNOWN); | ||
| 113 | -} | ||
| 114 | - | ||
| 115 | -HWTEST(AudioCaptureTest, testAudioCapturePlugin, TestSize.Level1) | ||
| 116 | -{ | ||
| 117 | - auto str = std::make_shared<std::string>("audio"); | ||
| 118 | - auto audioCapture = std::make_shared<AudioCapturePlugin>(str->c_str()); | ||
| 119 | - ASSERT_TRUE(audioCapture != nullptr); | ||
| 120 | - | ||
| 121 | - auto initStatus = audioCapture->Init(); | ||
| 122 | - ASSERT_TRUE(initStatus == Status::OK); | ||
| 123 | - | ||
| 124 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_RATE, AudioSamplingRate::SAMPLE_RATE_8000); | ||
| 125 | - audioCapture->SetParameter(Tag::AUDIO_CHANNELS, MONO); | ||
| 126 | - audioCapture->SetParameter(Tag::MEDIA_BITRATE, 16666); | ||
| 127 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_FORMAT, SAMPLE_S16LE); | ||
| 128 | - audioCapture->SetParameter(Tag::APP_TOKEN_ID, 100000); | ||
| 129 | - audioCapture->SetParameter(Tag::APP_UID, 200); | ||
| 130 | - audioCapture->SetParameter(Tag::APP_PID, 100); | ||
| 131 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_PER_FRAME, 30); | ||
| 132 | - | ||
| 133 | - auto source = std::make_shared<MediaSource>(MP4_URL); | ||
| 134 | - auto sourceSt = audioCapture->SetSource(source); | ||
| 135 | - ASSERT_TRUE(sourceSt == Status::ERROR_UNIMPLEMENTED); | ||
| 136 | - | ||
| 137 | - auto prepareSt2 = audioCapture->Prepare(); | ||
| 138 | - ASSERT_TRUE(prepareSt2 == Status::OK); | ||
| 139 | - | ||
| 140 | - auto startStatus3 = audioCapture->Start(); | ||
| 141 | - ASSERT_TRUE(startStatus3 == Status::ERROR_UNKNOWN); | ||
| 142 | - | ||
| 143 | - uint64_t size; | ||
| 144 | - auto sizeStatus = audioCapture->GetSize(size); | ||
| 145 | - ASSERT_TRUE(sizeStatus == Status::OK); | ||
| 146 | - ASSERT_TRUE(size > 0); | ||
| 147 | - | ||
| 148 | - std::shared_ptr<Buffer> buffer = std::make_shared<Buffer>(BufferMetaType::AUDIO); | ||
| 149 | - size_t expectedLe = 10; | ||
| 150 | - auto readStatus = audioCapture->Read(buffer, expectedLe); | ||
| 151 | - ASSERT_TRUE(readStatus == Status::ERROR_AGAIN); | ||
| 152 | - | ||
| 153 | - Seekable seekable = audioCapture->GetSeekable(); | ||
| 154 | - ASSERT_EQ(Seekable::UNSEEKABLE, seekable); | ||
| 155 | - Status seekSt = audioCapture->SeekTo(300); | ||
| 156 | - ASSERT_EQ(seekSt, Status::ERROR_UNIMPLEMENTED); | ||
| 157 | - | ||
| 158 | - auto deInitStatus = audioCapture->Deinit(); | ||
| 159 | - ASSERT_TRUE(deInitStatus == Status::OK); | ||
| 160 | -} | ||
| 161 | - | ||
| 162 | -HWTEST(AudioCaptureTest, testGetParams, TestSize.Level1) | ||
| 163 | -{ | ||
| 164 | - auto str = std::make_shared<std::string>("audio"); | ||
| 165 | - auto audioCapture = std::make_shared<AudioCapturePlugin>(str->c_str()); | ||
| 166 | - ASSERT_TRUE(audioCapture != nullptr); | ||
| 167 | - | ||
| 168 | - ValueType value; | ||
| 169 | - audioCapture->GetParameter(Tag::AUDIO_SAMPLE_RATE, value); | ||
| 170 | - | ||
| 171 | - auto initStatus = audioCapture->Init(); | ||
| 172 | - ASSERT_TRUE(initStatus == Status::OK); | ||
| 173 | - | ||
| 174 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_RATE, AudioSamplingRate::SAMPLE_RATE_8000); | ||
| 175 | - audioCapture->SetParameter(Tag::AUDIO_CHANNELS, MONO); | ||
| 176 | - audioCapture->SetParameter(Tag::MEDIA_BITRATE, 16666); | ||
| 177 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_FORMAT, SAMPLE_S16LE); | ||
| 178 | - audioCapture->SetParameter(Tag::APP_TOKEN_ID, 100000); | ||
| 179 | - audioCapture->SetParameter(Tag::APP_UID, 200); | ||
| 180 | - audioCapture->SetParameter(Tag::APP_PID, 100); | ||
| 181 | - audioCapture->SetParameter(Tag::AUDIO_SAMPLE_PER_FRAME, 30); | ||
| 182 | - | ||
| 183 | - audioCapture->GetParameter(Tag::AUDIO_SAMPLE_RATE, value); | ||
| 184 | - ASSERT_TRUE(value.HasValue()); | ||
| 185 | - int32_t sampleRate = AnyCast<int32_t>(value); | ||
| 186 | - ASSERT_EQ(sampleRate, AudioSamplingRate::SAMPLE_RATE_8000); | ||
| 187 | - | ||
| 188 | - audioCapture->GetParameter(Tag::AUDIO_CHANNELS, value); | ||
| 189 | - ASSERT_TRUE(value.HasValue()); | ||
| 190 | - uint8_t audioChannels = AnyCast<uint8_t>(value); | ||
| 191 | - ASSERT_EQ(audioChannels, MONO); | ||
| 192 | - | ||
| 193 | - audioCapture->GetParameter(Tag::MEDIA_BITRATE, value); | ||
| 194 | - ASSERT_TRUE(value.HasValue()); | ||
| 195 | - int64_t mediaBitrate = AnyCast<int64_t>(value); | ||
| 196 | - ASSERT_EQ(mediaBitrate, 16666); | ||
| 197 | - | ||
| 198 | - audioCapture->GetParameter(Tag::AUDIO_SAMPLE_FORMAT, value); | ||
| 199 | - ASSERT_TRUE(value.HasValue()); | ||
| 200 | - uint8_t audioSampleFormat = AnyCast<uint8_t>(value); | ||
| 201 | - ASSERT_EQ(audioSampleFormat, SAMPLE_S16LE); | ||
| 202 | -} | ||
| 203 | - | ||
| 204 | -HWTEST(AudioTypeTranslateTest, testSampleRateNum2Enum, TestSize.Level1) | ||
| 205 | -{ | ||
| 206 | - AudioSamplingRate val; | ||
| 207 | - auto res = SampleRateNum2Enum(8000, val); | ||
| 208 | - ASSERT_TRUE(val == AudioStandard::SAMPLE_RATE_8000); | ||
| 209 | - ASSERT_TRUE(res); | ||
| 210 | - | ||
| 211 | - auto res2 = SampleRateNum2Enum(9000, val); | ||
| 212 | - ASSERT_FALSE(res2); | ||
| 213 | - | ||
| 214 | - OHOS::AudioStandard::AudioSampleFormat aFmt; | ||
| 215 | - auto sampleRes = PluginFmt2SampleFmt(AudioSampleFormat::S16, aFmt); | ||
| 216 | - ASSERT_EQ(aFmt, AudioStandard::SAMPLE_S16LE); | ||
| 217 | - ASSERT_TRUE(sampleRes); | ||
| 218 | - | ||
| 219 | - auto sampleRes2 = PluginFmt2SampleFmt(AudioSampleFormat::S24P, aFmt); | ||
| 220 | - ASSERT_FALSE(sampleRes2); | ||
| 221 | - | ||
| 222 | - OHOS::AudioStandard::AudioChannel enumVal; | ||
| 223 | - auto channelRes = ChannelNumNum2Enum(1, enumVal); | ||
| 224 | - ASSERT_EQ(enumVal, AudioStandard::MONO); | ||
| 225 | - ASSERT_TRUE(channelRes); | ||
| 226 | - | ||
| 227 | - auto channelRes2 = ChannelNumNum2Enum(3, enumVal); | ||
| 228 | - ASSERT_FALSE(channelRes2); | ||
| 229 | - | ||
| 230 | - auto status = Error2Status(OHOS::ERR_OK); | ||
| 231 | - ASSERT_EQ(status, Status::OK); | ||
| 232 | - | ||
| 233 | - auto status2 = Error2Status(OHOS::ERR_OVERFLOW); | ||
| 234 | - ASSERT_EQ(status2, Status::ERROR_UNKNOWN); | ||
| 235 | - | ||
| 236 | - auto status3 = Error2Status(30); | ||
| 237 | - ASSERT_EQ(status3, Status::ERROR_UNKNOWN); | ||
| 238 | -} | ||
| 239 | - | ||
| 240 | -} // namespace Test | ||
| 241 | -} // namespace Media | ||
| 242 | -} // namespace OHOS | ||