Search in sources :

Example 6 with F_CASE

use of com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType.F_CASE in project midpoint by Evolveum.

the class CertificationTest method test240AddCases.

@Test
public void test240AddCases() throws Exception {
    OperationResult result = new OperationResult("test240AddDeleteCases");
    AccessCertificationCaseType caseNoId = new AccessCertificationCaseType(prismContext);
    caseNoId.setObjectRef(createObjectRef("123", ObjectTypes.USER));
    caseNoId.setTargetRef(createObjectRef("456", ObjectTypes.ROLE));
    caseNoId.setStageNumber(1);
    // explicit ID is dangerous (possibility of conflict!)
    AccessCertificationCaseType case100 = new AccessCertificationCaseType(prismContext);
    case100.setId(NEW_CASE_ID);
    case100.setObjectRef(createObjectRef("100123", ObjectTypes.USER));
    case100.setTargetRef(createObjectRef("100456", ObjectTypes.ROLE));
    case100.beginWorkItem().assigneeRef(createObjectRef("ref1", ObjectTypes.USER)).end();
    case100.setStageNumber(1);
    List<ItemDelta<?, ?>> modifications = DeltaBuilder.deltaFor(AccessCertificationCampaignType.class, prismContext).item(F_CASE).add(caseNoId, case100).asItemDeltas();
    executeAndCheckModification(modifications, result, 0);
    checkCasesForCampaign(campaign1Oid, 9, result);
    checkCasesTotal(9, result);
    checkWorkItemsForCampaign(campaign1Oid, 11, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 1, 2, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 2, 1, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, NEW_CASE_ID, 1, result);
    checkWorkItemsTotal(11, result);
}
Also used : AccessCertificationCaseType(com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCaseType) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) ItemDelta(com.evolveum.midpoint.prism.delta.ItemDelta) Test(org.testng.annotations.Test)

Example 7 with F_CASE

use of com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType.F_CASE in project midpoint by Evolveum.

the class CertificationTest method test330ReplaceWorkItemsExistingId.

@Test
public void test330ReplaceWorkItemsExistingId() throws Exception {
    OperationResult result = new OperationResult("test330ReplaceWorkItemsExistingId");
    AccessCertificationWorkItemType wi200 = new AccessCertificationWorkItemType(prismContext);
    //dangerous
    wi200.setId(200L);
    wi200.setStageNumber(44);
    wi200.assigneeRef(createObjectRef("999999", ObjectTypes.USER));
    List<ItemDelta<?, ?>> modifications = DeltaBuilder.deltaFor(AccessCertificationCampaignType.class, prismContext).item(F_CASE, 6, F_WORK_ITEM).replace(wi200).asItemDeltas();
    executeAndCheckModification(modifications, result, 0);
    checkCasesForCampaign(campaign1Oid, 9, result);
    checkCasesTotal(9, result);
    checkWorkItemsForCampaign(campaign1Oid, 8, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 1, 2, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 2, 1, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, SECOND_NEW_CASE_ID, 1, result);
    checkWorkItemsTotal(8, result);
}
Also used : OperationResult(com.evolveum.midpoint.schema.result.OperationResult) ItemDelta(com.evolveum.midpoint.prism.delta.ItemDelta) AccessCertificationWorkItemType(com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationWorkItemType) Test(org.testng.annotations.Test)

Example 8 with F_CASE

use of com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType.F_CASE in project midpoint by Evolveum.

the class CertificationTest method test340ReplaceWorkItemsNewId.

@Test
public void test340ReplaceWorkItemsNewId() throws Exception {
    OperationResult result = new OperationResult("test340ReplaceWorkItemsNewId");
    AccessCertificationWorkItemType wi250 = new AccessCertificationWorkItemType(prismContext);
    //dangerous
    wi250.setId(250L);
    wi250.setStageNumber(440);
    wi250.assigneeRef(createObjectRef("250-999999", ObjectTypes.USER));
    AccessCertificationWorkItemType wi251 = new AccessCertificationWorkItemType(prismContext);
    wi251.setId(251L);
    wi251.setStageNumber(1);
    List<ItemDelta<?, ?>> modifications = DeltaBuilder.deltaFor(AccessCertificationCampaignType.class, prismContext).item(F_CASE, 6, F_WORK_ITEM).replace(wi250, wi251).asItemDeltas();
    // TODO counts
    executeAndCheckModification(modifications, result, 0);
    checkCasesForCampaign(campaign1Oid, 9, result);
    checkCasesTotal(9, result);
    checkWorkItemsForCampaign(campaign1Oid, 9, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 1, 2, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 2, 1, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, SECOND_NEW_CASE_ID, 1, result);
    checkWorkItemsTotal(9, result);
}
Also used : OperationResult(com.evolveum.midpoint.schema.result.OperationResult) ItemDelta(com.evolveum.midpoint.prism.delta.ItemDelta) AccessCertificationWorkItemType(com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationWorkItemType) Test(org.testng.annotations.Test)

Example 9 with F_CASE

use of com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType.F_CASE in project midpoint by Evolveum.

the class CertificationTest method test260AddWorkItem.

@Test
public void test260AddWorkItem() throws Exception {
    OperationResult result = new OperationResult("test260AddWorkItem");
    AccessCertificationWorkItemType workItem = new AccessCertificationWorkItemType(prismContext).beginOriginalAssigneeRef().oid("orig1").type(UserType.COMPLEX_TYPE).<AccessCertificationWorkItemType>end().beginAssigneeRef().oid("rev1").type(UserType.COMPLEX_TYPE).<AccessCertificationWorkItemType>end().beginAssigneeRef().oid("rev2").type(UserType.COMPLEX_TYPE).end();
    List<ItemDelta<?, ?>> modifications = DeltaBuilder.deltaFor(AccessCertificationCampaignType.class, prismContext).item(F_CASE, NEW_CASE_ID, F_WORK_ITEM).add(workItem).asItemDeltas();
    // WHEN
    executeAndCheckModification(modifications, result, 0);
    // THEN
    checkCasesForCampaign(campaign1Oid, 8, result);
    checkCasesTotal(8, result);
    checkWorkItemsForCampaign(campaign1Oid, 10, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 1, 2, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 2, 1, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, NEW_CASE_ID, 2, result);
    checkWorkItemsTotal(10, result);
}
Also used : OperationResult(com.evolveum.midpoint.schema.result.OperationResult) ItemDelta(com.evolveum.midpoint.prism.delta.ItemDelta) AccessCertificationWorkItemType(com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationWorkItemType) Test(org.testng.annotations.Test)

Example 10 with F_CASE

use of com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCampaignType.F_CASE in project midpoint by Evolveum.

the class CertificationTest method test280DeleteWorkItem.

@Test
public void test280DeleteWorkItem() throws Exception {
    OperationResult result = new OperationResult("test280DeleteWorkItem");
    PrismObject<AccessCertificationCampaignType> campaign = getFullCampaign(campaign1Oid, result);
    AccessCertificationCaseType case100 = campaign.asObjectable().getCase().stream().filter(c -> c.getId() == NEW_CASE_ID).findFirst().orElseThrow(() -> new AssertionError("No case 100"));
    assertEquals("Wrong # of work items in case 100", 2, case100.getWorkItem().size());
    AccessCertificationWorkItemType workItem = case100.getWorkItem().stream().filter(wi -> wi.getOriginalAssigneeRef() != null).findFirst().orElse(null);
    assertNotNull("No new work item", workItem);
    List<ItemDelta<?, ?>> modifications = DeltaBuilder.deltaFor(AccessCertificationCampaignType.class, prismContext).item(F_CASE, NEW_CASE_ID, F_WORK_ITEM).delete(workItem.clone()).asItemDeltas();
    // WHEN
    executeAndCheckModification(modifications, result, 0);
    // THEN
    checkCasesForCampaign(campaign1Oid, 8, result);
    checkCasesTotal(8, result);
    checkWorkItemsForCampaign(campaign1Oid, 9, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 1, 2, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, 2, 1, result);
    checkWorkItemsForCampaignAndCase(campaign1Oid, NEW_CASE_ID, 1, result);
    checkWorkItemsTotal(9, result);
}
Also used : AccessCertificationCaseType(com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCaseType) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) ItemDelta(com.evolveum.midpoint.prism.delta.ItemDelta) AccessCertificationWorkItemType(com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationWorkItemType) Test(org.testng.annotations.Test)

Aggregations

ItemDelta (com.evolveum.midpoint.prism.delta.ItemDelta)14 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)11 AccessCertificationCaseType (com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationCaseType)10 Test (org.testng.annotations.Test)10 AccessCertificationWorkItemType (com.evolveum.midpoint.xml.ns._public.common.common_3.AccessCertificationWorkItemType)7 ObjectTypeUtil.toShortString (com.evolveum.midpoint.schema.util.ObjectTypeUtil.toShortString)3 XMLGregorianCalendar (javax.xml.datatype.XMLGregorianCalendar)3 ItemPath (com.evolveum.midpoint.prism.path.ItemPath)2 OutcomeUtils (com.evolveum.midpoint.certification.api.OutcomeUtils)1 CertificationHandler (com.evolveum.midpoint.certification.impl.handlers.CertificationHandler)1 Clock (com.evolveum.midpoint.common.Clock)1 PrismContainerValue (com.evolveum.midpoint.prism.PrismContainerValue)1 PrismContext (com.evolveum.midpoint.prism.PrismContext)1 ContainerDelta (com.evolveum.midpoint.prism.delta.ContainerDelta)1 PropertyDelta (com.evolveum.midpoint.prism.delta.PropertyDelta)1 DeltaBuilder (com.evolveum.midpoint.prism.delta.builder.DeltaBuilder)1 QueryConvertor (com.evolveum.midpoint.prism.marshaller.QueryConvertor)1 IdItemPathSegment (com.evolveum.midpoint.prism.path.IdItemPathSegment)1 NameItemPathSegment (com.evolveum.midpoint.prism.path.NameItemPathSegment)1 ObjectFilter (com.evolveum.midpoint.prism.query.ObjectFilter)1