• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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_DriverSystem_CameraHdiMg_0150, 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_DriverSystem_CameraHdiMg_0160, 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_DriverSystem_CameraHdiMg_0170, 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_DriverSystem_CameraHdiMg_0180, 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_DriverSystem_CameraHdiMg_0190, 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_DriverSystem_CameraHdiMg_0200, 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_DriverSystem_CameraHdiMg_0210, 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_DriverSystem_CameraHdiMg_0220, 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_DriverSystem_CameraHdiMg_0230, 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_DriverSystem_CameraHdiMg_0240, TestSize.Level0)
203 {
204     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
205     if (cameraTest->cameraDevice == nullptr) {
206         cameraTest->service->GetCameraIds(cameraTest->cameraIds);
207         cameraTest->status = true;
208         cameraTest->rc = cameraTest->service->SetFlashlight(cameraTest->cameraIds.front(), cameraTest->status);
209         EXPECT_EQ(true, cameraTest->rc == HDI::Camera::V1_0::NO_ERROR);
210     }
211 }
212 
213 /**
214  * @tc.name: SetFlashlight
215  * @tc.desc: SetFlashlight, cameraId is not found
216  * @tc.size: MediumTest
217  * @tc.type: Function
218  */
219 HWTEST_F(HdiHostUtTest, SUB_DriverSystem_CameraHdiMg_0250, TestSize.Level0)
220 {
221     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
222     if (cameraTest->cameraDevice == nullptr) {
223         std::string testCameraId = "abc";
224         cameraTest->status = true;
225         cameraTest->rc = cameraTest->service->SetFlashlight(testCameraId, cameraTest->status);
226         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
227     }
228 }
229 
230 /**
231  * @tc.name: SetFlashlight
232  * @tc.desc: SetFlashlight, cameraId is not found
233  * @tc.size: MediumTest
234  * @tc.type: Function
235  */
236 HWTEST_F(HdiHostUtTest, SUB_DriverSystem_CameraHdiMg_0260, TestSize.Level0)
237 {
238     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
239     if (cameraTest->cameraDevice == nullptr) {
240         std::string testCameraId = "";
241         cameraTest->status = true;
242         cameraTest->rc = cameraTest->service->SetFlashlight(testCameraId, cameraTest->status);
243         EXPECT_EQ(true, cameraTest->rc == INVALID_ARGUMENT);
244     }
245 }
246 
247 /**
248  * @tc.name: SetFlashlight
249  * @tc.desc: SetFlashlight, status is false
250  * @tc.size: MediumTest
251  * @tc.type: Function
252  */
253 HWTEST_F(HdiHostUtTest, SUB_DriverSystem_CameraHdiMg_0270, TestSize.Level0)
254 {
255     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
256     if (cameraTest->cameraDevice == nullptr) {
257         cameraTest->service->GetCameraIds(cameraTest->cameraIds);
258         cameraTest->status = false;
259         cameraTest->rc = cameraTest->service->SetFlashlight(cameraTest->cameraIds.front(), cameraTest->status);
260         EXPECT_EQ(true, cameraTest->rc == HDI::Camera::V1_0::NO_ERROR);
261     }
262 }
263 
264 /**
265  * @tc.name: GetCameraAbility
266  * @tc.desc: GetCameraAbility, normal cameraId
267  * @tc.size: MediumTest
268  * @tc.type: Function
269  */
270 HWTEST_F(HdiHostUtTest, SUB_DriverSystem_CameraHdiMg_0280, TestSize.Level0)
271 {
272     EXPECT_EQ(true, cameraTest->cameraDevice == nullptr);
273     if (cameraTest->cameraDevice == nullptr) {
274         cameraTest->rc = cameraTest->service->GetCameraIds(cameraTest->cameraIds);
275         EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
276         for (int i = 0; i < cameraTest->cameraIds.size(); i++) {
277             cameraTest->rc = cameraTest->service->GetCameraAbility(cameraTest->cameraIds[i], cameraTest->abilityVec);
278             CAMERA_LOGE("check hdi_host: cameraId = %{public}s", cameraTest->cameraIds[i].c_str());
279             EXPECT_EQ(cameraTest->rc, HDI::Camera::V1_0::NO_ERROR);
280         }
281     }
282 }