diff --git a/cloudinary-core/src/main/java/com/cloudinary/Uploader.java b/cloudinary-core/src/main/java/com/cloudinary/Uploader.java index c4ee5d59..65d74a0f 100644 --- a/cloudinary-core/src/main/java/com/cloudinary/Uploader.java +++ b/cloudinary-core/src/main/java/com/cloudinary/Uploader.java @@ -532,6 +532,7 @@ public Map updateMetadata(Map metadata, String[] publicIds, Map options) throws Map params = new HashMap(); params.put("metadata", Util.encodeContext(metadata)); params.put("public_ids", Arrays.asList(publicIds)); + params.put("type", (String)options.get("type")); return callApi("metadata", params, options, null); } diff --git a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractStructuredMetadataTest.java b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractStructuredMetadataTest.java index 1256545b..e073e442 100644 --- a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractStructuredMetadataTest.java +++ b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractStructuredMetadataTest.java @@ -18,6 +18,7 @@ public abstract class AbstractStructuredMetadataTest extends MockableTest { private static final String METADATA_UPLOADER_TAG = SDK_TEST_TAG + "_uploader"; private static final String PUBLIC_ID = "before_class_public_id" + SUFFIX; + private static final String PRIVATE_PUBLIC_ID = "before_class_private_public_id" + SUFFIX; protected Api api; public static final List metadataFieldExternalIds = new ArrayList(); @@ -29,6 +30,7 @@ public static void setUpClass() throws IOException { } cloudinary.uploader().upload(SRC_TEST_IMAGE, asMap("public_id", PUBLIC_ID)); + cloudinary.uploader().upload(SRC_TEST_IMAGE, asMap("public_id", PRIVATE_PUBLIC_ID, "type", "private")); } @AfterClass @@ -226,6 +228,10 @@ public void testUploaderUpdateMetadata() throws Exception { Map result = cloudinary.uploader().updateMetadata(Collections.singletonMap(fieldId, "123456"), new String[]{PUBLIC_ID}, null); assertNotNull(result); assertEquals(PUBLIC_ID, ((List) result.get("public_ids")).get(0).toString()); + //test updateMetadata for private asset + Map result2 = cloudinary.uploader().updateMetadata(Collections.singletonMap(fieldId, "123456"), new String[]{PRIVATE_PUBLIC_ID}, asMap("type","private")); + assertNotNull(result); + assertEquals(PRIVATE_PUBLIC_ID, ((List) result2.get("public_ids")).get(0).toString()); } @Test