Search in sources :

Example 36 with Entry

use of org.opends.server.types.Entry in project midpoint by Evolveum.

the class TestOpenDj method test405GetGroupSwashbucklers.

@Test
public void test405GetGroupSwashbucklers() throws Exception {
    final String TEST_NAME = "test405GetGroupSwashbucklers";
    TestUtil.displayTestTile(TEST_NAME);
    Task task = createTask(TEST_NAME);
    OperationResult result = task.getResult();
    // WHEN
    TestUtil.displayWhen(TEST_NAME);
    PrismObject<ShadowType> provisioningShadow = provisioningService.getObject(ShadowType.class, GROUP_SWASHBUCKLERS_OID, null, task, result);
    // THEN
    TestUtil.displayThen(TEST_NAME);
    ShadowType provisioningShadowType = provisioningShadow.asObjectable();
    assertEquals("Wrong ICF name (provisioning)", dnMatchingRule.normalize(GROUP_SWASHBUCKLERS_DN), dnMatchingRule.normalize(provisioningShadowType.getName().getOrig()));
    String uid = ShadowUtil.getSingleStringAttributeValue(provisioningShadowType, getPrimaryIdentifierQName());
    assertNotNull(uid);
    ResourceAttribute<Object> memberAttr = ShadowUtil.getAttribute(provisioningShadow, new QName(RESOURCE_OPENDJ_NS, GROUP_MEMBER_ATTR_NAME));
    assertNull("Member attribute sneaked in", memberAttr);
    Entry ldapEntry = openDJController.searchAndAssertByEntryUuid(uid);
    display("LDAP group", ldapEntry);
    assertNotNull("No LDAP group entry");
    String groupDn = ldapEntry.getDN().toString();
    assertEquals("Wrong group DN", dnMatchingRule.normalize(GROUP_SWASHBUCKLERS_DN), dnMatchingRule.normalize(groupDn));
    assertShadows(19);
}
Also used : Task(com.evolveum.midpoint.task.api.Task) Entry(org.opends.server.types.Entry) ShadowType(com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType) QName(javax.xml.namespace.QName) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) PrismObject(com.evolveum.midpoint.prism.PrismObject) Test(org.testng.annotations.Test)

Example 37 with Entry

use of org.opends.server.types.Entry in project midpoint by Evolveum.

the class TestVillage method test300AddProjectJollyRoger.

@Test
public void test300AddProjectJollyRoger() throws Exception {
    final String TEST_NAME = "test300AddProjectJollyRoger";
    TestUtil.displayTestTile(this, TEST_NAME);
    Task task = taskManager.createTaskInstance(TestTrafo.class.getName() + "." + TEST_NAME);
    OperationResult result = task.getResult();
    // WHEN
    TestUtil.displayWhen(TEST_NAME);
    addObject(ORG_PROJECT_JOLLY_ROGER_FILE, task, result);
    // THEN
    TestUtil.displayThen(TEST_NAME);
    result.computeStatus();
    TestUtil.assertSuccess(result);
    PrismObject<OrgType> org = getObject(OrgType.class, ORG_PROJECT_JOLLY_ROGER_OID);
    display("Org", org);
    assertLinks(org, 2);
    Entry ouEntry = openDJController.fetchAndAssertEntry("ou=Jolly Roger,dc=example,dc=com", "organizationalUnit");
    Entry groupEntry = openDJController.fetchAndAssertEntry(GROUP_PROJECT_JOLLY_ROGER_ADMIN_DN, GROUP_OF_UNIQUE_NAMES_OBJECTCLASS_NAME);
//TODO: more assertions
}
Also used : Task(com.evolveum.midpoint.task.api.Task) Entry(org.opends.server.types.Entry) OperationResult(com.evolveum.midpoint.schema.result.OperationResult) Test(org.testng.annotations.Test)

Example 38 with Entry

use of org.opends.server.types.Entry in project midpoint by Evolveum.

the class TestVillage method assertLdapLocGov.

private void assertLdapLocGov(PrismObject<UserType> user, String expLoc, String expOrg) throws ObjectNotFoundException, SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, DirectoryException, ExpressionEvaluationException {
    UserType userType = user.asObjectable();
    String groupCn = expOrg + ":" + expLoc;
    String groupDn = "cn=" + groupCn + ",ou=groups," + openDJController.getSuffix();
    Entry groupEntry = openDJController.fetchAndAssertEntry(groupDn, "groupOfUniqueNames");
    display("Group entry", groupEntry);
    PrismReferenceValue accountLinkRef = getLinkRef(user, RESOURCE_OPENDJ_OID);
    PrismObject<ShadowType> accountShadow = getShadowModel(accountLinkRef.getOid());
    String accountDn = IntegrationTestTools.getSecondaryIdentifier(accountShadow);
    openDJController.assertUniqueMember(groupEntry, accountDn);
}
Also used : Entry(org.opends.server.types.Entry) PrismReferenceValue(com.evolveum.midpoint.prism.PrismReferenceValue)

Example 39 with Entry

use of org.opends.server.types.Entry in project midpoint by Evolveum.

the class TestVillage method assertNoLdapLocGov.

private void assertNoLdapLocGov(PrismObject<UserType> user, String expLoc, String expOrg) throws ObjectNotFoundException, SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, DirectoryException {
    UserType userType = user.asObjectable();
    String groupCn = expOrg + ":" + expLoc;
    String groupDn = "cn=" + groupCn + ",ou=groups," + openDJController.getSuffix();
    Entry groupEntry = openDJController.fetchAndAssertEntry(groupDn, "groupOfUniqueNames");
    display("Group entry", groupEntry);
    String accountDn = "uid=" + userType.getName() + ",ou=people," + openDJController.getSuffix();
    openDJController.assertNoUniqueMember(groupEntry, accountDn);
}
Also used : Entry(org.opends.server.types.Entry)

Example 40 with Entry

use of org.opends.server.types.Entry in project midpoint by Evolveum.

the class TestUnix method assertLdapGroup.

private String assertLdapGroup(PrismObject<ShadowType> shadow) throws DirectoryException {
    ShadowType shadowType = shadow.asObjectable();
    assertEquals("Wrong objectclass in " + shadow, OPENDJ_GROUP_STRUCTURAL_OBJECTCLASS_NAME, shadowType.getObjectClass());
    assertTrue("Unexpected auxiliary objectclasses in " + shadow + ": " + shadowType.getAuxiliaryObjectClass(), shadowType.getAuxiliaryObjectClass().isEmpty());
    String dn = (String) ShadowUtil.getSecondaryIdentifiers(shadow).iterator().next().getRealValue();
    Entry entry = openDJController.fetchEntry(dn);
    assertNotNull("No group LDAP entry for " + dn);
    display("Ldap group entry", entry);
    openDJController.assertObjectClass(entry, OPENDJ_GROUP_STRUCTURAL_OBJECTCLASS_NAME.getLocalPart());
    openDJController.assertNoObjectClass(entry, OPENDJ_GROUP_POSIX_AUXILIARY_OBJECTCLASS_NAME.getLocalPart());
    return entry.getDN().toString();
}
Also used : Entry(org.opends.server.types.Entry) PolyString(com.evolveum.midpoint.prism.polystring.PolyString)

Aggregations

Entry (org.opends.server.types.Entry)87 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)45 Test (org.testng.annotations.Test)44 Task (com.evolveum.midpoint.task.api.Task)43 ShadowType (com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType)40 PolyString (com.evolveum.midpoint.prism.polystring.PolyString)29 UserType (com.evolveum.midpoint.xml.ns._public.common.common_3.UserType)14 QName (javax.xml.namespace.QName)11 SearchResultEntry (org.opends.server.types.SearchResultEntry)11 LDIFImportConfig (org.opends.server.types.LDIFImportConfig)10 LDIFReader (org.opends.server.util.LDIFReader)10 AbstractModelIntegrationTest (com.evolveum.midpoint.model.test.AbstractModelIntegrationTest)9 OrgType (com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType)8 PrismObject (com.evolveum.midpoint.prism.PrismObject)6 JarEntry (java.util.jar.JarEntry)6 ChangeRecordEntry (org.opends.server.util.ChangeRecordEntry)6 ModifyChangeRecordEntry (org.opends.server.util.ModifyChangeRecordEntry)6 ModifyDNChangeRecordEntry (org.opends.server.util.ModifyDNChangeRecordEntry)6 ItemPath (com.evolveum.midpoint.prism.path.ItemPath)5 PrismReferenceValue (com.evolveum.midpoint.prism.PrismReferenceValue)4