From 5c1fa6555c92b91ccc2e04f82fca82548d83c58e Mon Sep 17 00:00:00 2001 From: Alex Medina Date: Tue, 13 Aug 2024 16:00:23 +0200 Subject: [PATCH 1/2] :sparkles: add unassigned organization feature implementing this route https://developer.zendesk.com/api-reference/ticketing/organizations/organization_memberships/#unassign-organization --- src/main/java/org/zendesk/client/v2/Zendesk.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/zendesk/client/v2/Zendesk.java b/src/main/java/org/zendesk/client/v2/Zendesk.java index 26d5e8e9..ab1cc7b8 100644 --- a/src/main/java/org/zendesk/client/v2/Zendesk.java +++ b/src/main/java/org/zendesk/client/v2/Zendesk.java @@ -2375,6 +2375,17 @@ public void deleteOrganizationMembership(long user_id, long organization_members handleStatus())); } + public void unassignOrganizationMembership(long user_id, long organization_id) { + complete( + submit( + req( + "DELETE", + tmpl("/users/{uid}/organizations/{oid}.json") + .set("uid", user_id) + .set("oid", organization_id)), + handleStatus())); + } + public List setOrganizationMembershipAsDefault( long user_id, OrganizationMembership organizationMembership) { checkHasId(organizationMembership); From 8d2230fddc6103210db4050643558a87baa0f0d2 Mon Sep 17 00:00:00 2001 From: Pierre Beitz Date: Thu, 12 Dec 2024 11:01:18 +0100 Subject: [PATCH 2/2] add a test --- .../org/zendesk/client/v2/RealSmokeTest.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/test/java/org/zendesk/client/v2/RealSmokeTest.java b/src/test/java/org/zendesk/client/v2/RealSmokeTest.java index c30dc1cb..31da82c5 100644 --- a/src/test/java/org/zendesk/client/v2/RealSmokeTest.java +++ b/src/test/java/org/zendesk/client/v2/RealSmokeTest.java @@ -23,6 +23,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeThat; @@ -1893,6 +1894,36 @@ public void createOrganizationMemberships() throws Exception { } } + @Test + public void unassignOrgMemberShip() throws Exception { + createClientWithToken(); + + var newOrganization = newTestOrganization(); + var user = newTestUser(); + + Organization resultOrganization = null; + User resultUser = null; + try { + resultOrganization = instance.createOrganization(newOrganization); + assertNotNull(resultOrganization); + + user.setOrganizationId(resultOrganization.getId()); + resultUser = instance.createUser(user); + assertNotNull(resultUser); + assertEquals(resultOrganization.getId(), resultUser.getOrganizationId()); + instance.unassignOrganizationMembership(resultUser.getId(), resultOrganization.getId()); + var updatedUser = instance.getUser(resultUser.getId()); + assertNull(updatedUser.getOrganizationId()); + } finally { + if (resultUser != null) { + instance.deleteUser(resultUser); + } + if (resultOrganization != null) { + instance.deleteOrganization(resultOrganization); + } + } + } + @Test public void lookupOrganizationByExternalId() throws Exception { String orgId = "i";