• 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 <gtest/gtest.h>
17 
18 #include "audio_device_manager.h"
19 #include "avsession_log.h"
20 #include "migrate_avsession_server.h"
21 
22 using namespace testing::ext;
23 using namespace OHOS::AVSession;
24 
25 class AudioDeviceManagerTest : public testing::Test {
26 public:
27     static void SetUpTestCase(void);
28     static void TearDownTestCase(void);
29     void SetUp();
30     void TearDown();
31 };
32 
SetUpTestCase()33 void AudioDeviceManagerTest::SetUpTestCase() {}
34 
TearDownTestCase()35 void AudioDeviceManagerTest::TearDownTestCase() {}
36 
SetUp()37 void AudioDeviceManagerTest::SetUp() {}
38 
TearDown()39 void AudioDeviceManagerTest::TearDown() {}
40 
41 /**
42  * @tc.name: InitAudioStateCallback001
43  * @tc.desc: fail to init callback
44  * @tc.type: FUNC
45  */
46 static HWTEST(AudioDeviceManagerTest, InitAudioStateCallback001, TestSize.Level1)
47 {
48     SLOGI("InitAudioStateCallback001 begin!");
49     AudioDeviceManager::GetInstance().isRegistered_ = true;
50     std::shared_ptr<MigrateAVSessionServer> migrateAVSession = nullptr;
51     std::string deviceId = "test";
52     AudioDeviceManager::GetInstance().InitAudioStateCallback(migrateAVSession, deviceId);
53     EXPECT_TRUE(AudioDeviceManager::GetInstance().migrateSession_ == nullptr);
54 }
55 
56 /**
57  * @tc.name: RegisterAudioDeviceChangeCallback001
58  * @tc.desc: audioDeviceChangeCallback_ have registered
59  * @tc.type: FUNC
60  */
61 static HWTEST(AudioDeviceManagerTest, RegisterAudioDeviceChangeCallback001, TestSize.Level1)
62 {
63     SLOGI("RegisterAudioDeviceChangeCallback001 begin!");
64     AudioDeviceManager::GetInstance().audioDeviceChangeCallback_ = std::make_shared<DeviceChangeCallback>();
65     AudioDeviceManager::GetInstance().RegisterAudioDeviceChangeCallback();
66     EXPECT_TRUE(AudioDeviceManager::GetInstance().audioDeviceChangeCallback_ != nullptr);
67 }
68 
69 /**
70  * @tc.name: RegisterPreferedOutputDeviceChangeCallback001
71  * @tc.desc: audioPreferedOutputDeviceChangeCallback_ have registered
72  * @tc.type: FUNC
73  */
74 static HWTEST(AudioDeviceManagerTest, RegisterPreferedOutputDeviceChangeCallback001, TestSize.Level1)
75 {
76     SLOGI("RegisterPreferedOutputDeviceChangeCallback001 begin!");
77     AudioDeviceManager::GetInstance().audioPreferedOutputDeviceChangeCallback_
78         = std::make_shared<OutputDeviceChangeCallback>();
79     AudioDeviceManager::GetInstance().RegisterPreferedOutputDeviceChangeCallback();
80     EXPECT_TRUE(AudioDeviceManager::GetInstance().audioPreferedOutputDeviceChangeCallback_ != nullptr);
81 }
82 
83 /**
84  * @tc.name: SendRemoteAvSessionInfo001
85  * @tc.desc: fail to send
86  * @tc.type: FUNC
87  */
88 static HWTEST(AudioDeviceManagerTest, SendRemoteAvSessionInfo001, TestSize.Level1)
89 {
90     SLOGI("SendRemoteAvSessionInfo001 begin!");
91     AudioDeviceManager::GetInstance().migrateSession_ = nullptr;
92     std::string deviceId = "test";
93     AudioDeviceManager::GetInstance().SendRemoteAvSessionInfo(deviceId);
94     EXPECT_TRUE(AudioDeviceManager::GetInstance().migrateSession_ == nullptr);
95 }
96 
97 /**
98  * @tc.name: SendRemoteAvSessionInfo002
99  * @tc.desc: success to send
100  * @tc.type: FUNC
101  */
102 static HWTEST(AudioDeviceManagerTest, SendRemoteAvSessionInfo002, TestSize.Level1)
103 {
104     SLOGI("SendRemoteAvSessionInfo002 begin!");
105     std::shared_ptr<MigrateAVSessionServer> migrateAVSession = std::make_shared<MigrateAVSessionServer>();
106     std::string deviceId = "test";
107     AudioDeviceManager::GetInstance().InitAudioStateCallback(migrateAVSession, deviceId);
108     AudioDeviceManager::GetInstance().SendRemoteAvSessionInfo(deviceId);
109     EXPECT_TRUE(AudioDeviceManager::GetInstance().migrateSession_ == nullptr);
110 }
111 
112 /**
113  * @tc.name: SendRemoteAudioMsg001
114  * @tc.desc: migrateAVSession have created
115  * @tc.type: FUNC
116  */
117 static HWTEST(AudioDeviceManagerTest, ClearRemoteAvSessionInfo001, TestSize.Level1)
118 {
119     SLOGI("ClearRemoteAvSessionInfo001 begin!");
120     std::shared_ptr<MigrateAVSessionServer> migrateAVSession = std::make_shared<MigrateAVSessionServer>();
121     AudioDeviceManager::GetInstance().migrateSession_ = migrateAVSession;
122     std::string deviceId = "test";
123     AudioDeviceManager::GetInstance().ClearRemoteAvSessionInfo(deviceId);
124     EXPECT_TRUE(AudioDeviceManager::GetInstance().migrateSession_ != nullptr);
125 }
126 
127 /**
128 * @tc.name: RegisterAudioDeviceChangeCallback002
129 * @tc.desc: audioDeviceChangeCallback_ have registered with nullptr
130 * @tc.type: FUNC
131 */
132 static HWTEST(AudioDeviceManagerTest, RegisterAudioDeviceChangeCallback002, TestSize.Level1)
133 {
134     SLOGI("RegisterAudioDeviceChangeCallback002 begin!");
135     AudioDeviceManager::GetInstance().audioDeviceChangeCallback_ = nullptr;
136     AudioDeviceManager::GetInstance().RegisterAudioDeviceChangeCallback();
137     EXPECT_TRUE(AudioDeviceManager::GetInstance().audioDeviceChangeCallback_ != nullptr);
138 }
139