• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file expected 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 #include "hdi_host_uttest.h"
16 
17 using namespace OHOS;
18 using namespace std;
19 using namespace testing::ext;
20 using namespace OHOS::Camera;
21 
SetUpTestCase(void)22 void HdiHostUtTest::SetUpTestCase(void) {}
TearDownTestCase(void)23 void HdiHostUtTest::TearDownTestCase(void) {}
SetUp(void)24 void HdiHostUtTest::SetUp(void)
25 {
26     cameraTest = std::make_shared<OHOS::Camera::Test>();
27     cameraTest->Init();
28 }
29 
TearDown(void)30 void HdiHostUtTest::TearDown(void)
31 {
32     cameraTest->Close();
33 }
34 
35 /**
36  * @tc.name: GitCameraIds
37  * @tc.desc: CamRetCode GetCameraIds([out] String[] ipds)
38  * @tc.size: MediumTest
39  * @tc.type: Function
40  */
41 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_1500, TestSize.Level0)
42 {
43     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
44     if (cameraTest->cameraDevice == nullptr) {
45         cameraTest->rc = cameraTest->service->GetCameraIds(cameraTest->cameraIds);
46         EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
47         EXPECT_LT(0, cameraTest->cameraIds.size());
48         CAMERA_LOGE("check hdi_host: cameraIds.size() = %{public}zu", cameraTest->cameraIds.size());
49     }
50 }
51 
52 /**
53  * @tc.name: GetCameraAbility
54  * @tc.desc: GetCameraAbility, abnormal cameraId = ''
55  * @tc.size: MediumTest
56  * @tc.type: Function
57  */
58 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_1600, TestSize.Level0)
59 {
60     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
61     if (cameraTest->cameraDevice == nullptr) {
62         std::string testCameraId = "";
63         cameraTest->rc = cameraTest->service->GetCameraAbility(testCameraId, cameraTest->abilityVec);
64         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
65     }
66 }
67 
68 /**
69  * @tc.name: GetCameraAbility
70  * @tc.desc: GetCameraAbility, abnormal cameraId = ' '
71  * @tc.size: MediumTest
72  * @tc.type: Function
73  */
74 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_1700, TestSize.Level0)
75 {
76     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
77     if (cameraTest->cameraDevice == nullptr) {
78         std::string testCameraId = "";
79         cameraTest->rc = cameraTest->service->GetCameraAbility(testCameraId, cameraTest->abilityVec);
80         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
81     }
82 }
83 
84 /**
85  * @tc.name: OpenCamera
86  * @tc.desc: OpenCamera, normal cameraId
87  * @tc.size: MediumTest
88  * @tc.type: Function
89  */
90 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_1800, TestSize.Level0)
91 {
92     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
93     if (cameraTest->cameraDevice == nullptr) {
94         cameraTest->service->GetCameraIds(cameraTest->cameraIds);
95         cameraTest->deviceCallback = new OHOS::Camera::Test::DemoCameraDeviceCallback();
96         cameraTest->rc = cameraTest->service->OpenCamera(cameraTest->cameraIds.front(), cameraTest->deviceCallback,
97             cameraTest->cameraDevice);
98         EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
99         if (cameraTest->rc != HDI::Camera::V1_0::NO_ERROR || cameraTest->cameraDevice == nullptr) {
100             CAMERA_LOGE("check hdi_host: OpenCamera failed");
101             return;
102         }
103     }
104 }
105 
106 /**
107  * @tc.name: OpenCamera
108  * @tc.desc: OpenCamera, cameraId is not found
109  * @tc.size: MediumTest
110  * @tc.type: Function
111  */
112 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_1900, TestSize.Level0)
113 {
114     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
115     if (cameraTest->cameraDevice == nullptr) {
116         std::string testCameraId = "qwerty";
117         cameraTest->deviceCallback = new OHOS::Camera::Test::DemoCameraDeviceCallback();
118         cameraTest->rc = cameraTest->service->OpenCamera(testCameraId, cameraTest->deviceCallback,
119             cameraTest->cameraDevice);
120         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
121     }
122 }
123 
124 /**
125  * @tc.name: OpenCamera
126  * @tc.desc: OpenCamera, cameraId is illegal
127  * @tc.size: MediumTest
128  * @tc.type: Function
129  */
130 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2000, TestSize.Level0)
131 {
132     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
133     if (cameraTest->cameraDevice == nullptr) {
134         std::string testCameraId = "1";
135         cameraTest->deviceCallback = new OHOS::Camera::Test::DemoCameraDeviceCallback();
136         cameraTest->rc = cameraTest->service->OpenCamera(testCameraId, cameraTest->deviceCallback,
137             cameraTest->cameraDevice);
138         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
139     }
140 }
141 
142 /**
143  * @tc.name: OpenCamera
144  * @tc.desc: OpenCamera, cameraId is empty
145  * @tc.size: MediumTest
146  * @tc.type: Function
147  */
148 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2100, TestSize.Level0)
149 {
150     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
151     if (cameraTest->cameraDevice == nullptr) {
152         std::string testCameraId = "";
153         cameraTest->deviceCallback = new OHOS::Camera::Test::DemoCameraDeviceCallback();
154         cameraTest->rc = cameraTest->service->OpenCamera(testCameraId, cameraTest->deviceCallback,
155             cameraTest->cameraDevice);
156         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
157     }
158 }
159 
160 /**
161  * @tc.name: OpenCamera
162  * @tc.desc: OpenCamera, callback is null
163  * @tc.size: MediumTest
164  * @tc.type: Function
165  */
166 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2200, TestSize.Level0)
167 {
168     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
169     if (cameraTest->cameraDevice == nullptr) {
170         cameraTest->service->GetCameraIds(cameraTest->cameraIds);
171         cameraTest->deviceCallback = nullptr;
172         cameraTest->rc = cameraTest->service->OpenCamera(cameraTest->cameraIds.front(), cameraTest->deviceCallback,
173             cameraTest->cameraDevice);
174         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
175     }
176 }
177 
178 /**
179  * @tc.name: OpenCamera
180  * @tc.desc: cameraId is not found, callback is null
181  * @tc.size: MediumTest
182  * @tc.type: Function
183  */
184 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2300, TestSize.Level0)
185 {
186     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
187     if (cameraTest->cameraDevice == nullptr) {
188         std::string testCameraId = "abc";
189         cameraTest->deviceCallback = nullptr;
190         cameraTest->rc = cameraTest->service->OpenCamera(testCameraId, cameraTest->deviceCallback,
191             cameraTest->cameraDevice);
192         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
193     }
194 }
195 
196 /**
197  * @tc.name: SetFlashlight
198  * @tc.desc: SetFlashlight, normal cameraId
199  * @tc.size: MediumTest
200  * @tc.type: Function
201  */
202 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2400, TestSize.Level0)
203 {
204     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
205     if (cameraTest->cameraDevice == nullptr) {
206         cameraTest->service->GetCameraIds(cameraTest->cameraIds);
207         if (cameraTest->cameraIds.size() > 2) {
208             cameraTest->status = true;
209             cameraTest->rc = cameraTest->service->SetFlashlight(cameraTest->cameraIds.front(), cameraTest->status);
210             EXPECT_EQ(true, cameraTest->rc == HDI::Camera::V1_0::NO_ERROR);
211         }
212     }
213 }
214 
215 /**
216  * @tc.name: SetFlashlight
217  * @tc.desc: SetFlashlight, cameraId is not found
218  * @tc.size: MediumTest
219  * @tc.type: Function
220  */
221 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2500, TestSize.Level0)
222 {
223     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
224     if (cameraTest->cameraDevice == nullptr) {
225         std::string testCameraId = "abc";
226         cameraTest->status = true;
227         cameraTest->rc = cameraTest->service->SetFlashlight(testCameraId, cameraTest->status);
228         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
229     }
230 }
231 
232 /**
233  * @tc.name: SetFlashlight
234  * @tc.desc: SetFlashlight, cameraId is not found
235  * @tc.size: MediumTest
236  * @tc.type: Function
237  */
238 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2600, TestSize.Level0)
239 {
240     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
241     if (cameraTest->cameraDevice == nullptr) {
242         std::string testCameraId = "";
243         cameraTest->status = true;
244         cameraTest->rc = cameraTest->service->SetFlashlight(testCameraId, cameraTest->status);
245         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
246     }
247 }
248 
249 /**
250  * @tc.name: SetFlashlight
251  * @tc.desc: SetFlashlight, status is false
252  * @tc.size: MediumTest
253  * @tc.type: Function
254  */
255 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2700, TestSize.Level0)
256 {
257     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
258     if (cameraTest->cameraDevice == nullptr) {
259         cameraTest->service->GetCameraIds(cameraTest->cameraIds);
260         if (cameraTest->cameraIds.size() > 2) {
261             cameraTest->status = false;
262             cameraTest->rc = cameraTest->service->SetFlashlight(cameraTest->cameraIds.front(), cameraTest->status);
263             EXPECT_EQ(true, cameraTest->rc == HDI::Camera::V1_0::NO_ERROR);
264         }
265     }
266 }
267 
268 /**
269  * @tc.name: GetCameraAbility
270  * @tc.desc: GetCameraAbility, normal cameraId
271  * @tc.size: MediumTest
272  * @tc.type: Function
273  */
274 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_Merge_2800, TestSize.Level0)
275 {
276     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
277     if (cameraTest->cameraDevice == nullptr) {
278         cameraTest->rc = cameraTest->service->GetCameraIds(cameraTest->cameraIds);
279         EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
280         for (int i = 0; i < cameraTest->cameraIds.size(); i++) {
281             cameraTest->rc = cameraTest->service->GetCameraAbility(cameraTest->cameraIds[i], cameraTest->abilityVec);
282             CAMERA_LOGE("check hdi_host: cameraId = %{public}s", cameraTest->cameraIds[i].c_str());
283             EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
284         }
285     }
286 }
287 
288 #ifdef DISPLAY_COMMUNITY
289 /**
290  * @tc.name: SetFlashlight
291  * @tc.desc: SetFlashlight, normal cameraId
292  * @tc.size: MediumTest
293  * @tc.type: Function
294  */
295 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_MergeRK_2400, TestSize.Level0)
296 {
297     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
298     if (cameraTest->cameraDevice == nullptr) {
299         cameraTest->service->GetCameraIds(cameraTest->cameraIds);
300         cameraTest->status = true;
301         cameraTest->rc = cameraTest->service->SetFlashlight(cameraTest->cameraIds.front(), cameraTest->status);
302         EXPECT_EQ(true, cameraTest->rc == HDI::Camera::V1_0::NO_ERROR);
303     }
304 }
305 
306 /**
307  * @tc.name: SetFlashlight
308  * @tc.desc: SetFlashlight, status is false
309  * @tc.size: MediumTest
310  * @tc.type: Function
311  */
312 HWTEST_F(HdiHostUtTest, SUB_Driver_Camera_MergeRK_2700, TestSize.Level0)
313 {
314     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
315     if (cameraTest->cameraDevice == nullptr) {
316         cameraTest->service->GetCameraIds(cameraTest->cameraIds);
317         cameraTest->status = false;
318         cameraTest->rc = cameraTest->service->SetFlashlight(cameraTest->cameraIds.front(), cameraTest->status);
319         EXPECT_EQ(true, cameraTest->rc == HDI::Camera::V1_0::NO_ERROR);
320     }
321 }
322 #endif