已合并
DT用例有效性整改 #2617
DT用例有效性整改 #2617
已合并
刘祥创建于 6月15日
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-#include "gtest/gtest.h"
17-#include "plugin/common/any.h"
18-#include "plugin/plugins/source/audio_capture/audio_capture_plugin.h"
19-#include "plugin/plugins/source/audio_capture/audio_type_translate.h"
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-#define MAX_TYPE 9
31-#define MP4_URL "http://www.w3school.com.cn/i/movie.mp4"
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