1 /*
2 * Copyright (c) 2024-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 "user_select_router_unit_test.h"
17 #include "audio_errors.h"
18 #include "audio_policy_log.h"
19 #include "audio_policy_server.h"
20 #include "audio_policy_service.h"
21
22 #include <thread>
23 #include <memory>
24 #include <vector>
25 using namespace testing::ext;
26
27 namespace OHOS {
28 namespace AudioStandard {
29
SetUpTestCase(void)30 void UserSelectRouterUnitTest::SetUpTestCase(void) {}
TearDownTestCase(void)31 void UserSelectRouterUnitTest::TearDownTestCase(void) {}
SetUp(void)32 void UserSelectRouterUnitTest::SetUp(void) {}
TearDown(void)33 void UserSelectRouterUnitTest::TearDown(void) {}
34
35 /**
36 * @tc.name : Test GetMediaRenderDevice.
37 * @tc.number: GetMediaRenderDevice_001
38 * @tc.desc : GetMediaRenderDevice.
39 */
40 HWTEST(UserSelectRouterUnitTest, GetMediaRenderDevice_001, TestSize.Level3)
41 {
42 UserSelectRouter userSelectRouter;
43 int32_t clientUID = 1;
44 auto result = userSelectRouter.GetMediaRenderDevice(STREAM_USAGE_RINGTONE, clientUID);
45 EXPECT_NE(result, nullptr);
46 }
47
48 /**
49 * @tc.name : Test GetMediaRenderDevice.
50 * @tc.number: GetMediaRenderDevice_002
51 * @tc.desc : GetMediaRenderDevice.
52 */
53 HWTEST(UserSelectRouterUnitTest, GetMediaRenderDevice_002, TestSize.Level3)
54 {
55 UserSelectRouter userSelectRouter;
56 int32_t clientUID = 1;
57 auto result = userSelectRouter.GetMediaRenderDevice(STREAM_USAGE_VOICE_RINGTONE, clientUID);
58 EXPECT_NE(result, nullptr);
59 }
60
61 /**
62 * @tc.name : Test GetMediaRenderDevice.
63 * @tc.number: GetMediaRenderDevice_003
64 * @tc.desc : GetMediaRenderDevice.
65 */
66 HWTEST(UserSelectRouterUnitTest, GetMediaRenderDevice_003, TestSize.Level3)
67 {
68 UserSelectRouter userSelectRouter;
69 int32_t clientUID = 1;
70 auto result = userSelectRouter.GetMediaRenderDevice(STREAM_USAGE_MEDIA, clientUID);
71 EXPECT_NE(result, nullptr);
72 }
73
74 /**
75 * @tc.name : Test GetMediaRenderDevice.
76 * @tc.number: GetCallRenderDevice_001
77 * @tc.desc : GetMediaRenderDevice.
78 */
79 HWTEST(UserSelectRouterUnitTest, GetCallRenderDevice_001, TestSize.Level3)
80 {
81 UserSelectRouter userSelectRouter;
82 StreamUsage streamUsage = StreamUsage::STREAM_USAGE_VOICE_MESSAGE;
83 int32_t clientUID = 1;
84 auto result = userSelectRouter.GetCallRenderDevice(streamUsage, clientUID);
85 EXPECT_NE(result, nullptr);
86 }
87
88 /**
89 * @tc.name : Test GetCallRenderDevic.
90 * @tc.number: GetCallRenderDevice_002
91 * @tc.desc : GetCallRenderDevic.
92 */
93 HWTEST(UserSelectRouterUnitTest, GetCallRenderDevice_002, TestSize.Level3)
94 {
95 UserSelectRouter userSelectRouter;
96 StreamUsage streamUsage = StreamUsage::STREAM_USAGE_VOICE_MESSAGE;
97 int32_t clientUID = 1;
98 auto preferredDevice = std::make_shared<AudioDeviceDescriptor>();
99 preferredDevice->deviceId_ = 0;
100 auto result = userSelectRouter.GetCallRenderDevice(streamUsage, clientUID);
101 EXPECT_NE(result, nullptr);
102 }
103
104 /**
105 * @tc.name : Test GetMediaRenderDevice.
106 * @tc.number: GetCallRenderDevice_003
107 * @tc.desc : GetMediaRenderDevice.
108 */
109 HWTEST(UserSelectRouterUnitTest, GetCallRenderDevice_003, TestSize.Level3)
110 {
111 UserSelectRouter userSelectRouter;
112 StreamUsage streamUsage = StreamUsage::STREAM_USAGE_VOICE_MESSAGE;
113 int32_t clientUID = 1;
114 auto preferredDevice = std::make_shared<AudioDeviceDescriptor>();
115 preferredDevice->deviceId_ = 1;
116 auto result = userSelectRouter.GetCallRenderDevice(streamUsage, clientUID);
117 EXPECT_NE(result, nullptr);
118 }
119
120 /**
121 * @tc.name : Test GetCallCaptureDevice.
122 * @tc.number: GetCallCaptureDevice_001
123 * @tc.desc : GetCallCaptureDevice.
124 */
125 HWTEST(UserSelectRouterUnitTest, GetCallCaptureDevice_001, TestSize.Level3)
126 {
127 UserSelectRouter userSelectRouter;
128 SourceType sourceType = SourceType::SOURCE_TYPE_VOICE_RECOGNITION;
129 StreamUsage streamUsage = StreamUsage::STREAM_USAGE_VOICE_MESSAGE;
130 int32_t clientUID = 1;
131 uint32_t sessionID = 678;
132 auto preferredDevice = std::make_shared<AudioDeviceDescriptor>();
133 preferredDevice->deviceId_ = 1;
134 auto result = userSelectRouter.GetCallCaptureDevice(sourceType, clientUID, sessionID);
135 EXPECT_NE(result, nullptr);
136 }
137
138 /**
139 * @tc.name : Test GetCallCaptureDevice.
140 * @tc.number: GetCallCaptureDevice_001
141 * @tc.desc : GetCallCaptureDevice.
142 */
143 HWTEST(UserSelectRouterUnitTest, GetCallCaptureDevice_002, TestSize.Level4)
144 {
145 UserSelectRouter userSelectRouter;
146 SourceType sourceType = SourceType::SOURCE_TYPE_VOICE_RECOGNITION;
147 StreamUsage streamUsage = StreamUsage::STREAM_USAGE_VOICE_MESSAGE;
148 int32_t clientUID = 1;
149 uint32_t sessionID = 678;
150 auto preferredDevice = std::make_shared<AudioDeviceDescriptor>();
151 preferredDevice->deviceId_ = 0;
152 auto result = userSelectRouter.GetCallCaptureDevice(sourceType, clientUID, sessionID);
153 EXPECT_NE(result, nullptr);
154 }
155
156 /**
157 * @tc.name : Test GetRingRenderDevices.
158 * @tc.number: GetRingRenderDevices_001
159 * @tc.desc : GetRingRenderDevices.
160 */
161 HWTEST(UserSelectRouterUnitTest, GetRingRenderDevices_001, TestSize.Level3)
162 {
163 UserSelectRouter userSelectRouter;
164 int32_t clientUID = 1;
165 vector<shared_ptr<AudioDeviceDescriptor>> descs = userSelectRouter.GetRingRenderDevices(STREAM_USAGE_RINGTONE,
166 clientUID);
167 EXPECT_EQ(descs.size(), 1);
168 }
169
170 /**
171 * @tc.name : Test GetRingRenderDevices.
172 * @tc.number: GetRingRenderDevices_002
173 * @tc.desc : GetRingRenderDevices.
174 */
175 HWTEST(UserSelectRouterUnitTest, GetRingRenderDevices_002, TestSize.Level3)
176 {
177 UserSelectRouter userSelectRouter;
178 int32_t clientUID = 1;
179 vector<shared_ptr<AudioDeviceDescriptor>> descs = userSelectRouter.GetRingRenderDevices(STREAM_USAGE_VOICE_RINGTONE,
180 clientUID);
181 EXPECT_EQ(descs.size(), 1);
182 }
183
184 /**
185 * @tc.name : Test GetRingRenderDevices.
186 * @tc.number: GetRingRenderDevices_003
187 * @tc.desc : GetRingRenderDevices.
188 */
189 HWTEST(UserSelectRouterUnitTest, GetRingRenderDevices_003, TestSize.Level3)
190 {
191 UserSelectRouter userSelectRouter;
192 int32_t clientUID = 1;
193 vector<shared_ptr<AudioDeviceDescriptor>> descs = userSelectRouter.GetRingRenderDevices(STREAM_USAGE_ALARM,
194 clientUID);
195 EXPECT_EQ(descs.size(), 1);
196 }
197
198 /**
199 * @tc.name : Test GetRecordCaptureDevice.
200 * @tc.number: GetRecordCaptureDevice_001
201 * @tc.desc : GetRecordCaptureDevice.
202 */
203 HWTEST(UserSelectRouterUnitTest, GetRecordCaptureDevice_001, TestSize.Level4)
204 {
205 UserSelectRouter userSelectRouter;
206 SourceType sourceType = SourceType::SOURCE_TYPE_VOICE_RECOGNITION;
207 int32_t clientUID = 1;
208 uint32_t sessionID = 678;
209 auto result = userSelectRouter.GetRecordCaptureDevice(sourceType, clientUID, sessionID);
210 EXPECT_NE(result, nullptr);
211 }
212
213 /**
214 * @tc.name : Test GetRecordCaptureDevice.
215 * @tc.number: GetRecordCaptureDevice_002
216 * @tc.desc : GetRecordCaptureDevice.
217 */
218 HWTEST(UserSelectRouterUnitTest, GetRecordCaptureDevice_002, TestSize.Level3)
219 {
220 UserSelectRouter userSelectRouter;
221 SourceType sourceType = SourceType::SOURCE_TYPE_VOICE_TRANSCRIPTION;
222 int32_t clientUID = 1;
223 uint32_t sessionID = 678;
224 auto result = userSelectRouter.GetRecordCaptureDevice(sourceType, clientUID, sessionID);
225 EXPECT_NE(result, nullptr);
226 }
227 } // namespace AudioStandard
228 } // namespace OHOS
229