From 2b0b3122026438fa4c5f635f1a985362340d1295 Mon Sep 17 00:00:00 2001 From: Nitzan Jaitman Date: Wed, 22 Mar 2017 14:08:11 +0200 Subject: [PATCH] Add `type` parameter to `Api.publishResource()` --- .../src/main/java/com/cloudinary/Api.java | 2 +- .../com/cloudinary/test/AbstractApiTest.java | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/cloudinary-core/src/main/java/com/cloudinary/Api.java b/cloudinary-core/src/main/java/com/cloudinary/Api.java index edd96238..3c6539ea 100644 --- a/cloudinary-core/src/main/java/com/cloudinary/Api.java +++ b/cloudinary-core/src/main/java/com/cloudinary/Api.java @@ -319,7 +319,7 @@ private ApiResponse publishResource(String byKey, Object value, Map options) thr uri.add("publish_resources"); Map params = new HashMap(); params.put(byKey, value); - params.putAll(ObjectUtils.only(options, "invalidate", "overwrite")); + params.putAll(ObjectUtils.only(options, "invalidate", "overwrite", "type")); return callApi(HttpMethod.POST, uri, params, options); } diff --git a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractApiTest.java b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractApiTest.java index aaf98bae..309c4c41 100644 --- a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractApiTest.java +++ b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractApiTest.java @@ -733,6 +733,35 @@ public void testPublishByIds() throws Exception { cloudinary.uploader().destroy(publicId, null); } + @Test + public void testPublishWithType() throws Exception { + Map response = cloudinary.uploader().upload(SRC_TEST_IMAGE, ObjectUtils.asMap("tags", uniqueTag, "type", "authenticated")); + String publicId = (String) response.get("public_id"); + + // publish with wrong type - verify publish fails + response = cloudinary.api().publishByIds(Arrays.asList(publicId), ObjectUtils.asMap("type", "private")); + List published = (List) response.get("published"); + List failed = (List) response.get("failed"); + assertNotNull(published); + assertNotNull(failed); + assertEquals(published.size(), 0); + assertEquals(failed.size(), 1); + + // publish with correct type - verify publish succeeds + response = cloudinary.api().publishByIds(Arrays.asList(publicId), ObjectUtils.asMap("type", "authenticated")); + published = (List) response.get("published"); + failed = (List) response.get("failed"); + assertNotNull(published); + assertNotNull(failed); + assertEquals(published.size(), 1); + assertEquals(failed.size(), 0); + + Map resource = (Map) published.get(0); + assertEquals(resource.get("public_id"), publicId); + assertNotNull(resource.get("url")); + cloudinary.uploader().destroy(publicId, null); + } + @Test public void testPublishByPrefix() throws Exception { Map response = cloudinary.uploader().upload(SRC_TEST_IMAGE, ObjectUtils.asMap("tags", uniqueTag, "type", "authenticated"));