From 374589bfaa0bf8a98908e7f1b6d8dd5c35da58e5 Mon Sep 17 00:00:00 2001 From: Nitzan Jaitman Date: Wed, 29 Jan 2020 11:35:09 +0200 Subject: [PATCH 1/2] Fix param name in `AccountApi.getUsers` and clear up empty parameters. --- .../java/com/cloudinary/provisioning/Account.java | 4 +++- .../com/cloudinary/test/AbstractAccountApiTest.java | 11 ++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/cloudinary-core/src/main/java/com/cloudinary/provisioning/Account.java b/cloudinary-core/src/main/java/com/cloudinary/provisioning/Account.java index 76b56fd0..8c0f1eca 100644 --- a/cloudinary-core/src/main/java/com/cloudinary/provisioning/Account.java +++ b/cloudinary-core/src/main/java/com/cloudinary/provisioning/Account.java @@ -2,6 +2,7 @@ import com.cloudinary.Api; import com.cloudinary.Cloudinary; +import com.cloudinary.Util; import com.cloudinary.api.ApiResponse; import com.cloudinary.utils.ObjectUtils; @@ -73,6 +74,7 @@ private ApiResponse callAccountApi(Api.HttpMethod method, List uri, Map< options.put("provisioning_api_secret", secret); } + Util.clearEmpty(params); return api.getStrategy().callAccountApi(method, uri, params, options); } @@ -308,7 +310,7 @@ public ApiResponse users(Boolean pending, List userIds, String prefix, S return callAccountApi(Api.HttpMethod.GET, uri, ObjectUtils.asMap("accountId", accountId, "pending", pending, - "user_ids", userIds, + "ids", userIds, "prefix", prefix, "sub_account_id", subAccountId), options); } diff --git a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractAccountApiTest.java b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractAccountApiTest.java index 17289400..c89810b9 100644 --- a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractAccountApiTest.java +++ b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractAccountApiTest.java @@ -157,10 +157,15 @@ public void testGetUser() throws Exception { @Test public void testGetUsers() throws Exception { - createUser(Account.Role.MASTER_ADMIN); - ApiResponse result = account.users(null, null, null, null, null); + String id1 = createUser(Account.Role.MASTER_ADMIN).get("id").toString(); + String id2 = createUser(Account.Role.MASTER_ADMIN).get("id").toString(); + ApiResponse result = account.users(null, Arrays.asList(id1, id2), null, null, null); assertNotNull(result); - assertTrue(((ArrayList) result.get("users")).size() >= 1); + assertTrue(((ArrayList) result.get("users")).size() == 2); + Map user1 = (Map) ((ArrayList) result.get("users")).get(0); + Map user2 = (Map) ((ArrayList) result.get("users")).get(1); + assertTrue(user1.get("id").equals(id1)); + assertTrue(user2.get("id").equals(id2)); } @Test From 077ac80d423512fab7895b8c0d675adebbcbdd03 Mon Sep 17 00:00:00 2001 From: Nitzan Jaitman Date: Wed, 29 Jan 2020 13:51:58 +0200 Subject: [PATCH 2/2] Fix `getUsers` test and travis configuration. --- .travis.yml | 2 +- .../cloudinary/test/AbstractAccountApiTest.java | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8a83789d..a1e91f8e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,5 +27,5 @@ branches: - staging-test # ciTest is configured to skip the various timeout tests that don't work in travis -script: ./gradlew clean -DCLOUDINARY_URL=$CLOUDINARY_URL -DCLOUDINARY_ACCOUNT_URL=CLOUDINARY_ACCOUNT_URL ciTest -p cloudinary-${MODULE} -i +script: ./gradlew clean -DCLOUDINARY_URL=$CLOUDINARY_URL -DCLOUDINARY_ACCOUNT_URL=$CLOUDINARY_ACCOUNT_URL ciTest -p cloudinary-${MODULE} -i diff --git a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractAccountApiTest.java b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractAccountApiTest.java index c89810b9..549f4543 100644 --- a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractAccountApiTest.java +++ b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractAccountApiTest.java @@ -161,11 +161,16 @@ public void testGetUsers() throws Exception { String id2 = createUser(Account.Role.MASTER_ADMIN).get("id").toString(); ApiResponse result = account.users(null, Arrays.asList(id1, id2), null, null, null); assertNotNull(result); - assertTrue(((ArrayList) result.get("users")).size() == 2); - Map user1 = (Map) ((ArrayList) result.get("users")).get(0); - Map user2 = (Map) ((ArrayList) result.get("users")).get(1); - assertTrue(user1.get("id").equals(id1)); - assertTrue(user2.get("id").equals(id2)); + final ArrayList users = (ArrayList) result.get("users"); + ArrayList returnedIds = new ArrayList(2); + + assertEquals("Should return two users", 2, users.size()); + + returnedIds.add(((Map) users.get(0)).get("id").toString()); + returnedIds.add(((Map) users.get(1)).get("id").toString()); + + assertTrue("User1 id should be in the result set", returnedIds.contains(id1)); + assertTrue("User2 id should be in the result set", returnedIds.contains(id2)); } @Test