/** * Clears everything, just like the resouce was just created. */ public void reset() { allObjects.clear(); accounts.clear(); groups.clear(); privileges.clear(); orgs.clear(); scriptHistory.clear(); accountObjectClass = new DummyObjectClass(); groupObjectClass = new DummyObjectClass(); privilegeObjectClass = new DummyObjectClass(); syncStyle = DummySyncStyle.NONE; deltas.clear(); latestSyncToken = 0; writeOperationCount = 0; operationDelayOffset = 0; operationDelayRange = 0; resetBreakMode(); }
@Test public void test120JackAssignRoleDummiesRelative() throws Exception { final String TEST_NAME = "test120JackAssignRoleDummiesRelative"; getDummyResource().resetBreakMode(); // Clean up user Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); modifyUserReplace(USER_JACK_OID, UserType.F_ORGANIZATIONAL_UNIT, task, result); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.RELATIVE); jackAssignRoleDummies(TEST_NAME); }
/** * Test add with pending operation and recovered resource. This happens when refresh task * does not have a chance to run yet. The forceFresh option is NOT used here. * Therefore nothing significant should happen. */ @Test public void test102GetAccountMorganRecovery() throws Exception { final String TEST_NAME = "test102GetAccountMorganRecovery"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); dummyResource.resetBreakMode(); // WHEN displayWhen(TEST_NAME); assertGetUncreatedShadow(ACCOUNT_MORGAN_OID); // THEN displayThen(TEST_NAME); syncServiceMock.assertNoNotifcations(); assertUncreatedMorgan(1); assertSteadyResources(); }
/** * Resource peru depends on resource yellow, but the dependency is relaxed. * The account should be created even if we do not have yellow account yet. */ @Test public void test380AddAccountPeru() throws Exception { final String TEST_NAME = "test380AddAccountPeru"; displayTestTitle(TEST_NAME); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.NONE); getDummyResource().resetBreakMode(); // precondition assertEncryptedUserPassword(USER_JACK_OID, USER_JACK_PASSWORD); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); ObjectDelta<UserType> userDelta = createModifyUserAddDummyAccount(USER_JACK_OID, RESOURCE_DUMMY_PERU_NAME); // WHEN displayWhen(TEST_NAME); executeChanges(userDelta, null, task, result); // THEN displayThen(TEST_NAME); assertSuccess(result); assertDummyAccount(RESOURCE_DUMMY_PERU_NAME, ACCOUNT_JACK_DUMMY_USERNAME, ACCOUNT_JACK_DUMMY_FULLNAME, true); assertDummyPassword(RESOURCE_DUMMY_PERU_NAME, ACCOUNT_JACK_DUMMY_USERNAME, USER_JACK_PASSWORD); }
/** * Try to delete Jack's default dummy account. As other provisioned accounts depends on it the * operation should fail. */ @Test public void test121JackTryDeleteAccount() throws Exception { final String TEST_NAME = "test121JackTryDeleteAccount"; assumeAssignmentPolicy(AssignmentPolicyEnforcementType.NONE); getDummyResource().resetBreakMode(); // Clean up user Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); PrismObject<UserType> userJack = getUser(USER_JACK_OID); String accountJackDummyOid = getLinkRefOid(userJack, RESOURCE_DUMMY_OID); ObjectDelta<ShadowType> accountDelta = prismContext.deltaFactory().object() .createDeleteDelta(ShadowType.class, accountJackDummyOid); Collection<ObjectDelta<? extends ObjectType>> deltas = MiscSchemaUtil.createCollection(accountDelta); try { // WHEN modelService.executeChanges(deltas, null, task, result); AssertJUnit.fail("Unexpected success"); } catch (PolicyViolationException e) { // This is expected display("Expected exception", e); } }
/** * User has assigned account. We recover the resource (clear break mode) and recompute. * The account should be created. */ @Test public void test212UserSharptoothAssignAccountRecovery() throws Exception { final String TEST_NAME = "test212UserSharptoothAssignAccountRecovery"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.FULL); getDummyResource().resetBreakMode(); dummyAuditService.clear(); // WHEN displayWhen(TEST_NAME); recomputeUser(userSharptoothOid, task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertSuccess(result); assertDummyAccount(null, USER_SHARPTOOTH_NAME, USER_SHARPTOOTH_FULLNAME, true); assertDummyPassword(null, USER_SHARPTOOTH_NAME, USER_SHARPTOOTH_PASSWORD_1_CLEAR); }
/** * Legacy consistency items. * MID-5076 */ @Test public void test900GetAccountMurrayLegacy() throws Exception { final String TEST_NAME = "test900GetAccountMurrayLegacy"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); dummyResource.resetBreakMode(); dummyResourceCtl.addAccount(ACCOUNT_MURRAY_USERNAME, ACCOUNT_MURRAY_FULL_NAME); repoAddObjectFromFile(ACCOUNT_SHADOW_MURRAY_LEGACY_FILE, result); // WHEN displayWhen(TEST_NAME); PrismObject<ShadowType> accountMurray = provisioningService.getObject(ShadowType.class, ACCOUNT_SHADOW_MURRAY_LEGACY_OID, null, task, result); // THEN displayThen(TEST_NAME); display("Result", result); assertSuccess(result); accountMurray.checkConsistence(); // TODO: assert Murray assertSteadyResources(); }
getDummyResource(RESOURCE_DUMMY_DAVID_NAME).resetBreakMode(); getDummyResource(RESOURCE_DUMMY_GOLIATH_NAME).resetBreakMode(); dummyAuditService.clear();
dummyResource.resetBreakMode();
dummyResource.resetBreakMode();
@Test public void test804AddAccountElizabeth() throws Exception { final String TEST_NAME = "test804AddAccountElizabeth"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); dummyResource.resetBreakMode(); PrismObject<ShadowType> account = prismContext.parseObject(ACCOUNT_ELIZABETH_FILE); account.checkConsistence(); display("Adding shadow", account); // WHEN displayWhen(TEST_NAME); provisioningService.addObject(account, null, null, task, result); // THEN displayThen(TEST_NAME); assertSuccess(result); account.checkConsistence(); dummyResourceCtl.assertAccountByUsername(ACCOUNT_ELIZABETH_USERNAME) .assertAttribute(DummyResourceContoller.DUMMY_ACCOUNT_ATTRIBUTE_FULLNAME_NAME, ACCOUNT_ELIZABETH_FULLNAME); assertSteadyResources(); }
/** * Reconcile after retry interval. Now we are rocking ... and things will finally * get fixed. * MID-1566 */ @Test public void test423DavidAndGoliathAssignRoleGoliathUpReconcile() throws Exception { final String TEST_NAME = "test423DavidAndGoliathAssignRoleGoliathUpReconcile"; displayTestTitle(TEST_NAME); // GIVEN assumeAssignmentPolicy(AssignmentPolicyEnforcementType.RELATIVE); getDummyResource(RESOURCE_DUMMY_GOLIATH_NAME).resetBreakMode(); dummyAuditService.clear(); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); PrismObject<UserType> userBefore = findUserByUsername(USER_FIELD_NAME); // WHEN reconcileUser(userBefore.getOid(), task, result); // THEN displayThen(TEST_NAME); assertSuccess(result); assertDavidGoliath(userBefore.getOid(), "rock", USER_FIELD_NAME, true, true, true); // Check audit display("Audit", dummyAuditService); dummyAuditService.assertRecords(2); dummyAuditService.assertSimpleRecordSanity(); }
dummyResource.resetBreakMode();
dummyResource.resetBreakMode();
dummyResource.resetBreakMode();
repoAddObjectFromFile(ROLE_DARK_YELLOW_PERU_FILE, initResult); getDummyResource().resetBreakMode();
OperationResult result = task.getResult(); getDummyResource(RESOURCE_DUMMY_CRIMSON_NAME).resetBreakMode();
public void testUserSharptoothChangePasswordError(final String TEST_NAME, BreakMode breakMode, String oldPassword, String newPassword, OperationResultStatus expectedResultStatus) throws Exception { displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.FULL); getDummyResource().setBreakMode(breakMode); dummyAuditService.clear(); // WHEN displayWhen(TEST_NAME); modifyUserChangePassword(userSharptoothOid, newPassword, task, result); // THEN displayThen(TEST_NAME); result.computeStatus(); TestUtil.assertStatus(result, expectedResultStatus); getDummyResource().resetBreakMode(); PrismObject<UserType> userAfter = getUser(userSharptoothOid); display("User afte", userAfter); assertEncryptedUserPassword(userAfter, newPassword); assertDummyAccount(null, USER_SHARPTOOTH_NAME, USER_SHARPTOOTH_FULLNAME, true); assertDummyPassword(null, USER_SHARPTOOTH_NAME, oldPassword); }
OperationResult result = task.getResult(); getDummyResource(RESOURCE_DUMMY_CRIMSON_NAME).resetBreakMode();
OperationResult result = task.getResult(); assumeAssignmentPolicy(AssignmentPolicyEnforcementType.FULL); getDummyResource().resetBreakMode();