1 /*
2 * Copyright (c) 2022 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 "dcamera_hdf_demo.h"
18 #include "distributed_hardware_log.h"
19
20 using namespace testing::ext;
21 using namespace OHOS::DistributedHardware;
22
23 auto mainDemo = std::make_shared<DcameraHdfDemo>();
24 int32_t cameraOk = 0;
25 int32_t sleepOk = 2;
26 int32_t camoreError = -1;
27
28 class DCameraAutomatTest : public testing::Test {
29 public:
30 static void SetUpTestCase(void);
31 static void TearDownTestCase(void);
32 void SetUp();
33 void TearDown();
34 DCameraAutomatTest();
35 };
SetUpTestCase(void)36 void DCameraAutomatTest::SetUpTestCase(void)
37 {
38 int32_t ret = mainDemo->InitSensors();
39 if (ret == camoreError) {
40 DHLOGE("main test: mainDemo->InitSensors() error");
41 return;
42 }
43
44 ret = mainDemo->InitCameraDevice();
45 if (ret == camoreError) {
46 DHLOGE("main test: mainDemo->InitCameraDevice() error");
47 return;
48 }
49 mainDemo->SetEnableResult();
50 }
51
TearDownTestCase(void)52 void DCameraAutomatTest::TearDownTestCase(void)
53 {
54 PreviewOff(mainDemo);
55 mainDemo->QuitDemo();
56 }
SetUp(void)57 void DCameraAutomatTest::SetUp(void) {}
TearDown(void)58 void DCameraAutomatTest::TearDown(void) {}
DCameraAutomatTest(void)59 DCameraAutomatTest::DCameraAutomatTest(void) {}
60
61 /**
62 * @tc.number : DCameraTest_0100
63 * @tc.name : PreviewOn parameter test
64 * @tc.desc : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
65 */
66 HWTEST_F(DCameraAutomatTest, DCameraTest_0100, TestSize.Level1)
67 {
68 int32_t ret = PreviewOn(0, mainDemo);
69 EXPECT_EQ(cameraOk, ret) << "PreviewOn fail";
70 sleep(sleepOk);
71 }
72 /**
73 * @tc.number : DCameraTest_0200
74 * @tc.name : SetAwbMode parameter test
75 * @tc.desc :[STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
76 */
77 HWTEST_F(DCameraAutomatTest, DCameraTest_0200, TestSize.Level1)
78 {
79 int32_t ret = mainDemo->SetAwbMode(sleepOk);
80 EXPECT_EQ(cameraOk, ret) << "SetAwbMode incandescent fail";
81 sleep(sleepOk);
82 }
83 /**
84 * @tc.number : DCameraTest_0300
85 * @tc.name : SetAwbMode parameter test
86 * @tc.desc : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
87 */
88 HWTEST_F(DCameraAutomatTest, DCameraTest_0300, TestSize.Level1)
89 {
90 int32_t ret = mainDemo->SetAwbMode(cameraOk);
91 EXPECT_EQ(cameraOk, ret) << "SetAwbMode fail";
92 sleep(sleepOk);
93 }
94 /**
95 * @tc.number : DCameraTest_0400
96 * @tc.name : SetAeExpo parameter test
97 * @tc.desc : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
98 */
99 HWTEST_F(DCameraAutomatTest, DCameraTest_0400, TestSize.Level1)
100 {
101 int32_t ret = mainDemo->SetAeExpo();
102 EXPECT_EQ(cameraOk, ret) << "SetAeExpo fail";
103 sleep(sleepOk);
104 }
105 /**
106 * @tc.number : DCameraTest_0500
107 * @tc.name : SetMetadata parameter test
108 * @tc.desc : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
109 */
110 HWTEST_F(DCameraAutomatTest, DCameraTest_0500, TestSize.Level1)
111 {
112 int32_t ret = mainDemo->SetMetadata();
113 EXPECT_EQ(cameraOk, ret) << "SetMetadata fail";
114 sleep(sleepOk);
115 }
116 /**
117 * @tc.number : DCameraTest_0600
118 * @tc.name : CaptureTest parameter test
119 * @tc.desc : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
120 */
121 HWTEST_F(DCameraAutomatTest, DCameraTest_0600, TestSize.Level1)
122 {
123 int32_t ret = CaptureTest(mainDemo);
124 EXPECT_EQ(cameraOk, ret) << "CaptureTest fail";
125 sleep(sleepOk);
126 }
127 /**
128 * @tc.number : DCameraTest_0700
129 * @tc.name : VideoTest parameter test
130 * @tc.desc : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
131 */
132 HWTEST_F(DCameraAutomatTest, DCameraTest_0700, TestSize.Level1)
133 {
134 int32_t ret = VideoTest(mainDemo);
135 EXPECT_EQ(cameraOk, ret) << "VideoTest fail";
136 sleep(sleepOk);
137 }
138 /**
139 * @tc.number : DCameraTest_0800
140 * @tc.name : FlashLightTest parameter test
141 * @tc.desc : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
142 */
143 HWTEST_F(DCameraAutomatTest, DCameraTest_0800, TestSize.Level1)
144 {
145 int32_t ret = FlashLightTest(mainDemo);
146 EXPECT_EQ(cameraOk, ret) << "FlashLightTest fail";
147 sleep(sleepOk);
148 }
149 /**
150 * @tc.number : DCameraTest_0900
151 * @tc.name : OfflineTest parameter test
152 * @tc.desc : [STD-DISTRIBUTED-0101]禁止修改分布式相机交互协议
153 */
154 HWTEST_F(DCameraAutomatTest, DCameraTest_0900, TestSize.Level1)
155 {
156 int32_t ret = OfflineTest(mainDemo);
157 EXPECT_EQ(cameraOk, ret) << "OfflineTest fail";
158 }
159
160 HWTEST_F(DCameraAutomatTest, DCameraTest_1000, TestSize.Level1)
161 {
162 int32_t ret = PreviewOn(1, mainDemo);
163 DHLOGI("DCameraTest_3100 = ", ret);
164 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
165 sleep(sleepOk);
166 }
167
168 HWTEST_F(DCameraAutomatTest, DCameraTest_1100, TestSize.Level1)
169 {
170 int32_t ret = PreviewOn(1, nullptr);
171 DHLOGI("DCameraTest_3200 = ", ret);
172 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
173 sleep(sleepOk);
174 }
175
176 HWTEST_F(DCameraAutomatTest, DCameraTest_1200, TestSize.Level1)
177 {
178 int32_t ret = PreviewOn(0, nullptr);
179 DHLOGI("DCameraTest_3300 = ", ret);
180 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
181 sleep(sleepOk);
182 }
183
184 HWTEST_F(DCameraAutomatTest, DCameraTest_1300, TestSize.Level1)
185 {
186 int32_t ret = PreviewOn(-1, mainDemo);
187 DHLOGI("DCameraTest_3400 = ", ret);
188 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
189 sleep(sleepOk);
190 }
191
192 HWTEST_F(DCameraAutomatTest, DCameraTest_1400, TestSize.Level1)
193 {
194 int32_t ret = mainDemo->SetAwbMode(5);
195 DHLOGI("DCameraTest_3500 = ", ret);
196 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
197 sleep(sleepOk);
198 }
199
200 HWTEST_F(DCameraAutomatTest, DCameraTest_1500, TestSize.Level1)
201 {
202 int32_t ret = mainDemo->SetAwbMode(camoreError);
203 DHLOGI("DCameraTest_3600 = ", ret);
204 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
205 sleep(sleepOk);
206 }
207
208 HWTEST_F(DCameraAutomatTest, DCameraTest_1600, TestSize.Level1)
209 {
210 int32_t ret = mainDemo->SetAwbMode(camoreError);
211 DHLOGI("DCameraTest_3700 = ", ret);
212 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
213 sleep(sleepOk);
214 ret = mainDemo->SetAeExpo();
215 DHLOGI("DCameraTest_3701 = ", ret);
216 EXPECT_EQ(cameraOk, ret) << "SetAeExpo fail";
217 sleep(sleepOk);
218 }
219
220 HWTEST_F(DCameraAutomatTest, DCameraTest_1700, TestSize.Level1)
221 {
222 int32_t ret = mainDemo->SetAwbMode(camoreError);
223 DHLOGI("DCameraTest_3800 = ", ret);
224 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
225 sleep(sleepOk);
226 ret = mainDemo->SetMetadata();
227 DHLOGI("DCameraTest_3801 = ", ret);
228 EXPECT_EQ(cameraOk, ret) << "SetMetadata fail";
229 sleep(sleepOk);
230 }
231
232 HWTEST_F(DCameraAutomatTest, DCameraTest_1800, TestSize.Level1)
233 {
234 int32_t ret = CaptureTest(nullptr);
235 DHLOGI("DCameraTest_3900 = ", ret);
236 EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
237 sleep(sleepOk);
238 }
239
240 HWTEST_F(DCameraAutomatTest, DCameraTest_1900, TestSize.Level1)
241 {
242 int32_t ret = VideoTest(nullptr);
243 DHLOGI("DCameraTest_4000 = ", ret);
244 EXPECT_NE(cameraOk, ret) << "VideoTest fail";
245 sleep(sleepOk);
246 }
247
248 HWTEST_F(DCameraAutomatTest, DCameraTest_2000, TestSize.Level1)
249 {
250 int32_t ret = FlashLightTest(nullptr);
251 DHLOGI("DCameraTest_4100 = ", ret);
252 EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
253 sleep(sleepOk);
254 }
255
256 HWTEST_F(DCameraAutomatTest, DCameraTest_2100, TestSize.Level1)
257 {
258 int32_t ret = OfflineTest(nullptr);
259 DHLOGI("DCameraTest_4200 = ", ret);
260 EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
261 sleep(sleepOk);
262 }
263
264 HWTEST_F(DCameraAutomatTest, DCameraTest_2200, TestSize.Level1)
265 {
266 int32_t ret = PreviewOn(1, nullptr);
267 DHLOGI("DCameraTest_4300 = ", ret);
268 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
269 sleep(sleepOk);
270 ret = mainDemo->SetAwbMode(5);
271 DHLOGI("DCameraTest_4301 = ", ret);
272 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
273 sleep(sleepOk);
274 }
275
276 HWTEST_F(DCameraAutomatTest, DCameraTest_2300, TestSize.Level1)
277 {
278 int32_t ret = PreviewOn(1, nullptr);
279 DHLOGI("DCameraTest_4400 = ", ret);
280 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
281 sleep(sleepOk);
282 ret = mainDemo->SetAwbMode(camoreError);
283 DHLOGI("DCameraTest_4401 = ", ret);
284 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
285 sleep(sleepOk);
286 }
287
288 HWTEST_F(DCameraAutomatTest, DCameraTest_2400, TestSize.Level1)
289 {
290 int32_t ret = PreviewOn(1, nullptr);
291 DHLOGI("DCameraTest_4500 = ", ret);
292 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
293 sleep(sleepOk);
294 ret = CaptureTest(nullptr);
295 DHLOGI("DCameraTest_4501 = ", ret);
296 EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
297 sleep(sleepOk);
298 }
299
300 HWTEST_F(DCameraAutomatTest, DCameraTest_2500, TestSize.Level1)
301 {
302 int32_t ret = PreviewOn(1, nullptr);
303 DHLOGI("DCameraTest_4600 = ", ret);
304 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
305 sleep(sleepOk);
306 ret = VideoTest(nullptr);
307 DHLOGI("DCameraTest_4601 = ", ret);
308 EXPECT_NE(cameraOk, ret) << "VideoTest fail";
309 sleep(sleepOk);
310 }
311
312 HWTEST_F(DCameraAutomatTest, DCameraTest_2600, TestSize.Level1)
313 {
314 int32_t ret = PreviewOn(1, nullptr);
315 DHLOGI("DCameraTest_4700 = ", ret);
316 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
317 sleep(sleepOk);
318 ret = PreviewOn(0, nullptr);
319 DHLOGI("DCameraTest_4701 = ", ret);
320 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
321 sleep(sleepOk);
322 }
323
324 HWTEST_F(DCameraAutomatTest, DCameraTest_2700, TestSize.Level1)
325 {
326 int32_t ret = PreviewOn(1, nullptr);
327 DHLOGI("DCameraTest_4800 = ", ret);
328 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
329 sleep(sleepOk);
330 ret = FlashLightTest(nullptr);
331 DHLOGI("DCameraTest_4801 = ", ret);
332 EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
333 sleep(sleepOk);
334 }
335
336 HWTEST_F(DCameraAutomatTest, DCameraTest_2800, TestSize.Level1)
337 {
338 int32_t ret = PreviewOn(1, nullptr);
339 DHLOGI("DCameraTest_4900 = ", ret);
340 EXPECT_NE(cameraOk, ret) << "PreviewOn fail";
341 sleep(sleepOk);
342 ret = OfflineTest(nullptr);
343 DHLOGI("DCameraTest_4901 = ", ret);
344 EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
345 sleep(sleepOk);
346 }
347
348 HWTEST_F(DCameraAutomatTest, DCameraTest_2900, TestSize.Level1)
349 {
350 int32_t ret = mainDemo->SetAwbMode(camoreError);
351 DHLOGI("DCameraTest_5000 = ", ret);
352 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
353 sleep(sleepOk);
354 ret = CaptureTest(nullptr);
355 DHLOGI("DCameraTest_5001 = ", ret);
356 EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
357 sleep(sleepOk);
358 }
359
360 HWTEST_F(DCameraAutomatTest, DCameraTest_3000, TestSize.Level1)
361 {
362 int32_t ret = mainDemo->SetAwbMode(camoreError);
363 DHLOGI("DCameraTest_5100 = ", ret);
364 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
365 sleep(sleepOk);
366 ret = VideoTest(nullptr);
367 DHLOGI("DCameraTest_5101 = ", ret);
368 EXPECT_NE(cameraOk, ret) << "VideoTest fail";
369 sleep(sleepOk);
370 }
371
372 HWTEST_F(DCameraAutomatTest, DCameraTest_3100, TestSize.Level1)
373 {
374 int32_t ret = mainDemo->SetAwbMode(camoreError);
375 DHLOGI("DCameraTest_5200 = ", ret);
376 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
377 sleep(sleepOk);
378 ret = FlashLightTest(nullptr);
379 DHLOGI("DCameraTest_5201 = ", ret);
380 EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
381 sleep(sleepOk);
382 }
383
384 HWTEST_F(DCameraAutomatTest, DCameraTest_3200, TestSize.Level1)
385 {
386 int32_t ret = mainDemo->SetAwbMode(camoreError);
387 DHLOGI("DCameraTest_5300 = ", ret);
388 EXPECT_NE(cameraOk, ret) << "SetAwbMode incandescent fail";
389 sleep(sleepOk);
390 ret = OfflineTest(nullptr);
391 DHLOGI("DCameraTest_5301 = ", ret);
392 EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
393 sleep(sleepOk);
394 }
395
396 HWTEST_F(DCameraAutomatTest, DCameraTest_3300, TestSize.Level1)
397 {
398 int32_t ret = CaptureTest(nullptr);
399 DHLOGI("DCameraTest_5400 = ", ret);
400 EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
401 sleep(sleepOk);
402 ret = VideoTest(nullptr);
403 DHLOGI("DCameraTest_5401 = ", ret);
404 EXPECT_NE(cameraOk, ret) << "VideoTest fail";
405 sleep(sleepOk);
406 }
407
408 HWTEST_F(DCameraAutomatTest, DCameraTest_3400, TestSize.Level1)
409 {
410 int32_t ret = CaptureTest(nullptr);
411 DHLOGI("DCameraTest_5500 = ", ret);
412 EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
413 sleep(sleepOk);
414 ret = FlashLightTest(nullptr);
415 DHLOGI("DCameraTest_5501 = ", ret);
416 EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
417 sleep(sleepOk);
418 }
419
420 HWTEST_F(DCameraAutomatTest, DCameraTest_3500, TestSize.Level1)
421 {
422 int32_t ret = CaptureTest(nullptr);
423 DHLOGI("DCameraTest_5600 = ", ret);
424 EXPECT_NE(cameraOk, ret) << "CaptureTest fail";
425 sleep(sleepOk);
426 ret = OfflineTest(nullptr);
427 DHLOGI("DCameraTest_5601 = ", ret);
428 EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
429 sleep(sleepOk);
430 }
431
432 HWTEST_F(DCameraAutomatTest, DCameraTest_3600, TestSize.Level1)
433 {
434 int32_t ret = VideoTest(nullptr);
435 DHLOGI("DCameraTest_5700 = ", ret);
436 EXPECT_NE(cameraOk, ret) << "VideoTest fail";
437 sleep(sleepOk);
438 ret = FlashLightTest(nullptr);
439 DHLOGI("DCameraTest_5701 = ", ret);
440 EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
441 sleep(sleepOk);
442 }
443
444 HWTEST_F(DCameraAutomatTest, DCameraTest_3700, TestSize.Level1)
445 {
446 int32_t ret = VideoTest(nullptr);
447 DHLOGI("DCameraTest_5800 = ", ret);
448 EXPECT_NE(cameraOk, ret) << "VideoTest fail";
449 sleep(sleepOk);
450 ret = OfflineTest(nullptr);
451 DHLOGI("DCameraTest_5801 = ", ret);
452 EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
453 sleep(sleepOk);
454 }
455
456 HWTEST_F(DCameraAutomatTest, DCameraTest_3800, TestSize.Level1)
457 {
458 int32_t ret = FlashLightTest(nullptr);
459 DHLOGI("DCameraTest_5900 = ", ret);
460 EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
461 sleep(sleepOk);
462 ret = OfflineTest(nullptr);
463 DHLOGI("DCameraTest_5901 = ", ret);
464 EXPECT_NE(cameraOk, ret) << "OfflineTest fail";
465 sleep(sleepOk);
466 }
467
468 HWTEST_F(DCameraAutomatTest, DCameraTest_3900, TestSize.Level1)
469 {
470 int32_t ret = FlashLightTest(nullptr);
471 DHLOGI("DCameraTest_6000 = ", ret);
472 EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
473 sleep(sleepOk);
474 ret = FlashLightTest(nullptr);
475 DHLOGI("DCameraTest_6001 = ", ret);
476 EXPECT_NE(cameraOk, ret) << "FlashLightTest fail";
477 sleep(sleepOk);
478 }