use of io.jans.scim.model.scim2.patch.PatchRequest in project jans by JanssenProject.
the class PatchAddUserTest method jsonPatch.
@Parameters({ "user_patchadd" })
@Test(dependsOnMethods = "createForAdd")
public void jsonPatch(String patchRequest) {
Response response = client.patchUser(patchRequest, user.getId(), null, null);
assertEquals(response.getStatus(), OK.getStatusCode());
UserResource other = response.readEntity(usrClass);
assertNotNull(other.getNickName());
assertNotNull(other.getUserType());
assertTrue(user.getEmails().size() < other.getEmails().size());
assertTrue(user.getPhoneNumbers().size() < other.getPhoneNumbers().size());
assertTrue(other.getIms().size() > 0);
assertTrue(other.getRoles().size() > 0);
}
use of io.jans.scim.model.scim2.patch.PatchRequest in project jans by JanssenProject.
the class PatchUserExtTest method patchObject.
@Test(dependsOnMethods = "patchJson")
public void patchObject() {
PatchOperation operation = new PatchOperation();
operation.setOperation("replace");
operation.setPath("urn:ietf:params:scim:schemas:extension:gluu:2.0:User:scimCustomSecond");
long now = System.currentTimeMillis();
List<String> someDates = Arrays.asList(now, now + 1000, now + 2000, now + 3000).stream().map(DateUtil::millisToISOString).collect(Collectors.toList());
operation.setValue(someDates);
PatchRequest pr = new PatchRequest();
pr.setOperations(Collections.singletonList(operation));
Response response = client.patchUser(pr, user.getId(), null, null);
assertEquals(response.getStatus(), OK.getStatusCode());
UserResource other = response.readEntity(usrClass);
CustomAttributes custAttrs = other.getCustomAttributes(USER_EXT_SCHEMA_ID);
// Verify different dates appeared in scimCustomSecond
List<Date> scimCustomSecond = custAttrs.getValues("scimCustomSecond", Date.class);
assertEquals(scimCustomSecond.size(), someDates.size());
assertEquals(now, scimCustomSecond.get(0).getTime());
}
use of io.jans.scim.model.scim2.patch.PatchRequest in project jans by JanssenProject.
the class PatchReplaceUserTest method jsonNoPathPatch1.
@Parameters({ "user_patchreplace_1" })
@Test(dependsOnMethods = "createForReplace")
public void jsonNoPathPatch1(String patchRequest) {
Response response = client.patchUser(patchRequest, user.getId(), null, null);
assertEquals(response.getStatus(), OK.getStatusCode());
UserResource other = response.readEntity(usrClass);
// Verify display name changed
assertNotEquals(user.getDisplayName(), other.getDisplayName());
// Verify some name components changed
assertNotEquals(user.getName().getFamilyName(), other.getName().getFamilyName());
assertNotEquals(user.getName().getMiddleName(), other.getName().getMiddleName());
assertNotEquals(user.getName().getGivenName(), other.getName().getGivenName());
assertEquals(user.getName().getHonorificPrefix(), other.getName().getHonorificPrefix());
assertEquals(user.getName().getHonorificSuffix(), other.getName().getHonorificSuffix());
// Verify is not active
assertFalse(other.getActive());
// Verify title changed
assertNotEquals(user.getTitle(), other.getTitle());
user = other;
}
use of io.jans.scim.model.scim2.patch.PatchRequest in project jans by JanssenProject.
the class PatchReplaceUserTest method jsonPathPatch2.
@Parameters({ "user_patchreplace_4" })
@Test(dependsOnMethods = "jsonPathPatch1")
public void jsonPathPatch2(String patchRequest) {
Response response = client.patchUser(patchRequest, user.getId(), null, null);
assertEquals(response.getStatus(), OK.getStatusCode());
UserResource other = response.readEntity(usrClass);
assertNotEquals(user.getName().getHonorificPrefix(), other.getName().getHonorificPrefix());
assertNotEquals(user.getName().getHonorificSuffix(), other.getName().getHonorificSuffix());
assertNotEquals(user.getName().getFormatted(), other.getName().getFormatted());
// Verify change in the streetAddress
Address adr = other.getAddresses().get(0);
assertNotEquals(user.getAddresses().get(0).getStreetAddress(), adr.getStreetAddress());
// Verify postal code is there
assertNotNull(adr.getPostalCode());
// Verify change in phone number values
int num = user.getPhoneNumbers().size();
assertEquals(num, other.getPhoneNumbers().size());
Set<String> set1 = user.getPhoneNumbers().stream().map(PhoneNumber::getValue).collect(Collectors.toSet());
Set<String> set2 = other.getPhoneNumbers().stream().map(PhoneNumber::getValue).collect(Collectors.toSet());
assertFalse(set2.removeAll(set1));
// Verify x509Certs disappeared
assertNotNull(other.getX509Certificates());
user = other;
}
use of io.jans.scim.model.scim2.patch.PatchRequest in project jans by JanssenProject.
the class PatchReplaceUserTest method objectPatch.
@Test(dependsOnMethods = "jsonPathPatch2")
public void objectPatch() {
// Create a patch request by supplying a singleton list with one IMS object
InstantMessagingAddress ims = new InstantMessagingAddress();
ims.setDisplay("barbas");
ims.setPrimary(true);
ims.setType("escape");
ims.setValue("bjensen");
PatchOperation op = new PatchOperation();
op.setOperation("replace");
op.setPath("ims");
op.setValue(Collections.singleton(ims));
PatchRequest pr = new PatchRequest();
pr.setOperations(Collections.singletonList(op));
Response response = client.patchUser(pr, user.getId(), null, null);
assertEquals(response.getStatus(), OK.getStatusCode());
UserResource other = response.readEntity(usrClass);
for (int i = 0; i < 2; i++) {
// Verify different info appeared
InstantMessagingAddress newIms = other.getIms().get(0);
assertEquals(newIms.getDisplay(), ims.getDisplay());
assertEquals(newIms.getValue(), ims.getValue());
assertEquals(newIms.getType(), ims.getType());
assertEquals(newIms.getPrimary(), ims.getPrimary());
// Double check
response = client.getUserById(user.getId(), "ims", null);
other = response.readEntity(usrClass);
}
}
Aggregations