From d83052f5af12b13907dad5abecca09f9c3d48a30 Mon Sep 17 00:00:00 2001 From: Radovan Semancik Date: Fri, 11 Jul 2014 10:26:59 +0200 Subject: [PATCH] Lockout intests --- .../midpoint/model/intest/TestActivation.java | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestActivation.java b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestActivation.java index 3b44b807bcf..15c8697d291 100644 --- a/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestActivation.java +++ b/model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestActivation.java @@ -15,6 +15,7 @@ */ package com.evolveum.midpoint.model.intest; +import static org.testng.AssertJUnit.assertFalse; import static com.evolveum.midpoint.test.IntegrationTestTools.display; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNotNull; @@ -45,6 +46,7 @@ import com.evolveum.midpoint.prism.delta.ChangeType; import com.evolveum.midpoint.prism.delta.ObjectDelta; import com.evolveum.midpoint.prism.delta.PropertyDelta; +import com.evolveum.midpoint.prism.util.PrismAsserts; import com.evolveum.midpoint.prism.util.PrismTestUtil; import com.evolveum.midpoint.prism.xml.XmlTypeConverter; import com.evolveum.midpoint.schema.ObjectDeltaOperation; @@ -61,6 +63,7 @@ import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationStatusType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationType; import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentPolicyEnforcementType; +import com.evolveum.midpoint.xml.ns._public.common.common_3.LockoutStatusType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType; import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType; @@ -932,6 +935,85 @@ public void test160ModifyUserJackAssignAccountKhaki() throws Exception { } assertTrue("Shadow delta not found", found); } + + @Test + public void test170GetAccountUnlocked() throws Exception { + final String TEST_NAME = "test170GetAccountUnlocked"; + TestUtil.displayTestTile(this, TEST_NAME); + + // GIVEN + Task task = taskManager.createTaskInstance(TestActivation.class.getName() + "." + TEST_NAME); + OperationResult result = task.getResult(); + assumeAssignmentPolicy(AssignmentPolicyEnforcementType.FULL); + + // WHEN + PrismObject shadow = modelService.getObject(ShadowType.class, accountOid, null, task, result); + + // THEN + result.computeStatus(); + TestUtil.assertSuccess("executeChanges result", result); + + PrismAsserts.assertNoItem(shadow, SchemaConstants.PATH_ACTIVATION_LOCKOUT_STATUS); + } + + @Test + public void test172GetAccountLocked() throws Exception { + final String TEST_NAME = "test172GetAccountLocked"; + TestUtil.displayTestTile(this, TEST_NAME); + + // GIVEN + Task task = taskManager.createTaskInstance(TestActivation.class.getName() + "." + TEST_NAME); + OperationResult result = task.getResult(); + assumeAssignmentPolicy(AssignmentPolicyEnforcementType.FULL); + + DummyAccount dummyAccount = getDummyAccount(null, ACCOUNT_JACK_DUMMY_USERNAME); + dummyAccount.setLockout(true); + + // WHEN + PrismObject shadow = modelService.getObject(ShadowType.class, accountOid, null, task, result); + + // THEN + result.computeStatus(); + TestUtil.assertSuccess("executeChanges result", result); + + PrismAsserts.assertPropertyValue(shadow, SchemaConstants.PATH_ACTIVATION_LOCKOUT_STATUS, + LockoutStatusType.LOCKED); + } + + @Test + public void test174ModifyAccountUnlock() throws Exception { + final String TEST_NAME = "test174ModifyAccountUnlock"; + TestUtil.displayTestTile(this, TEST_NAME); + + // GIVEN + Task task = taskManager.createTaskInstance(TestActivation.class.getName() + "." + TEST_NAME); + OperationResult result = task.getResult(); + assumeAssignmentPolicy(AssignmentPolicyEnforcementType.FULL); + + // WHEN + ObjectDelta dummyDelta = createModifyAccountShadowReplaceDelta(accountOid, null, + SchemaConstants.PATH_ACTIVATION_LOCKOUT_STATUS, LockoutStatusType.NORMAL); + Collection> deltas = MiscSchemaUtil.createCollection(dummyDelta); + + modelService.executeChanges(deltas, null, task, result); + + // THEN + result.computeStatus(); + TestUtil.assertSuccess("executeChanges result", result); + + DummyAccount dummyAccount = getDummyAccount(null, ACCOUNT_JACK_DUMMY_USERNAME); + assertFalse("Dummy account was not unlocked", dummyAccount.isLockout()); + + PrismObject userJack = getUser(USER_JACK_OID); + display("User after change execution", userJack); + assertUserJack(userJack); + + PrismObject shadow = modelService.getObject(ShadowType.class, accountOid, null, task, result); + PrismAsserts.assertPropertyValue(shadow, SchemaConstants.PATH_ACTIVATION_LOCKOUT_STATUS, + LockoutStatusType.NORMAL); + + checkAdminStatusFor15x(userJack, true, true, true); + } @Test