1 /*
2 * Copyright (c) 2021-2025 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 "audio_device_descriptor.h"
17 #include "audio_connected_device_unit_test.h"
18
19 using namespace testing::ext;
20
21 namespace OHOS {
22 namespace AudioStandard {
23
SetUpTestCase(void)24 void AudioConnectedDeviceUnitTest::SetUpTestCase(void) {}
TearDownTestCase(void)25 void AudioConnectedDeviceUnitTest::TearDownTestCase(void) {}
SetUp(void)26 void AudioConnectedDeviceUnitTest::SetUp(void) {}
TearDown(void)27 void AudioConnectedDeviceUnitTest::TearDown(void) {}
28
29 /**
30 * @tc.name : Test AudioConnectedDevice.
31 * @tc.number: AudioConnectedDeviceUnitTest_001.
32 * @tc.desc : Test IsConnectedOutputDevice.
33 */
34 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_001, TestSize.Level1)
35 {
36 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_FILE_SINK,
37 DeviceRole::OUTPUT_DEVICE);
38 AudioConnectedDevice::GetInstance().connectedDevices_.push_back(desc);
39 bool result = AudioConnectedDevice::GetInstance().IsConnectedOutputDevice(desc);
40 EXPECT_EQ(result, false);
41 }
42
43 /**
44 * @tc.name : Test AudioConnectedDevice.
45 * @tc.number: AudioConnectedDeviceUnitTest_002.
46 * @tc.desc : Test IsConnectedOutputDevice.
47 */
48 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_002, TestSize.Level1)
49 {
50 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_EARPIECE,
51 DeviceRole::OUTPUT_DEVICE);
52 AudioConnectedDevice::GetInstance().connectedDevices_.push_back(desc);
53 bool result = AudioConnectedDevice::GetInstance().IsConnectedOutputDevice(desc);
54 EXPECT_EQ(result, true);
55 }
56
57 /**
58 * @tc.name : Test AudioConnectedDevice.
59 * @tc.number: AudioConnectedDeviceUnitTest_003.
60 * @tc.desc : Test CheckExistOutputDevice.
61 */
62 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_003, TestSize.Level1)
63 {
64 std::string macAddress = "test";
65 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
66 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_EARPIECE,
67 DeviceRole::OUTPUT_DEVICE);
68 audioConnectedDevice->connectedDevices_.push_back(desc);
69 auto result = audioConnectedDevice->CheckExistOutputDevice(DeviceType::DEVICE_TYPE_EARPIECE, macAddress);
70 EXPECT_NE(result, nullptr);
71 }
72
73 /**
74 * @tc.name : Test AudioConnectedDevice.
75 * @tc.number: AudioConnectedDeviceUnitTest_004.
76 * @tc.desc : Test CheckExistOutputDevice.
77 */
78 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_004, TestSize.Level1)
79 {
80 std::string macAddress = "test";
81 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
82 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_BLUETOOTH_A2DP,
83 DeviceRole::OUTPUT_DEVICE);
84 desc->macAddress_ = macAddress;
85 audioConnectedDevice->connectedDevices_.push_back(desc);
86 auto result = audioConnectedDevice->CheckExistOutputDevice(DeviceType::DEVICE_TYPE_BLUETOOTH_A2DP, macAddress);
87 EXPECT_NE(result, nullptr);
88 }
89
90 /**
91 * @tc.name : Test AudioConnectedDevice.
92 * @tc.number: AudioConnectedDeviceUnitTest_005.
93 * @tc.desc : Test CheckExistOutputDevice.
94 */
95 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_005, TestSize.Level1)
96 {
97 std::string macAddress = "test";
98 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
99 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_BLUETOOTH_A2DP,
100 DeviceRole::INPUT_DEVICE);
101 audioConnectedDevice->connectedDevices_.push_back(desc);
102 auto result = audioConnectedDevice->CheckExistOutputDevice(DeviceType::DEVICE_TYPE_BLUETOOTH_A2DP, macAddress);
103 EXPECT_EQ(result, nullptr);
104
105 result = audioConnectedDevice->CheckExistOutputDevice(DeviceType::DEVICE_TYPE_DP, macAddress);
106 EXPECT_EQ(result, nullptr);
107 }
108
109 /**
110 * @tc.name : Test AudioConnectedDevice.
111 * @tc.number: AudioConnectedDeviceUnitTest_006.
112 * @tc.desc : Test CheckExistOutputDevice.
113 */
114 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_006, TestSize.Level1)
115 {
116 std::string macAddress = "test";
117 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
118 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_BLUETOOTH_A2DP,
119 DeviceRole::OUTPUT_DEVICE);
120 audioConnectedDevice->connectedDevices_.push_back(desc);
121 auto result = audioConnectedDevice->CheckExistOutputDevice(DeviceType::DEVICE_TYPE_BLUETOOTH_A2DP, macAddress);
122 EXPECT_EQ(result, nullptr);
123 }
124
125 /**
126 * @tc.name : Test AudioConnectedDevice.
127 * @tc.number: AudioConnectedDeviceUnitTest_007.
128 * @tc.desc : Test CheckExistInputDevice.
129 */
130 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_007, TestSize.Level1)
131 {
132 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
133 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_BLUETOOTH_SCO,
134 DeviceRole::INPUT_DEVICE);
135 audioConnectedDevice->connectedDevices_.push_back(desc);
136 auto result = audioConnectedDevice->CheckExistInputDevice(DeviceType::DEVICE_TYPE_DP);
137 EXPECT_EQ(result, nullptr);
138
139 result = audioConnectedDevice->CheckExistInputDevice(DeviceType::DEVICE_TYPE_BLUETOOTH_SCO);
140 EXPECT_NE(result, nullptr);
141 }
142
143 /**
144 * @tc.name : Test AudioConnectedDevice.
145 * @tc.number: AudioConnectedDeviceUnitTest_008.
146 * @tc.desc : Test GetConnectedDeviceByType.
147 */
148 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_008, TestSize.Level1)
149 {
150 std::string networkId = "test";
151 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
152 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_DP, DeviceRole::OUTPUT_DEVICE);
153 desc->networkId_ = networkId;
154 audioConnectedDevice->connectedDevices_.push_back(desc);
155 auto result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_DP);
156 EXPECT_NE(result, nullptr);
157
158 result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_EARPIECE);
159 EXPECT_EQ(result, nullptr);
160 }
161
162 /**
163 * @tc.name : Test AudioConnectedDevice.
164 * @tc.number: AudioConnectedDeviceUnitTest_009.
165 * @tc.desc : Test GetConnectedDeviceByType.
166 */
167 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_009, TestSize.Level1)
168 {
169 std::string networkId = "test";
170 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
171 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_DP, DeviceRole::OUTPUT_DEVICE);
172 desc->networkId_ = "networkId";
173 audioConnectedDevice->connectedDevices_.push_back(desc);
174 auto result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_DP);
175 EXPECT_EQ(result, nullptr);
176
177 result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_EARPIECE);
178 EXPECT_EQ(result, nullptr);
179 }
180
181 /**
182 * @tc.name : Test AudioConnectedDevice.
183 * @tc.number: AudioConnectedDeviceUnitTest_010.
184 * @tc.desc : Test GetConnectedDeviceByType.
185 */
186 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_010, TestSize.Level1)
187 {
188 std::string networkId = "test";
189 std::string macAddress = "macAddress";
190 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
191 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_DP, DeviceRole::OUTPUT_DEVICE);
192 desc->networkId_ = "networkId";
193 desc->macAddress_ = macAddress;
194 audioConnectedDevice->connectedDevices_.push_back(desc);
195 auto result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_DP, macAddress);
196 EXPECT_EQ(result, nullptr);
197
198 result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_EARPIECE, macAddress);
199 EXPECT_EQ(result, nullptr);
200
201 result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_DP, macAddress);
202 EXPECT_EQ(result, nullptr);
203 }
204
205 /**
206 * @tc.name : Test AudioConnectedDevice.
207 * @tc.number: AudioConnectedDeviceUnitTest_011.
208 * @tc.desc : Test GetConnectedDeviceByType.
209 */
210 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_011, TestSize.Level1)
211 {
212 std::string networkId = "test";
213 std::string macAddress = "macAddress";
214 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
215 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_DP, DeviceRole::OUTPUT_DEVICE);
216 desc->networkId_ = networkId;
217 desc->macAddress_ = "test1";
218 audioConnectedDevice->connectedDevices_.push_back(desc);
219 auto result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_DP, macAddress);
220 EXPECT_EQ(result, nullptr);
221
222 result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_EARPIECE, macAddress);
223 EXPECT_EQ(result, nullptr);
224 }
225
226 /**
227 * @tc.name : Test AudioConnectedDevice.
228 * @tc.number: AudioConnectedDeviceUnitTest_012.
229 * @tc.desc : Test GetConnectedDeviceByType.
230 */
231 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_012, TestSize.Level1)
232 {
233 std::string networkId = "test";
234 std::string macAddress = "macAddress";
235 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
236 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_DP, DeviceRole::OUTPUT_DEVICE);
237 desc->networkId_ = "networkId";
238 desc->macAddress_ = "test1";
239 audioConnectedDevice->connectedDevices_.push_back(desc);
240 auto result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_DP, macAddress);
241 EXPECT_EQ(result, nullptr);
242
243 result = audioConnectedDevice->GetConnectedDeviceByType(networkId, DeviceType::DEVICE_TYPE_EARPIECE,
244 macAddress);
245 EXPECT_EQ(result, nullptr);
246 }
247
248 /**
249 * @tc.name : Test AudioConnectedDevice.
250 * @tc.number: AudioConnectedDeviceUnitTest_013.
251 * @tc.desc : Test UpdateConnectDevice.
252 */
253 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_013, TestSize.Level1)
254 {
255 std::string macAddress = "macAddress";
256 std::string deviceName = "deviceName";
257 AudioStreamInfo streamInfo;
258 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
259 audioConnectedDevice->UpdateConnectDevice(DeviceType::DEVICE_TYPE_DP, macAddress, deviceName, streamInfo);
260 EXPECT_NE(audioConnectedDevice, nullptr);
261
262 auto desc = std::make_shared<AudioDeviceDescriptor>(DeviceType::DEVICE_TYPE_DP, DeviceRole::OUTPUT_DEVICE);
263 desc->macAddress_ = macAddress;
264 audioConnectedDevice->connectedDevices_.push_back(desc);
265 audioConnectedDevice->UpdateConnectDevice(DeviceType::DEVICE_TYPE_DP, macAddress, deviceName, streamInfo);
266 EXPECT_NE(audioConnectedDevice, nullptr);
267 }
268
269 /**
270 * @tc.name : Test AudioConnectedDevice.
271 * @tc.number: AudioConnectedDeviceUnitTest_014.
272 * @tc.desc : Test GetUsbDeviceDescriptor.
273 */
274 HWTEST_F(AudioConnectedDeviceUnitTest, AudioConnectedDeviceUnitTest_014, TestSize.Level1)
275 {
276 std::string address = "test";
277 auto audioConnectedDevice = std::make_shared<AudioConnectedDevice>();
278 auto result = audioConnectedDevice->GetUsbDeviceDescriptor(address, DeviceRole::INPUT_DEVICE);
279 EXPECT_NE(audioConnectedDevice, nullptr);
280 }
281 } // namespace AudioStandard
282 } // namespace OHOS