protected PrismObject<UserType> createUserFooPatlama() throws SchemaException { PrismObject<UserType> user = createUserFoo(); addAssignment(user, ASSIGNMENT_PATLAMA_ID, ASSIGNMENT_PATLAMA_DESCRIPTION); return user; }
protected void assertAssignmentAdd(ObjectDelta<UserType> userDelta, Long expectedId, String expectedDescription) { assertAssignmentValue(userDelta, expectedId, expectedDescription, "add", ItemDelta::getValuesToAdd); }
protected void assertAssignmentAdd(ObjectDelta<UserType> userDelta, int expectedValues) { assertAssignmentValueCount(userDelta, expectedValues, "add", ItemDelta::getValuesToAdd); }
protected PrismContainerValue<AssignmentType> createAssignmentValue(Long id, String description) throws SchemaException { PrismContainerDefinition<AssignmentType> assignmentDef = getUserTypeDefinition().findContainerDefinition(UserType.F_ASSIGNMENT); PrismContainerValue<AssignmentType> assignmentValue = getPrismContext().itemFactory().createContainerValue(); populateAssignmentValue(assignmentValue, id, description); return assignmentValue; }
private void assertAssignmentValue(ObjectDelta<UserType> userDelta, Long expectedId, String expectedDescription, String type, Function<ContainerDelta<AssignmentType>, Collection<PrismContainerValue<AssignmentType>>> lambda) { ContainerDelta<AssignmentType> assignmentDelta = userDelta.findContainerDelta(UserType.F_ASSIGNMENT); if (assignmentDelta == null) { fail("No assignment delta in "+userDelta); } Collection<PrismContainerValue<AssignmentType>> valuesToDelete = lambda.apply(assignmentDelta); if (valuesToDelete == null) { fail("No values to "+type+" in assignment delta in "+userDelta); } for (PrismContainerValue<AssignmentType> valueToDelete : valuesToDelete) { if (assignmentMatches(valueToDelete, expectedId, expectedDescription)) { return; } } fail("Assignment "+expectedId+":"+expectedDescription+" not found in "+userDelta); }
protected PrismObject<UserType> createUserFoo() throws SchemaException { PrismObjectDefinition<UserType> userDef = getUserTypeDefinition(); PrismObject<UserType> user = userDef.instantiate(); user.setOid(USER_FOO_OID); user.setPropertyRealValue(UserType.F_NAME, createPolyString("foo")); PrismProperty<PolyString> anamesProp = user.findOrCreateProperty(UserType.F_ADDITIONAL_NAMES); anamesProp.addRealValue(createPolyString("foobar")); return user; }
private void assertAssignmentValueCount(ObjectDelta<UserType> userDelta, int expectedValues, String type, Function<ContainerDelta<AssignmentType>, Collection<PrismContainerValue<AssignmentType>>> lambda) { ContainerDelta<AssignmentType> assignmentDelta = userDelta.findContainerDelta(UserType.F_ASSIGNMENT); if (assignmentDelta == null) { if (expectedValues == 0) { return; } else { fail("No assignment delta in "+userDelta); } } Collection<PrismContainerValue<AssignmentType>> values = lambda.apply(assignmentDelta); if (values == null) { if (expectedValues == 0) { return; } else { fail("No values to delete in assignment "+type+" in "+userDelta); } } assertEquals("Wrong number of assignment "+type+" values in "+userDelta, expectedValues, values.size()); }
protected void populateAssignmentValue(PrismContainerValue<AssignmentType> assignmentValue, Long id, String description) throws SchemaException { if (id != null) { assignmentValue.setId(id); } if (description != null) { assignmentValue.setPropertyRealValue(AssignmentType.F_DESCRIPTION, description, getPrismContext()); } }
protected void addAssignment(PrismObject<UserType> user, Long id, String description) throws SchemaException { PrismContainer<AssignmentType> assignment = user.findOrCreateContainer(UserType.F_ASSIGNMENT); PrismContainerValue<AssignmentType> assignmentValue = assignment.createNewValue(); populateAssignmentValue(assignmentValue, id, description); }
protected void assertAssignmentDelete(ObjectDelta<UserType> userDelta, int expectedValues) { assertAssignmentValueCount(userDelta, expectedValues, "delete", ItemDelta::getValuesToDelete); }
protected void assertAssignmentReplace(ObjectDelta<UserType> userDelta, Long expectedId, String expectedDescription) { assertAssignmentValue(userDelta, expectedId, expectedDescription, "replace", ItemDelta::getValuesToReplace); }
protected void assertAssignmentReplace(ObjectDelta<UserType> userDelta, int expectedValues) { assertAssignmentValueCount(userDelta, expectedValues, "replace", ItemDelta::getValuesToReplace); }
protected void assertAssignmentDelete(ObjectDelta<UserType> userDelta, Long expectedId, String expectedDescription) { assertAssignmentValue(userDelta, expectedId, expectedDescription, "delete", ItemDelta::getValuesToDelete); }