• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 "camera_prelaunch_test_v1_2.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 CameraPrelaunchTestV1_2::SetUpTestCase(void) {}
TearDownTestCase(void)23 void CameraPrelaunchTestV1_2::TearDownTestCase(void) {}
SetUp(void)24 void CameraPrelaunchTestV1_2::SetUp(void)
25 {
26     cameraTest = std::make_shared<OHOS::Camera::Test>();
27     cameraTest->Init(); // assert inside
28 }
29 
TearDown(void)30 void CameraPrelaunchTestV1_2::TearDown(void)
31 {
32     cameraTest->Close();
33 }
34 
35 /**
36  * @tc.name: PreCameraSwitch
37  * @tc.desc: PreCameraSwitch cameraId:device/0
38  * @tc.size: MediumTest
39  * @tc.type: Function
40  */
41 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0010, TestSize.Level1)
42 {
43     std::string cameraId = "device/0";
44     cameraTest->rc = cameraTest->serviceV1_2->PreCameraSwitch(cameraId);
45     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
46 }
47 
48 /**
49  * @tc.name: PreCameraSwitch
50  * @tc.desc: PreCameraSwitch cameraId:device/1
51  * @tc.size: MediumTest
52  * @tc.type: Function
53  */
54 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0020, TestSize.Level1)
55 {
56     std::string cameraId = "device/1";
57     cameraTest->rc = cameraTest->serviceV1_2->PreCameraSwitch(cameraId);
58     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
59 }
60 
61 /**
62  * @tc.name: PreCameraSwitch
63  * @tc.desc: PreCameraSwitch cameraId:null
64  * @tc.size: MediumTest
65  * @tc.type: Function
66  */
67 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0030, TestSize.Level1)
68 {
69     std::string cameraId = "";
70     cameraTest->rc = cameraTest->serviceV1_2->PreCameraSwitch(cameraId);
71     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::INVALID_ARGUMENT);
72 }
73 
74 /**
75  * @tc.name: PreCameraSwitch
76  * @tc.desc: PreCameraSwitch cameraId:device/10
77  * @tc.size: MediumTest
78  * @tc.type: Function
79  */
80 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0040, TestSize.Level1)
81 {
82     std::string cameraId = "device/10";
83     cameraTest->rc = cameraTest->serviceV1_2->PreCameraSwitch(cameraId);
84     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::INVALID_ARGUMENT);
85 }
86 
87 /**
88  * @tc.name: PreCameraSwitch
89  * @tc.desc: PreCameraSwitch cameraId:ABC123
90  * @tc.size: MediumTest
91  * @tc.type: Function
92  */
93 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0050, TestSize.Level1)
94 {
95     std::string cameraId = "ABC123";
96     cameraTest->rc = cameraTest->serviceV1_2->PreCameraSwitch(cameraId);
97     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::INVALID_ARGUMENT);
98 }
99 
100 /**
101  * @tc.name: PrelaunchWithOpMode
102  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,NORMAL
103  * @tc.size: MediumTest
104  * @tc.type: Function
105  */
106 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0060, TestSize.Level1)
107 {
108     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
109     cameraTest->prelaunchConfig->cameraId = "device/0";
110     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
111     cameraTest->prelaunchConfig->setting = {};
112     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
113         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::NORMAL);
114     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
115     cameraTest->Open(DEVICE_0);
116 }
117 
118 /**
119  * @tc.name: PrelaunchWithOpMode
120  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,CAPTURE
121  * @tc.size: MediumTest
122  * @tc.type: Function
123  */
124 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0070, TestSize.Level1)
125 {
126     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
127     cameraTest->prelaunchConfig->cameraId = "device/0";
128     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
129     cameraTest->prelaunchConfig->setting = {};
130     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
131         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::CAPTURE);
132     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
133     cameraTest->Open(DEVICE_0);
134 }
135 
136 /**
137  * @tc.name: PrelaunchWithOpMode
138  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,VIDEO
139  * @tc.size: MediumTest
140  * @tc.type: Function
141  */
142 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0080, TestSize.Level1)
143 {
144     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
145     cameraTest->prelaunchConfig->cameraId = "device/0";
146     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
147     cameraTest->prelaunchConfig->setting = {};
148     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
149         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::VIDEO);
150     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
151     cameraTest->Open(DEVICE_0);
152 }
153 
154 /**
155  * @tc.name: PrelaunchWithOpMode
156  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,PORTRAIT
157  * @tc.size: MediumTest
158  * @tc.type: Function
159  */
160 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_0090, TestSize.Level1)
161 {
162     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
163     cameraTest->prelaunchConfig->cameraId = "device/0";
164     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
165     cameraTest->prelaunchConfig->setting = {};
166     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
167         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::PORTRAIT);
168     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
169     cameraTest->Open(DEVICE_0);
170 }
171 
172 /**
173  * @tc.name: PrelaunchWithOpMode
174  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,NIGHT
175  * @tc.size: MediumTest
176  * @tc.type: Function
177  */
178 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1000, TestSize.Level1)
179 {
180     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
181     cameraTest->prelaunchConfig->cameraId = "device/0";
182     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
183     cameraTest->prelaunchConfig->setting = {};
184     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
185         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::NIGHT);
186     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
187     cameraTest->Open(DEVICE_0);
188 }
189 
190 /**
191  * @tc.name: PrelaunchWithOpMode
192  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,PROFESSIONAL
193  * @tc.size: MediumTest
194  * @tc.type: Function
195  */
196 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1100, TestSize.Level1)
197 {
198     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
199     cameraTest->prelaunchConfig->cameraId = "device/0";
200     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
201     cameraTest->prelaunchConfig->setting = {};
202     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
203         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::PROFESSIONAL);
204     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
205     cameraTest->Open(DEVICE_0);
206 }
207 
208 /**
209  * @tc.name: PrelaunchWithOpMode
210  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,SLOW_MOTION
211  * @tc.size: MediumTest
212  * @tc.type: Function
213  */
214 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1200, TestSize.Level1)
215 {
216     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
217     cameraTest->prelaunchConfig->cameraId = "device/0";
218     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
219     cameraTest->prelaunchConfig->setting = {};
220     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
221         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::SLOW_MOTION);
222     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
223     cameraTest->Open(DEVICE_0);
224 }
225 
226 /**
227  * @tc.name: PrelaunchWithOpMode
228  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,SCAN_CODE
229  * @tc.size: MediumTest
230  * @tc.type: Function
231  */
232 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1300, TestSize.Level1)
233 {
234     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
235     cameraTest->prelaunchConfig->cameraId = "device/0";
236     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
237     cameraTest->prelaunchConfig->setting = {};
238     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
239         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::SCAN_CODE);
240     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
241     cameraTest->Open(DEVICE_0);
242 }
243 
244 /**
245  * @tc.name: PrelaunchWithOpMode
246  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,CAPTURE_MACRO
247  * @tc.size: MediumTest
248  * @tc.type: Function
249  */
250 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1400, TestSize.Level1)
251 {
252     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
253     cameraTest->prelaunchConfig->cameraId = "device/0";
254     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
255     cameraTest->prelaunchConfig->setting = {};
256     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
257         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::CAPTURE_MACRO);
258     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
259     cameraTest->Open(DEVICE_0);
260 }
261 
262 /**
263  * @tc.name: PrelaunchWithOpMode
264  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,VIDEO_MACRO
265  * @tc.size: MediumTest
266  * @tc.type: Function
267  */
268 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1500, TestSize.Level1)
269 {
270     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
271     cameraTest->prelaunchConfig->cameraId = "device/0";
272     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
273     cameraTest->prelaunchConfig->setting = {};
274     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
275         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::VIDEO_MACRO);
276     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
277     cameraTest->Open(DEVICE_0);
278 }
279 
280 /**
281  * @tc.name: PrelaunchWithOpMode
282  * @tc.desc: PrelaunchWithOpMode cameraId:device/0,SUPER_STAB
283  * @tc.size: MediumTest
284  * @tc.type: Function
285  */
286 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1600, TestSize.Level1)
287 {
288     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
289     cameraTest->prelaunchConfig->cameraId = "device/0";
290     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
291     cameraTest->prelaunchConfig->setting = {};
292     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
293         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::SUPER_STAB);
294     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
295     cameraTest->Open(DEVICE_0);
296 }
297 
298 /**
299  * @tc.name: PrelaunchWithOpMode
300  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,NORMAL
301  * @tc.size: MediumTest
302  * @tc.type: Function
303  */
304 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1700, TestSize.Level1)
305 {
306     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
307     cameraTest->prelaunchConfig->cameraId = "device/1";
308     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
309     cameraTest->prelaunchConfig->setting = {};
310     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
311         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::NORMAL);
312     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
313     cameraTest->Open(DEVICE_0);
314 }
315 
316 /**
317  * @tc.name: PrelaunchWithOpMode
318  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,CAPTURE
319  * @tc.size: MediumTest
320  * @tc.type: Function
321  */
322 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1800, TestSize.Level1)
323 {
324     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
325     cameraTest->prelaunchConfig->cameraId = "device/1";
326     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
327     cameraTest->prelaunchConfig->setting = {};
328     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
329         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::CAPTURE);
330     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
331     cameraTest->Open(DEVICE_0);
332 }
333 
334 /**
335  * @tc.name: PrelaunchWithOpMode
336  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,VIDEO
337  * @tc.size: MediumTest
338  * @tc.type: Function
339  */
340 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_1900, TestSize.Level1)
341 {
342     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
343     cameraTest->prelaunchConfig->cameraId = "device/1";
344     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
345     cameraTest->prelaunchConfig->setting = {};
346     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
347         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::VIDEO);
348     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
349     cameraTest->Open(DEVICE_0);
350 }
351 
352 /**
353  * @tc.name: PrelaunchWithOpMode
354  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,PORTRAIT
355  * @tc.size: MediumTest
356  * @tc.type: Function
357  */
358 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2000, TestSize.Level1)
359 {
360     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
361     cameraTest->prelaunchConfig->cameraId = "device/1";
362     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
363     cameraTest->prelaunchConfig->setting = {};
364     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
365         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::PORTRAIT);
366     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
367     cameraTest->Open(DEVICE_0);
368 }
369 
370 /**
371  * @tc.name: PrelaunchWithOpMode
372  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,NIGHT
373  * @tc.size: MediumTest
374  * @tc.type: Function
375  */
376 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2100, TestSize.Level1)
377 {
378     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
379     cameraTest->prelaunchConfig->cameraId = "device/1";
380     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
381     cameraTest->prelaunchConfig->setting = {};
382     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
383         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::NIGHT);
384     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
385     cameraTest->Open(DEVICE_0);
386 }
387 
388 /**
389  * @tc.name: PrelaunchWithOpMode
390  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,PROFESSIONAL
391  * @tc.size: MediumTest
392  * @tc.type: Function
393  */
394 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2200, TestSize.Level1)
395 {
396     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
397     cameraTest->prelaunchConfig->cameraId = "device/1";
398     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
399     cameraTest->prelaunchConfig->setting = {};
400     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
401         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::PROFESSIONAL);
402     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
403     cameraTest->Open(DEVICE_0);
404 }
405 
406 /**
407  * @tc.name: PrelaunchWithOpMode
408  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,SLOW_MOTION
409  * @tc.size: MediumTest
410  * @tc.type: Function
411  */
412 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2300, TestSize.Level1)
413 {
414     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
415     cameraTest->prelaunchConfig->cameraId = "device/1";
416     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
417     cameraTest->prelaunchConfig->setting = {};
418     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
419         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::SLOW_MOTION);
420     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
421     cameraTest->Open(DEVICE_0);
422 }
423 
424 /**
425  * @tc.name: PrelaunchWithOpMode
426  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,SCAN_CODE
427  * @tc.size: MediumTest
428  * @tc.type: Function
429  */
430 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2400, TestSize.Level1)
431 {
432     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
433     cameraTest->prelaunchConfig->cameraId = "device/1";
434     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
435     cameraTest->prelaunchConfig->setting = {};
436     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
437         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::SCAN_CODE);
438     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
439     cameraTest->Open(DEVICE_0);
440 }
441 
442 /**
443  * @tc.name: PrelaunchWithOpMode
444  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,CAPTURE_MACRO
445  * @tc.size: MediumTest
446  * @tc.type: Function
447  */
448 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2500, TestSize.Level1)
449 {
450     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
451     cameraTest->prelaunchConfig->cameraId = "device/1";
452     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
453     cameraTest->prelaunchConfig->setting = {};
454     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
455         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::CAPTURE_MACRO);
456     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
457     cameraTest->Open(DEVICE_0);
458 }
459 
460 /**
461  * @tc.name: PrelaunchWithOpMode
462  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,VIDEO_MACRO
463  * @tc.size: MediumTest
464  * @tc.type: Function
465  */
466 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2600, TestSize.Level1)
467 {
468     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
469     cameraTest->prelaunchConfig->cameraId = "device/1";
470     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
471     cameraTest->prelaunchConfig->setting = {};
472     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
473         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::VIDEO_MACRO);
474     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
475     cameraTest->Open(DEVICE_0);
476 }
477 
478 /**
479  * @tc.name: PrelaunchWithOpMode
480  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,SUPER_STAB
481  * @tc.size: MediumTest
482  * @tc.type: Function
483  */
484 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2700, TestSize.Level1)
485 {
486     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
487     cameraTest->prelaunchConfig->cameraId = "device/1";
488     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
489     cameraTest->prelaunchConfig->setting = {};
490     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
491         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::SUPER_STAB);
492     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
493     cameraTest->Open(DEVICE_0);
494 }
495 
496 /**
497  * @tc.name: PrelaunchWithOpMode
498  * @tc.desc: PrelaunchWithOpMode cameraId:device/10,NORMAL
499  * @tc.size: MediumTest
500  * @tc.type: Function
501  */
502 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2800, TestSize.Level1)
503 {
504     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
505     cameraTest->prelaunchConfig->cameraId = "device/10";
506     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
507     cameraTest->prelaunchConfig->setting = {};
508     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
509         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::NORMAL);
510     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::INVALID_ARGUMENT);
511     cameraTest->Open(DEVICE_0);
512 }
513 
514 /**
515  * @tc.name: PrelaunchWithOpMode
516  * @tc.desc: PrelaunchWithOpMode cameraId:device/1,NORMAL
517  * @tc.size: MediumTest
518  * @tc.type: Function
519  */
520 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_2900, TestSize.Level1)
521 {
522     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
523     cameraTest->prelaunchConfig->cameraId = "device/1";
524     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
525     cameraTest->prelaunchConfig->setting = {};
526     int operationMode = -1;
527     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
528         *cameraTest->prelaunchConfig, operationMode);
529     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::INVALID_ARGUMENT);
530     cameraTest->Open(DEVICE_0);
531 }
532 
533 /**
534  * @tc.name: PrelaunchWithOpMode
535  * @tc.desc: PrelaunchWithOpMode cameraId:ABC123,NORMAL
536  * @tc.size: MediumTest
537  * @tc.type: Function
538  */
539 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_3000, TestSize.Level1)
540 {
541     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
542     cameraTest->prelaunchConfig->cameraId = "ABC123";
543     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
544     cameraTest->prelaunchConfig->setting = {};
545     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
546         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::NORMAL);
547     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::INVALID_ARGUMENT);
548     cameraTest->Open(DEVICE_0);
549 }
550 
551 /**
552  * @tc.name: PrelaunchWithOpMode
553  * @tc.desc: PrelaunchWithOpMode cameraId:device/0
554  * @tc.size: MediumTest
555  * @tc.type: Function
556  */
557 HWTEST_F(CameraPrelaunchTestV1_2, SUB_Driver_Camera_PreCameraSwitch_3100, TestSize.Level1)
558 {
559     cameraTest->prelaunchConfig = std::make_shared<OHOS::HDI::Camera::V1_1::PrelaunchConfig>();
560     cameraTest->prelaunchConfig->cameraId = "device/0";
561     cameraTest->prelaunchConfig->streamInfos_V1_1 = {};
562     constexpr int32_t DEFAULT_ITEMS = 1;
563     constexpr int32_t DEFAULT_DATA_LENGTH = 1;
564     auto defaultSettings = std::make_shared<OHOS::Camera::CameraMetadata>(DEFAULT_ITEMS, DEFAULT_DATA_LENGTH);
565     float zoomRatio = 10.0f;
566     defaultSettings->addEntry(OHOS_CONTROL_ZOOM_RATIO, &zoomRatio, 1);
567     std::vector<uint8_t> settings;
568     MetadataUtils::ConvertMetadataToVec(defaultSettings, settings);
569     cameraTest->prelaunchConfig->setting = settings;
570     cameraTest->rc = cameraTest->serviceV1_2->PrelaunchWithOpMode(
571         *cameraTest->prelaunchConfig, OHOS::HDI::Camera::V1_2::NORMAL);
572     EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
573 }