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));
}
Aggregations