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 "camera_metadata_info_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 CameraMetadataInfoTest::SetUpTestCase(void) {}
TearDownTestCase(void)23 void CameraMetadataInfoTest::TearDownTestCase(void) {}
SetUp(void)24 void CameraMetadataInfoTest::SetUp(void)
25 {
26 printf("CameraMetadataInfoTest start\r\n");
27 }
28
TearDown(void)29 void CameraMetadataInfoTest::TearDown(void)
30 {
31 printf("CameraMetadataInfoTest end\r\n");
32 }
33
34 /**
35 * @tc.name: Camera_Metedate_Info_001
36 * @tc.desc: normal test
37 * @tc.size: MediumTest
38 * @tc.type: Function
39 */
40 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_001, TestSize.Level1)
41 {
42 int32_t ret;
43 auto metaData = make_shared<CameraMetadata>(100, 200);
44 int8_t cameraType[] = {10, 30};
45 int32_t cameraFpsRange[] = {10, 30};
46 int32_t cameraFpsRange2[] = {10, 30, 20, 40};
47
48 ret = metaData->addEntry(OHOS_ABILITY_CAMERA_TYPE, cameraType, 2);
49 EXPECT_EQ(ret, true);
50 ret = metaData->addEntry(OHOS_ABILITY_FPS_RANGES, cameraFpsRange, 2);
51 EXPECT_EQ(ret, true);
52 ret = metaData->updateEntry(OHOS_ABILITY_FPS_RANGES, cameraFpsRange2,\
53 sizeof(cameraFpsRange2) / sizeof(cameraFpsRange2[0]));
54 EXPECT_EQ(ret, true);
55 ret = metaData->isValid();
56 EXPECT_EQ(ret, true);
57 }
58
59 /**
60 * @tc.name: Camera_Metedate_Info_002
61 * @tc.desc: resize_add_metadata
62 * @tc.size: MediumTest
63 * @tc.type: Function
64 */
65 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_002, TestSize.Level1)
66 {
67 int32_t ret;
68 auto metaData = make_shared<CameraMetadata>(1, 8);
69 int8_t cameraType[] = {10, 30};
70
71 ret = metaData->addEntry(OHOS_ABILITY_CAMERA_TYPE, cameraType, 2);
72 EXPECT_EQ(ret, true);
73
74 ret = metaData->addEntry(OHOS_ABILITY_CAMERA_TYPE, cameraType, 2);
75 EXPECT_EQ(ret, true);
76
77 ret = metaData->addEntry(0, cameraType, 2);
78 EXPECT_EQ(ret, true);
79 }
80
81 /**
82 * @tc.name: Camera_Metedate_Info_003
83 * @tc.desc: nullptr test
84 * @tc.size: MediumTest
85 * @tc.type: Function
86 */
87 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_003, TestSize.Level1)
88 {
89 CameraMetadata *cameraMetadata = new CameraMetadata(1, 10);
90 bool ret = cameraMetadata->addEntry(0, nullptr, 0);
91 EXPECT_EQ(ret, false);
92 ret = cameraMetadata->addEntry(OHOS_ABILITY_CAMERA_TYPE, nullptr, 1);
93 EXPECT_EQ(ret, false);
94 int32_t temp[] = {1};
95 ret = cameraMetadata->addEntry(OHOS_ABILITY_CAMERA_TYPE, temp, 1);
96 EXPECT_EQ(ret, true);
97 ret = cameraMetadata->updateEntry(OHOS_ABILITY_CAMERA_TYPE, nullptr, 1);
98 EXPECT_EQ(ret, false);
99 }
100
101 /**
102 * @tc.name: Camera_Metedate_Info_004
103 * @tc.desc: get method test
104 * @tc.size: MediumTest
105 * @tc.type: Function
106 */
107 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_004, TestSize.Level1)
108 {
109 CameraMetadata *cameraMetadata = new CameraMetadata(10, 40);
110 common_metadata_header_t *header1 = cameraMetadata->get();
111 const common_metadata_header_t *header2;
112 header2 = cameraMetadata->get();
113 EXPECT_NE(header1, nullptr);
114 EXPECT_NE(header2, nullptr);
115 }
116
117 /**
118 * @tc.name: Camera_Metedate_Info_005
119 * @tc.desc: dst = nullptr
120 * @tc.size: MediumTest
121 * @tc.type: Function
122 */
123 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_005, TestSize.Level1)
124 {
125 printf("CameraMetadataInfoTest Camera_Metedate_Info_005 start...");
126 FreeCameraMetadataBuffer(nullptr);
127 }
128
129 /**
130 * @tc.name: Camera_Metedate_Info_006
131 * @tc.desc: dst = nullptr, item = 131071
132 * @tc.size: MediumTest
133 * @tc.type: Function
134 */
135 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_006, TestSize.Level1)
136 {
137 printf("CameraMetadataInfoTest Camera_Metedate_Info_006 start...");
138 int ret = DeleteCameraMetadataItem(nullptr, 131071);
139 EXPECT_EQ(ret, 2);
140 }
141
142 /**
143 * @tc.name: Camera_Metedate_Info_007
144 * @tc.desc: dataCount = 1, item = 18, data = nullptr
145 * @tc.size: MediumTest
146 * @tc.type: Function
147 */
148 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_007, TestSize.Level1)
149 {
150 printf("CameraMetadataInfoTest Camera_Metedate_Info_007 start...");
151 common_metadata_header_t *dst = new common_metadata_header_t;
152 dst->item_count = 1;
153 int ret = UpdateCameraMetadataItem(dst, 18, nullptr, 1, nullptr);
154 EXPECT_EQ(ret, 2);
155 }
156
157 /**
158 * @tc.name: Camera_Metedate_Info_008
159 * @tc.desc: dataCount = 1, item = -131071, data = nullptr
160 * @tc.size: MediumTest
161 * @tc.type: Function
162 */
163 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_008, TestSize.Level1)
164 {
165 printf("CameraMetadataInfoTest Camera_Metedate_Info_008 start...");
166 common_metadata_header_t *dst = new common_metadata_header_t;
167 dst->item_count = 1;
168 int ret = UpdateCameraMetadataItem(dst, -131071, nullptr, 1, nullptr);
169 EXPECT_EQ(ret, 2);
170 }
171
172 /**
173 * @tc.name: Camera_Metedate_Info_009
174 * @tc.desc: dataCount = 0, item = -131071
175 * @tc.size: MediumTest
176 * @tc.type: Function
177 */
178 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_009, TestSize.Level1)
179 {
180 printf("CameraMetadataInfoTest Camera_Metedate_Info_009 start...");
181 common_metadata_header_t *dst = new common_metadata_header_t;
182 dst->item_count = 1;
183 int32_t value = 0;
184 int ret = UpdateCameraMetadataItem(dst, -131071, &value, 0, nullptr);
185 EXPECT_EQ(ret, 2);
186 }
187
188 /**
189 * @tc.name: Camera_Metedate_Info_010
190 * @tc.desc: index = 50, dataCount = 1, data = 0
191 * @tc.size: MediumTest
192 * @tc.type: Function
193 */
194 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_010, TestSize.Level1)
195 {
196 printf("CameraMetadataInfoTest Camera_Metedate_Info_010 start...");
197 common_metadata_header_t *dst = new common_metadata_header_t;
198 dst->item_count = 1;
199 int32_t value = 0;
200 int ret = UpdateCameraMetadataItemByIndex(dst, 50, &value, 1, nullptr); // 1009
201 EXPECT_EQ(ret, 2);
202 }
203
204 /**
205 * @tc.name: Camera_Metedate_Info_011
206 * @tc.desc: index = 50, dataCount = 1, data = 0
207 * @tc.size: MediumTest
208 * @tc.type: Function
209 */
210 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_011, TestSize.Level1)
211 {
212 printf("CameraMetadataInfoTest Camera_Metedate_Info_011 start...");
213
214 auto metaData = make_shared<CameraMetadata>(100, 200);
215 float jpegGpsCoordinates[5] = {0};
216 int ret = metaData->addEntry(OHOS_JPEG_GPS_COORDINATES, jpegGpsCoordinates, 5);
217 EXPECT_NE(ret, false);
218
219 int32_t value = 0;
220 ret = UpdateCameraMetadataItemByIndex(metaData->get(), 50, &value, 50, nullptr);
221 EXPECT_NE(ret, 0);
222 ret = UpdateCameraMetadataItemByIndex(metaData->get(), 0, &value, 5, nullptr);
223 EXPECT_EQ(ret, 0);
224 }
225
226 /**
227 * @tc.name: Camera_Metedate_Info_012
228 * @tc.desc: index = 50, dataCount = 1, data = 0
229 * @tc.size: MediumTest
230 * @tc.type: Function
231 */
232 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_012, TestSize.Level1)
233 {
234 printf("CameraMetadataInfoTest Camera_Metedate_Info_012 start...");
235
236 int32_t ret;
237 uint32_t index = 0;
238 auto metaData = make_shared<CameraMetadata>(100, 200);
239 int8_t cameraType[] = {10, 30};
240 int32_t cameraFpsRange[] = {10, 30};
241 camera_metadata_item_t *item = new camera_metadata_item_t;
242
243 ret = metaData->addEntry(OHOS_ABILITY_FPS_RANGES, cameraFpsRange, 2);
244 EXPECT_EQ(ret, true);
245 ret = metaData->addEntry(OHOS_ABILITY_CAMERA_TYPE, cameraType, 2);
246 EXPECT_EQ(ret, true);
247 common_metadata_header_t *header1 = metaData->get();
248
249 ret = GetCameraMetadataItem(header1, 50, item);
250 EXPECT_EQ(ret, 2);
251 ret = metaData->FindCameraMetadataItemIndex(header1, 0, &index, true);
252 EXPECT_EQ(ret, 3);
253 }
254
255 /**
256 * @tc.name: Camera_Metedate_Info_014
257 * @tc.desc: index = 50, dataCount = 1, data = 0
258 * @tc.size: MediumTest
259 * @tc.type: Function
260 */
261 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_013, TestSize.Level1)
262 {
263 printf("CameraMetadataInfoTest Camera_Metedate_Info_014 start...");
264
265 int32_t ret;
266 int32_t value = 0;
267 CameraMetadata *cameraMetadata = new CameraMetadata(10, 40);
268
269 ret = cameraMetadata->updateEntry(OHOS_ABILITY_MOON_CAPTURE_BOOST, &value, 0);
270 EXPECT_EQ(ret, false);
271 }