Search in sources :

Example 1 with Role

use of io.jans.scim.model.scim2.user.Role in project jans by JanssenProject.

the class AverageUserTest method updateWithObject1.

@Test(dependsOnMethods = "updateWithJson")
public void updateWithObject1() throws Exception {
    UserResource clone = getDeepCloneUsr(user);
    clone.setPreferredLanguage("en_US");
    clone.getPhoneNumbers().remove(0);
    // Means no change
    clone.setAddresses(null);
    // Means role will have to disappear
    clone.setRoles(new ArrayList<>());
    Group group = new Group();
    group.setValue("Dummy ID");
    // will be ignored: group membership changes MUST be applied via /Groups endpoint
    clone.setGroups(Collections.singletonList(group));
    logger.debug("Updating user {}", clone.getUserName());
    Response response = client.updateUser(clone, clone.getId(), null, "meta");
    assertEquals(response.getStatus(), OK.getStatusCode());
    user = response.readEntity(usrClass);
    assertNotNull(user.getPreferredLanguage());
    assertEquals(user.getPreferredLanguage(), clone.getPreferredLanguage());
    assertEquals(user.getPhoneNumbers().size(), clone.getPhoneNumbers().size());
    assertFalse(user.getAddresses().isEmpty());
    assertNull(user.getRoles());
    assertNull(user.getGroups());
    logger.debug("Updated user {}", user.getName().getGivenName());
    // Double check update did take update in the original source (eg. LDAP):
    String json = response.readEntity(String.class);
    response = client.getUserById(clone.getId(), null, "meta");
    // both json contents should be the same since meta attribute was removed and serialization involves UserResource class
    assertEquals(json, response.readEntity(String.class));
}
Also used : Response(javax.ws.rs.core.Response) Group(io.jans.scim.model.scim2.user.Group) UserResource(io.jans.scim.model.scim2.user.UserResource) UserBaseTest(io.jans.scim2.client.UserBaseTest) Test(org.testng.annotations.Test)

Aggregations

Group (io.jans.scim.model.scim2.user.Group)1 UserResource (io.jans.scim.model.scim2.user.UserResource)1 UserBaseTest (io.jans.scim2.client.UserBaseTest)1 Response (javax.ws.rs.core.Response)1 Test (org.testng.annotations.Test)1