• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 <gtest/gtest.h>
17 #include "playback_capturer_adapter.h"
18 #include "playback_capturer_manager.h"
19 #include "audio_info.h"
20 #include "audio_errors.h"
21 
22 using namespace testing::ext;
23 namespace OHOS {
24 namespace AudioStandard {
25 static PlaybackCapturerManager *playbackCapturerMgr_ = PlaybackCapturerManager::GetInstance();
26 
27 class PlaybackPlaybackCapturerManagerUnitTest : public testing::Test {
28 public:
29     static void SetUpTestCase(void);
30     static void TearDownTestCase(void);
31     void SetUp();
32     void TearDown();
33 };
34 
SetUpTestCase(void)35 void PlaybackPlaybackCapturerManagerUnitTest::SetUpTestCase(void)
36 {
37     // input testsuit setup step,setup invoked before all testcases
38 }
39 
TearDownTestCase(void)40 void PlaybackPlaybackCapturerManagerUnitTest::TearDownTestCase(void)
41 {
42     // input testsuit teardown step,teardown invoked after all testcases
43 }
44 
SetUp(void)45 void PlaybackPlaybackCapturerManagerUnitTest::SetUp(void)
46 {
47     // input testcase setup step,setup invoked before each testcases
48 }
49 
TearDown(void)50 void PlaybackPlaybackCapturerManagerUnitTest::TearDown(void)
51 {
52     // input testcase teardown step,teardown invoked after each testcases
53 }
54 
55 /**
56  * @tc.name  : Test IsPrivacySupportInnerCapturer API via legal state
57  * @tc.type  : FUNC
58  * @tc.number: IsPrivacySupportInnerCapturer_001
59  * @tc.desc  : Test IsPrivacySupportInnerCapturer interface. Is privacy support innter capturer and return ret.
60  */
61 HWTEST(PlaybackPlaybackCapturerManagerUnitTest, IsPrivacySupportInnerCapturer_001, TestSize.Level1)
62 {
63     bool ret = IsPrivacySupportInnerCapturer(PRIVACY_TYPE_PUBLIC);
64     EXPECT_TRUE(ret);
65 }
66 
67 /**
68  * @tc.name  : Test IsPrivacySupportInnerCapturer API via legal state
69  * @tc.type  : FUNC
70  * @tc.number: IsPrivacySupportInnerCapturer_002
71  * @tc.desc  : Test IsPrivacySupportInnerCapturer interface. Is privacy support innter capturer and return ret.
72  */
73 HWTEST(PlaybackPlaybackCapturerManagerUnitTest, IsPrivacySupportInnerCapturer_002, TestSize.Level1)
74 {
75     bool ret = IsPrivacySupportInnerCapturer(PRIVACY_TYPE_PRIVATE);
76     EXPECT_FALSE(ret);
77 }
78 
79 /**
80  * @tc.name  : Test SetInnerCapturerState API via legal and illegal state
81  * @tc.type  : FUNC
82  * @tc.number: SetInnerCapturerState_001
83  * @tc.desc  : Test SetInnerCapturerState interface. Set inner capturer state.
84  */
85 HWTEST(PlaybackPlaybackCapturerManagerUnitTest, SetInnerCapturerState_001, TestSize.Level1)
86 {
87     SetInnerCapturerState(true);
88     bool ret = GetInnerCapturerState();
89     EXPECT_TRUE(ret);
90     SetInnerCapturerState(false);
91     ret = GetInnerCapturerState();
92     EXPECT_FALSE(ret);
93 }
94 
95 /**
96  * @tc.name  : Test RegisterCapturerFilterListener API via legal and illegal state
97  * @tc.type  : FUNC
98  * @tc.number: RegisterCapturerFilterListener_001
99  * @tc.desc  : Test RegisterCapturerFilterListener interface
100  */
101 HWTEST(PlaybackPlaybackCapturerManagerUnitTest, RegisterCapturerFilterListener_001, TestSize.Level1)
102 {
103     bool ret = playbackCapturerMgr_->RegisterCapturerFilterListener(nullptr);
104     EXPECT_FALSE(ret);
105 }
106 
107 /**
108  * @tc.name  : Test CheckCaptureLimit API
109  * @tc.type  : FUNC
110  * @tc.number: CheckCaptureLimit_001
111  * @tc.desc  : Test CheckCaptureLimit interface
112  */
113 HWTEST(PlaybackPlaybackCapturerManagerUnitTest, CheckCaptureLimit_001, TestSize.Level1)
114 {
115     AudioPlaybackCaptureConfig config;
116     int32_t innerCapId = 0;
117     int32_t ret = playbackCapturerMgr_->CheckCaptureLimit(config, innerCapId);
118     EXPECT_EQ(ret, SUCCESS);
119     ret = playbackCapturerMgr_->SetInnerCapLimit(++innerCapId);
120     EXPECT_EQ(ret, SUCCESS);
121     ret = playbackCapturerMgr_->CheckCaptureLimit(config, innerCapId);
122     EXPECT_EQ(ret, SUCCESS);
123     config.filterOptions.usages.push_back(STREAM_USAGE_MUSIC);
124     ret = playbackCapturerMgr_->CheckCaptureLimit(config, innerCapId);
125     EXPECT_EQ(ret, SUCCESS);
126     playbackCapturerMgr_->CheckReleaseUnloadModernInnerCapSink(innerCapId--);
127     playbackCapturerMgr_->CheckReleaseUnloadModernInnerCapSink(innerCapId);
128     bool checkRet = playbackCapturerMgr_->CheckReleaseUnloadModernInnerCapSink(1);
129     EXPECT_TRUE(checkRet);
130 }
131 
132 }
133 }