Skip to content

Commit 9409278

Browse files
authored
Upload APIs rename call should return metadata and context
1 parent bec0c3b commit 9409278

File tree

4 files changed

+53
-7
lines changed

4 files changed

+53
-7
lines changed

cloudinary-core/src/main/java/com/cloudinary/Uploader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,8 @@ public Map rename(String fromPublicId, String toPublicId, Map options) throws IO
247247
params.put("to_public_id", toPublicId);
248248
params.put("invalidate", ObjectUtils.asBoolean(options.get("invalidate"), false).toString());
249249
params.put("to_type", options.get("to_type"));
250+
params.put("context", ObjectUtils.asBoolean(options.get("context"), false).toString());
251+
params.put("metadata", ObjectUtils.asBoolean(options.get("metadata"), false).toString());
250252
return callApi("rename", params, options, null);
251253
}
252254

cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractStructuredMetadataTest.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -302,17 +302,12 @@ private SetMetadataField createSetField(String labelPrefix) {
302302
}
303303

304304
private StringMetadataField newFieldInstance(String labelPrefix) throws Exception {
305-
StringMetadataField field = new StringMetadataField();
306305
String label = labelPrefix + "_" + SUFFIX;
307-
field.setLabel(label);
308-
field.setMandatory(true);
309-
field.setValidation(new MetadataValidation.StringLength(3, 9));
310-
field.setDefaultValue("val_test");
311-
return field;
306+
return MetadataTestHelper.newFieldInstance(label);
312307
}
313308

314309
private ApiResponse addFieldToAccount(MetadataField field) throws Exception {
315-
ApiResponse apiResponse = api.addMetadataField(field);
310+
ApiResponse apiResponse = MetadataTestHelper.addFieldToAccount(api, field);
316311
metadataFieldExternalIds.add(apiResponse.get("external_id").toString());
317312
return apiResponse;
318313
}

cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractUploaderTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,31 @@ public void testRename() throws Exception {
219219
assertEquals(cloudinary.api().resource(publicId2, ObjectUtils.emptyMap()).get("format"), "ico");
220220
}
221221

222+
@Test
223+
public void testRenameShouldReturnContext() throws Exception {
224+
Map result = cloudinary.uploader().upload(SRC_TEST_IMAGE, asMap("tags", Arrays.asList(SDK_TEST_TAG, UPLOADER_TAG), "context", asMap("foo", "boo")));
225+
226+
String publicId = result.get("public_id").toString();
227+
String publicId2 = "folder/" + publicId + "2";
228+
Map renameResult = cloudinary.uploader().rename(publicId, publicId2, asMap("context", true));
229+
assertNotNull(renameResult.get("context"));
230+
}
231+
232+
@Test
233+
public void testRenameShouldReturnMetadata() throws Exception {
234+
String label = "test" + SUFFIX;
235+
StringMetadataField f = MetadataTestHelper.newFieldInstance(label);
236+
Map fieldResult = MetadataTestHelper.addFieldToAccount(cloudinary.api(), f);
237+
String fieldId = fieldResult.get("external_id").toString();
238+
Map<String, Object> metadata = Collections.<String, Object>singletonMap(fieldId, "123456");
239+
Map result = cloudinary.uploader().upload(SRC_TEST_IMAGE, asMap("tags", Arrays.asList(SDK_TEST_TAG, UPLOADER_TAG), "metadata", metadata));
240+
241+
String publicId = result.get("public_id").toString();
242+
String publicId2 = "folder/" + publicId + "2";
243+
Map renameResult = cloudinary.uploader().rename(publicId, publicId2, asMap("metadata", true));
244+
assertNotNull(renameResult.get("metadata"));
245+
}
246+
222247
@Test
223248
public void testUniqueFilename() throws Exception {
224249
Map result = cloudinary.uploader().upload(SRC_TEST_IMAGE, asMap("use_filename", true, "tags", Arrays.asList(SDK_TEST_TAG, UPLOADER_TAG)));
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.cloudinary.test;
2+
3+
import com.cloudinary.Api;
4+
import com.cloudinary.api.ApiResponse;
5+
import com.cloudinary.metadata.MetadataField;
6+
import com.cloudinary.metadata.MetadataValidation;
7+
import com.cloudinary.metadata.StringMetadataField;
8+
9+
public class MetadataTestHelper {
10+
public static StringMetadataField newFieldInstance(String label) throws Exception {
11+
StringMetadataField field = new StringMetadataField();
12+
field.setLabel(label);
13+
field.setMandatory(true);
14+
field.setValidation(new MetadataValidation.StringLength(3, 9));
15+
field.setDefaultValue("val_test");
16+
return field;
17+
}
18+
19+
public static ApiResponse addFieldToAccount(Api api, MetadataField field) throws Exception {
20+
ApiResponse apiResponse = api.addMetadataField(field);
21+
return apiResponse;
22+
}
23+
}
24+

0 commit comments

Comments
 (0)