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