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 }