use of org.apache.directory.ldap.client.api.LdapNetworkConnection in project midpoint by Evolveum.
the class AbstractLdapTest method assertNoLdapGroup.
protected void assertNoLdapGroup(String cn) throws LdapException, IOException, CursorException {
LdapNetworkConnection connection = ldapConnect();
List<Entry> entries = ldapSearch(connection, "(&(cn=" + cn + ")(objectClass=" + getLdapGroupObjectClass() + "))");
ldapDisconnect(connection);
assertEquals("Unexpected LDAP group " + cn + ": " + entries, 0, entries.size());
}
use of org.apache.directory.ldap.client.api.LdapNetworkConnection in project midpoint by Evolveum.
the class AbstractLdapTest method addLdapAccount.
protected Entry addLdapAccount(String uid, String cn, String givenName, String sn) throws LdapException, IOException, CursorException {
LdapNetworkConnection connection = ldapConnect();
Entry entry = createAccountEntry(uid, cn, givenName, sn);
try {
connection.add(entry);
display("Added LDAP account:\n" + entry);
} catch (Exception e) {
display("Error adding entry:\n" + entry + "\nError: " + e.getMessage());
ldapDisconnect(connection);
throw e;
}
ldapDisconnect(connection);
return entry;
}
use of org.apache.directory.ldap.client.api.LdapNetworkConnection in project midpoint by Evolveum.
the class TestOpenLdap method test702LockOutBarbossa.
@Test
public void test702LockOutBarbossa() throws Exception {
final String TEST_NAME = "test702LockOutBarbossa";
TestUtil.displayTestTile(this, TEST_NAME);
Entry entry = getLdapAccountByUid(USER_BARBOSSA_USERNAME);
display("LDAP Entry before", entry);
// WHEN
TestUtil.displayWhen(TEST_NAME);
for (int i = 0; i < 10; i++) {
LdapNetworkConnection conn;
try {
conn = ldapConnect(null, entry.getDn().toString(), "this password is wrong");
} catch (SecurityException e) {
// Good bad attempt
continue;
}
assertNotReached();
}
// THEN
TestUtil.displayThen(TEST_NAME);
entry = assertLdapAccount(USER_BARBOSSA_USERNAME, USER_BARBOSSA_FULL_NAME);
display("LDAP Entry after", entry);
PrismObject<ShadowType> shadow = getShadowModel(accountBarbossaOid);
display("Shadow (model)", shadow);
ActivationType activation = shadow.asObjectable().getActivation();
assertNotNull("No activation", activation);
LockoutStatusType lockoutStatus = shadow.asObjectable().getActivation().getLockoutStatus();
assertEquals("Wrong lockout status", LockoutStatusType.LOCKED, lockoutStatus);
}
use of org.apache.directory.ldap.client.api.LdapNetworkConnection in project midpoint by Evolveum.
the class AbstractLdapSynchronizationTest method test837RenameAccount.
@Test
public void test837RenameAccount() throws Exception {
final String TEST_NAME = "test837RenameAccount";
TestUtil.displayTestTile(this, TEST_NAME);
// GIVEN
Task task = taskManager.createTaskInstance(this.getClass().getName() + "." + TEST_NAME);
OperationResult result = task.getResult();
long tsStart = System.currentTimeMillis();
// WHEN
TestUtil.displayWhen(TEST_NAME);
LdapNetworkConnection connection = ldapConnect();
ModifyDnRequest modDnRequest = new ModifyDnRequestImpl();
modDnRequest.setName(new Dn(toAccountDn(ACCOUNT_HT_UID, ACCOUNT_HT_CN)));
modDnRequest.setNewRdn(toAccountRdn(ACCOUNT_HTM_UID, ACCOUNT_HTM_CN));
modDnRequest.setDeleteOldRdn(true);
ModifyDnResponse modDnResponse = connection.modifyDn(modDnRequest);
display("Modified " + toAccountDn(ACCOUNT_HT_UID, ACCOUNT_HT_CN) + " -> " + toAccountRdn(ACCOUNT_HTM_UID, ACCOUNT_HTM_CN) + ": " + modDnResponse);
doAdditionalRenameModifications(connection);
ldapDisconnect(connection);
waitForTaskNextRunAssertSuccess(getSyncTaskOid(), true);
// THEN
TestUtil.displayThen(TEST_NAME);
result.computeStatus();
TestUtil.assertSuccess(result);
long tsEnd = System.currentTimeMillis();
PrismObject<UserType> user = findUserByUsername(ACCOUNT_HTM_UID);
assertNotNull("No user " + ACCOUNT_HTM_UID + " created", user);
assertUser(user, user.getOid(), ACCOUNT_HTM_UID, getAccountHtmCnAfterRename(), ACCOUNT_HT_GIVENNAME, ACCOUNT_HT_SN_MODIFIED);
assertNull("User " + ACCOUNT_HT_UID + " still exist", findUserByUsername(ACCOUNT_HT_UID));
assertStepSyncToken(getSyncTaskOid(), 9, tsStart, tsEnd);
}
Aggregations