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); diff --git a/src/test/java/org/zendesk/client/v2/RealSmokeTest.java b/src/test/java/org/zendesk/client/v2/RealSmokeTest.java index 2721ca80..2e8be662 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";