use of org.opends.server.types.Entry in project midpoint by Evolveum.
the class TestOpenDj method test402AddAccountMorganWithAssociation.
@Test
public void test402AddAccountMorganWithAssociation() throws Exception {
final String TEST_NAME = "test402AddAccountMorganWithAssociation";
TestUtil.displayTestTile(TEST_NAME);
Task task = createTask(TEST_NAME);
OperationResult result = task.getResult();
ShadowType object = parseObjectType(ACCOUNT_MORGAN_FILE, ShadowType.class);
IntegrationTestTools.display("Adding object", object);
// WHEN
String addedObjectOid = provisioningService.addObject(object.asPrismObject(), null, null, task, result);
// THEN
assertEquals(ACCOUNT_MORGAN_OID, addedObjectOid);
ShadowType shadowType = repositoryService.getObject(ShadowType.class, ACCOUNT_MORGAN_OID, null, result).asObjectable();
PrismAsserts.assertEqualsPolyString("Wrong ICF name (repo)", ACCOUNT_MORGAN_DN, shadowType.getName());
ShadowType provisioningShadowType = provisioningService.getObject(ShadowType.class, ACCOUNT_MORGAN_OID, null, taskManager.createTaskInstance(), result).asObjectable();
PrismAsserts.assertEqualsPolyString("Wrong ICF name (provisioning)", ACCOUNT_MORGAN_DN, provisioningShadowType.getName());
String uid = ShadowUtil.getSingleStringAttributeValue(shadowType, getPrimaryIdentifierQName());
assertNotNull(uid);
List<ShadowAssociationType> associations = provisioningShadowType.getAssociation();
assertEquals("Unexpected number of associations", 1, associations.size());
ShadowAssociationType association = associations.get(0);
assertEquals("Wrong group OID in association", GROUP_SWASHBUCKLERS_OID, association.getShadowRef().getOid());
Entry accountEntry = openDJController.searchAndAssertByEntryUuid(uid);
display("LDAP account", accountEntry);
assertNotNull("No LDAP account entry");
String accountDn = accountEntry.getDN().toString();
assertEquals("Wrong account DN", ACCOUNT_MORGAN_DN, accountDn);
Entry groupEntry = openDJController.fetchEntry(GROUP_SWASHBUCKLERS_DN);
display("LDAP group", groupEntry);
assertNotNull("No LDAP group entry");
openDJController.assertUniqueMember(groupEntry, accountDn);
assertShadows(19);
}
use of org.opends.server.types.Entry in project midpoint by Evolveum.
the class TestSynchronization method test100SyncAddWill.
@Test
public void test100SyncAddWill() throws Exception {
final String TEST_NAME = "test100SyncAddWill";
TestUtil.displayTestTile(TEST_NAME);
final OperationResult result = new OperationResult(TestSynchronization.class.getName() + "." + TEST_NAME);
Task syncTask = taskManager.getTask(SYNC_TASK_OID, result);
AssertJUnit.assertNotNull(syncTask);
assertSyncToken(syncTask, 0, result);
((SynchornizationServiceMock) syncServiceMock).reset();
// create add change in embeded LDAP
LDIFImportConfig importConfig = new LDIFImportConfig(LDIF_WILL_FILE.getPath());
LDIFReader ldifReader = new LDIFReader(importConfig);
Entry entry = ldifReader.readEntry();
display("Entry from LDIF", entry);
AddOperation addOperation = openDJController.getInternalConnection().processAdd(entry);
AssertJUnit.assertEquals("LDAP add operation failed", ResultCode.SUCCESS, addOperation.getResultCode());
ResourceShadowDiscriminator coords = new ResourceShadowDiscriminator(resourceType.getOid(), AbstractOpenDjTest.RESOURCE_OPENDJ_ACCOUNT_OBJECTCLASS);
// WHEN
provisioningService.synchronize(coords, syncTask, result);
// THEN
SynchornizationServiceMock mock = (SynchornizationServiceMock) syncServiceMock;
assertEquals("Unexpected number of synchronization service calls", 1, mock.getCallCount());
ResourceObjectShadowChangeDescription lastChange = mock.getLastChange();
// ObjectDelta<? extends ShadowType> objectDelta = lastChange.getObjectDelta();
// assertNotNull("Null object delta in change notification", objectDelta);
// assertEquals("Wrong change type in delta in change notification", ChangeType.ADD, objectDelta.getChangeType());
PrismObject<? extends ShadowType> currentShadow = lastChange.getCurrentShadow();
assertNotNull("No current shadow in change notification", currentShadow);
assertNotNull("No old shadow in change notification", lastChange.getOldShadow());
assertEquals("Wrong shadow name", PrismTestUtil.createPolyStringType(ACCOUNT_WILL_NAME), currentShadow.asObjectable().getName());
assertSyncToken(SYNC_TASK_OID, 1, result);
}
use of org.opends.server.types.Entry in project midpoint by Evolveum.
the class TestSynchronization method test500SyncAddProtected.
@Test
public void test500SyncAddProtected() throws Exception {
final String TEST_NAME = "test500SyncAddProtected";
TestUtil.displayTestTile(TEST_NAME);
final OperationResult result = new OperationResult(TestSynchronization.class.getName() + "." + TEST_NAME);
Task syncTask = taskManager.getTask(SYNC_TASK_OID, result);
AssertJUnit.assertNotNull(syncTask);
assertSyncToken(syncTask, 1, result);
((SynchornizationServiceMock) syncServiceMock).reset();
// create add change in embedded LDAP
LDIFImportConfig importConfig = new LDIFImportConfig(LDIF_CALYPSO_FILE.getPath());
LDIFReader ldifReader = new LDIFReader(importConfig);
Entry entry = ldifReader.readEntry();
ldifReader.close();
display("Entry from LDIF", entry);
AddOperation addOperation = openDJController.getInternalConnection().processAdd(entry);
AssertJUnit.assertEquals("LDAP add operation failed", ResultCode.SUCCESS, addOperation.getResultCode());
ResourceShadowDiscriminator coords = new ResourceShadowDiscriminator(resourceType.getOid(), AbstractOpenDjTest.RESOURCE_OPENDJ_ACCOUNT_OBJECTCLASS);
// WHEN
provisioningService.synchronize(coords, syncTask, result);
// THEN
SynchornizationServiceMock mock = (SynchornizationServiceMock) syncServiceMock;
assertEquals("Unexpected number of synchronization service calls", 0, mock.getCallCount());
// ResourceObjectShadowChangeDescription lastChange = mock.getLastChange();
// PrismObject<? extends ShadowType> currentShadow = lastChange.getCurrentShadow();
// assertNotNull("No current shadow in change notification", currentShadow);
// assertNotNull("No old shadow in change notification", lastChange.getOldShadow());
//
// assertEquals("Wrong shadow name", PrismTestUtil.createPolyStringType(ACCOUNT_CALYPSO_NAME), currentShadow.asObjectable().getName());
//
// assertNotNull("Calypso is not protected", currentShadow.asObjectable().isProtectedObject());
// assertTrue("Calypso is not protected", currentShadow.asObjectable().isProtectedObject());
assertSyncToken(SYNC_TASK_OID, 2, result);
}
use of org.opends.server.types.Entry in project midpoint by Evolveum.
the class TestOpenDj method test150ChangePassword.
@Test
public void test150ChangePassword() throws Exception {
final String TEST_NAME = "test150ChangePassword";
TestUtil.displayTestTile(TEST_NAME);
Task task = createTask(TEST_NAME);
OperationResult result = task.getResult();
ShadowType object = parseObjectType(ACCOUNT_MODIFY_PASSWORD_FILE, ShadowType.class);
String addedObjectOid = provisioningService.addObject(object.asPrismObject(), null, null, taskManager.createTaskInstance(), result);
assertEquals(ACCOUNT_MODIFY_PASSWORD_OID, addedObjectOid);
ShadowType accountType = provisioningService.getObject(ShadowType.class, ACCOUNT_MODIFY_PASSWORD_OID, null, taskManager.createTaskInstance(), result).asObjectable();
display("Object before password change", accountType);
String uid = null;
uid = ShadowUtil.getSingleStringAttributeValue(accountType, getPrimaryIdentifierQName());
assertNotNull(uid);
Entry entryBefore = openDJController.searchAndAssertByEntryUuid(uid);
display("LDAP account before", entryBefore);
String passwordBefore = OpenDJController.getAttributeValue(entryBefore, "userPassword");
assertNull("Unexpected password before change", passwordBefore);
ObjectModificationType objectChange = PrismTestUtil.parseAtomicValue(new File(TEST_DIR, "account-change-password.xml"), ObjectModificationType.COMPLEX_TYPE);
ObjectDelta<ShadowType> delta = DeltaConvertor.createObjectDelta(objectChange, accountType.asPrismObject().getDefinition());
display("Object change", delta);
// WHEN
TestUtil.displayWhen(TEST_NAME);
provisioningService.modifyObject(ShadowType.class, delta.getOid(), delta.getModifications(), null, null, task, result);
// THEN
TestUtil.displayThen(TEST_NAME);
// Check if object was modified in LDAP
Entry entryAfter = openDJController.searchAndAssertByEntryUuid(uid);
display("LDAP account after", entryAfter);
String passwordAfter = OpenDJController.getAttributeValue(entryAfter, "userPassword");
assertNotNull("The password was not changed", passwordAfter);
System.out.println("Changed password: " + passwordAfter);
openDJController.assertPassword(entryAfter.getDN().toString(), "mehAbigH4X0R");
assertShadows(4);
}
use of org.opends.server.types.Entry in project midpoint by Evolveum.
the class TestOpenDj method test175AddDisabledAccount.
@Test
public void test175AddDisabledAccount() throws Exception {
final String TEST_NAME = "test175AddDisabledAccount";
TestUtil.displayTestTile(TEST_NAME);
Task task = createTask(TEST_NAME);
OperationResult result = task.getResult();
ShadowType object = parseObjectType(ACCOUNT_NEW_DISABLED_FILE, ShadowType.class);
IntegrationTestTools.display("Adding object", object);
// WHEN
String addedObjectOid = provisioningService.addObject(object.asPrismObject(), null, null, taskManager.createTaskInstance(), result);
// THEN
assertEquals(ACCOUNT_NEW_DISABLED_OID, addedObjectOid);
ShadowType accountType = repositoryService.getObject(ShadowType.class, ACCOUNT_NEW_DISABLED_OID, null, result).asObjectable();
PrismAsserts.assertEqualsPolyString("Wrong ICF name (repo)", "uid=rapp,ou=People,dc=example,dc=com", accountType.getName());
ShadowType provisioningAccountType = provisioningService.getObject(ShadowType.class, ACCOUNT_NEW_DISABLED_OID, null, taskManager.createTaskInstance(), result).asObjectable();
PrismAsserts.assertEqualsPolyString("Wrong ICF name (provisioning)", "uid=rapp,ou=People,dc=example,dc=com", provisioningAccountType.getName());
String uid = ShadowUtil.getSingleStringAttributeValue(accountType, getPrimaryIdentifierQName());
assertNotNull(uid);
// Check if object was modified in LDAP
Entry response = openDJController.searchAndAssertByEntryUuid(uid);
display("LDAP account", response);
String disabled = openDJController.getAttributeValue(response, "ds-pwp-account-disabled");
assertNotNull("no ds-pwp-account-disabled attribute in account " + uid, disabled);
System.out.println("ds-pwp-account-disabled after change: " + disabled);
assertEquals("ds-pwp-account-disabled not set to \"TRUE\"", "TRUE", disabled);
ActivationType repoActivation = accountType.getActivation();
assertNotNull("No activation in repo", repoActivation);
XMLGregorianCalendar repoDisableTimestamp = repoActivation.getDisableTimestamp();
assertNotNull("No activation disableTimestamp in repo", repoDisableTimestamp);
assertEquals("Wrong activation disableTimestamp in repo", XmlTypeConverter.createXMLGregorianCalendar(1999, 8, 7, 6, 5, 4), repoDisableTimestamp);
}
Aggregations