• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 "privacy_priority_router_unit_test.h"
17 #include "audio_errors.h"
18 #include "audio_policy_log.h"
19 
20 #include <thread>
21 #include <memory>
22 #include <vector>
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 namespace AudioStandard {
27 
SetUpTestCase(void)28 void PrivacyPriorityRouterUnitTest::SetUpTestCase(void) {}
TearDownTestCase(void)29 void PrivacyPriorityRouterUnitTest::TearDownTestCase(void) {}
SetUp(void)30 void PrivacyPriorityRouterUnitTest::SetUp(void) {}
TearDown(void)31 void PrivacyPriorityRouterUnitTest::TearDown(void) {}
32 
33 /**
34  * @tc.name  : Test PrivacyPriorityRouter.
35  * @tc.number: GetRecordCaptureDevice_002
36  * @tc.desc  : Test GetRecordCaptureDevice interface.
37  */
38 HWTEST(PrivacyPriorityRouterUnitTest, GetRecordCaptureDevice_002, TestSize.Level1)
39 {
40     PrivacyPriorityRouter privacyPriorityRouter;
41     SourceType sourceType = SOURCE_TYPE_VOICE_RECOGNITION;
42     int32_t clientUID = 1;
43     uint32_t sessionID = 1;
44     auto result = privacyPriorityRouter.GetRecordCaptureDevice(sourceType, clientUID, sessionID);
45     EXPECT_NE(result, nullptr);
46 }
47 
48 /**
49  * @tc.name  : Test PrivacyPriorityRouter.
50  * @tc.number: GetRecordCaptureDevice_003
51  * @tc.desc  : Test GetRecordCaptureDevice interface.
52  */
53 HWTEST(PrivacyPriorityRouterUnitTest, GetRecordCaptureDevice_003, TestSize.Level1)
54 {
55     PrivacyPriorityRouter privacyPriorityRouter;
56     SourceType sourceType = SOURCE_TYPE_INVALID;
57     int32_t clientUID = 1;
58     uint32_t sessionID = 1;
59     auto result = privacyPriorityRouter.GetRecordCaptureDevice(sourceType, clientUID, sessionID);
60     EXPECT_NE(result, nullptr);
61 }
62 
63 /**
64  * @tc.name  : Test PrivacyPriorityRouter.
65  * @tc.number: GetRecordCaptureDevice_004
66  * @tc.desc  : Test GetRecordCaptureDevice interface.
67  */
68 HWTEST(PrivacyPriorityRouterUnitTest, GetRecordCaptureDevice_004, TestSize.Level1)
69 {
70     PrivacyPriorityRouter privacyPriorityRouter;
71     SourceType sourceType = SOURCE_TYPE_INVALID;
72     int32_t clientUID = 1;
73     uint32_t sessionID = 1;
74     shared_ptr<AudioDeviceDescriptor> desc = make_shared<AudioDeviceDescriptor>();
75     desc->deviceType_ = DEVICE_TYPE_BLUETOOTH_SCO;
76     auto result = privacyPriorityRouter.GetRecordCaptureDevice(sourceType, clientUID, sessionID);
77     EXPECT_NE(result->deviceType_, desc->deviceType_);
78 }
79 
80 /**
81  * @tc.name  : Test PrivacyPriorityRouter.
82  * @tc.number: GetCallRenderDevice_001
83  * @tc.desc  : Test GetCallRenderDevice interface.
84  */
85 HWTEST(PrivacyPriorityRouterUnitTest, GetCallRenderDevice_001, TestSize.Level1)
86 {
87     PrivacyPriorityRouter privacyPriorityRouter;
88     StreamUsage streamUsage = STREAM_USAGE_VOICE_MODEM_COMMUNICATION;
89     int32_t clientUID = 12345;
90     auto result = privacyPriorityRouter.GetCallRenderDevice(streamUsage, clientUID);
91     EXPECT_NE(result, nullptr);
92 }
93 
94 /**
95  * @tc.name  : Test PrivacyPriorityRouter.
96  * @tc.number: GetCallRenderDevice_002
97  * @tc.desc  : Test GetCallRenderDevice interface.
98  */
99 HWTEST(PrivacyPriorityRouterUnitTest, GetCallRenderDevice_002, TestSize.Level1)
100 {
101     PrivacyPriorityRouter privacyPriorityRouter;
102     StreamUsage streamUsage = STREAM_USAGE_MEDIA;
103     int32_t clientUID = 12345;
104     auto result = privacyPriorityRouter.GetCallRenderDevice(streamUsage, clientUID);
105     EXPECT_NE(result, nullptr);
106 }
107 
108 /**
109  * @tc.name  : Test PrivacyPriorityRouter.
110  * @tc.number: PrivacyPriorityRouter_001
111  * @tc.desc  : Test NeedLatestConnectWithDefaultDevices interface.
112  */
113 HWTEST(PrivacyPriorityRouterUnitTest, PrivacyPriorityRouter_001, TestSize.Level1)
114 {
115     PrivacyPriorityRouter router;
116 
117     EXPECT_TRUE(router.NeedLatestConnectWithDefaultDevices(DEVICE_TYPE_WIRED_HEADSET));
118     EXPECT_TRUE(router.NeedLatestConnectWithDefaultDevices(DEVICE_TYPE_WIRED_HEADPHONES));
119     EXPECT_TRUE(router.NeedLatestConnectWithDefaultDevices(DEVICE_TYPE_BLUETOOTH_SCO));
120     EXPECT_TRUE(router.NeedLatestConnectWithDefaultDevices(DEVICE_TYPE_USB_HEADSET));
121     EXPECT_TRUE(router.NeedLatestConnectWithDefaultDevices(DEVICE_TYPE_BLUETOOTH_A2DP));
122     EXPECT_TRUE(router.NeedLatestConnectWithDefaultDevices(DEVICE_TYPE_USB_ARM_HEADSET));
123     EXPECT_FALSE(router.NeedLatestConnectWithDefaultDevices(DEVICE_TYPE_NONE));
124 }
125 
126 /**
127  * @tc.name  : Test PrivacyPriorityRouter.
128  * @tc.number: PrivacyPriorityRouter_002
129  * @tc.desc  : Test GetRingRenderDevices interface.
130  */
131 HWTEST(PrivacyPriorityRouterUnitTest, PrivacyPriorityRouter_002, TestSize.Level1)
132 {
133     PrivacyPriorityRouter router;
134 
135     EXPECT_EQ(1, router.GetRingRenderDevices(STREAM_USAGE_VOICE_RINGTONE, 1).size());
136     EXPECT_EQ(1, router.GetRingRenderDevices(STREAM_USAGE_RINGTONE, 1).size());
137     EXPECT_EQ(1, router.GetRingRenderDevices(STREAM_USAGE_ALARM, 1).size());
138 }
139 } // namespace AudioStandard
140 } // namespace OHOS
141