• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 <gmock/gmock.h>
17 #include <gtest/gtest.h>
18 #include "audio_internal.h"
19 
20 using namespace std;
21 using namespace testing::ext;
22 namespace {
23 class AudioManagerTest : public testing::Test {
24 public:
25     static void SetUpTestCase();
26     static void TearDownTestCase();
27 };
28 
SetUpTestCase()29 void AudioManagerTest::SetUpTestCase()
30 {
31 }
32 
TearDownTestCase()33 void AudioManagerTest::TearDownTestCase()
34 {
35 }
36 
37 HWTEST_F(AudioManagerTest, AudioManagerGetAllAdaptersWhenManagerIsNull, TestSize.Level1)
38 {
39     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
40     int32_t size = 0;
41     struct AudioManager *manager = nullptr;
42     struct AudioAdapterDescriptor *descs;
43     int32_t ret = managerFuncs->GetAllAdapters(manager, &descs, &size);
44     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret);
45 }
46 
47 HWTEST_F(AudioManagerTest, AudioManagerGetAllAdaptersWhenDescsIsNull, TestSize.Level1)
48 {
49     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
50     int32_t size = 0;
51     int32_t ret = managerFuncs->GetAllAdapters(managerFuncs, nullptr, &size);
52     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret);
53 }
54 
55 HWTEST_F(AudioManagerTest, AudioManagerGetAllAdaptersWhenSizeIsNull, TestSize.Level1)
56 {
57     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
58     int32_t *size = nullptr;
59     struct AudioAdapterDescriptor *descs;
60     int32_t ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, size);
61     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret);
62 }
63 
64 HWTEST_F(AudioManagerTest, AudioManagerGetAllAdaptersWhenParamIsValid, TestSize.Level1)
65 {
66     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
67     int32_t size = 0;
68     struct AudioAdapterDescriptor *descs;
69     int32_t ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, &size);
70     EXPECT_EQ(HDF_SUCCESS, ret);
71 }
72 
73 HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenManagerIsNull, TestSize.Level1)
74 {
75     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
76     struct AudioManager *manager = nullptr;
77     const struct AudioAdapterDescriptor *desc = new AudioAdapterDescriptor;
78     struct AudioAdapter *adapter;
79     int32_t ret = managerFuncs->LoadAdapter(manager, desc, &adapter);
80     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret);
81     delete(desc);
82     desc = nullptr;
83 }
84 
85 HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenDescIsNull, TestSize.Level1)
86 {
87     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
88     const struct AudioAdapterDescriptor *desc = nullptr;
89     struct AudioAdapter *adapter;
90     int32_t ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter);
91     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret);
92 }
93 
94 HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenAdapterNameIsNull, TestSize.Level1)
95 {
96     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
97     struct AudioAdapterDescriptor descTemp;
98     descTemp.adapterName = nullptr;
99     const struct AudioAdapterDescriptor *desc = &descTemp;
100     struct AudioAdapter *adapter;
101     int32_t ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter);
102     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret);
103 }
104 
105 HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenAdapterIsNull, TestSize.Level1)
106 {
107     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
108     const struct AudioAdapterDescriptor *desc = new AudioAdapterDescriptor;
109     int32_t ret = managerFuncs->LoadAdapter(managerFuncs, desc, nullptr);
110     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret);
111     delete(desc);
112     desc = nullptr;
113 }
114 
115 HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenDescIsError, TestSize.Level1)
116 {
117     int32_t ret;
118     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
119     ASSERT_NE(managerFuncs, nullptr);
120     int32_t size = 0;
121     struct AudioAdapterDescriptor *descs;
122     ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, &size);
123     ASSERT_EQ(HDF_SUCCESS, ret);
124     struct AudioAdapterDescriptor *desc = new AudioAdapterDescriptor;
125     struct AudioPort ports;
126     desc->adapterName = " ";
127     desc->ports = &ports;
128     desc->portNum = 1;
129     struct AudioAdapter *adapter;
130     ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter);
131     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_OBJECT, ret);
132     managerFuncs->UnloadAdapter(managerFuncs, adapter);
133     adapter = nullptr;
134     delete desc;
135     desc = nullptr;
136 }
137 
138 HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenAdapterNameIsError, TestSize.Level1)
139 {
140     int32_t ret;
141     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
142     ASSERT_NE(managerFuncs, nullptr);
143     int32_t size = 0;
144     struct AudioAdapterDescriptor *descs;
145     ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, &size);
146     ASSERT_EQ(HDF_SUCCESS, ret);
147 
148     struct AudioAdapterDescriptor *desc = &descs[0];
149     desc->adapterName = "abc";
150     static struct AudioAdapter *adapter;
151     ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter);
152     EXPECT_EQ(AUDIO_HAL_ERR_INVALID_PARAM, ret);
153     managerFuncs->UnloadAdapter(managerFuncs, adapter);
154     adapter = nullptr;
155 }
156 
157 HWTEST_F(AudioManagerTest, AudioManagerLoadAdapterWhenParamIsValid, TestSize.Level1)
158 {
159     int32_t ret;
160     struct AudioManager *managerFuncs = GetAudioManagerFuncs();
161     ASSERT_NE(managerFuncs, nullptr);
162     int32_t size = 0;
163     struct AudioAdapterDescriptor *descs;
164     ret = managerFuncs->GetAllAdapters(managerFuncs, &descs, &size);
165     ASSERT_EQ(HDF_SUCCESS, ret);
166 
167     struct AudioAdapterDescriptor *desc = &descs[0];
168     static struct AudioAdapter *adapter;
169     ret = managerFuncs->LoadAdapter(managerFuncs, desc, &adapter);
170     EXPECT_EQ(HDF_SUCCESS, ret);
171     managerFuncs->UnloadAdapter(managerFuncs, adapter);
172     adapter = nullptr;
173 }
174 }
175