Skip to content

Commit

Permalink
Lockout intests
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Jul 11, 2014
1 parent ffcc7d4 commit d83052f
Showing 1 changed file with 82 additions and 0 deletions.
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -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<ShadowType> 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<ShadowType> 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<ShadowType> dummyDelta = createModifyAccountShadowReplaceDelta(accountOid, null,
SchemaConstants.PATH_ACTIVATION_LOCKOUT_STATUS, LockoutStatusType.NORMAL);
Collection<ObjectDelta<? extends ObjectType>> 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<UserType> userJack = getUser(USER_JACK_OID);
display("User after change execution", userJack);
assertUserJack(userJack);

PrismObject<ShadowType> 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
Expand Down

0 comments on commit d83052f

Please sign in to comment.