Guys,

I have followed the instructions for using apacheds within a junit test.

The issue I have is I cannot seem to modify the schema. I have by default an 
ou=system which I can add/remove stuff from. I cannot seem to create a new 
partition in any way shape or form. Obviously for unit testing I want a 
different partition. Ideally dc=hyro,dc=com. I have this ldif:

dn: dc=hyro,dc=com
objectclass: dcObject
objectclass: organization
o: hyro
dc: hyro

dn: cn=Manager,dc=hyro,dc=com
objectclass: organizationalRole
cn: Manager

dn: ou=People,dc=hyro,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

dn: cn=pedwards,ou=People,dc=hyro,dc=com
cn: pedwards
objectClass: inetOrgPerson
sn: Edwards
uid: pedwards
userPassword: password


I have used this successfully with openldap many time. I have tried changing 
everything under the sun and no joy. It just throws:

hyro_common: 2009-05-05 18:03:48 DEBUG [DefaultOperationManager] >> 
AddOperation : AddContext for DN 'dc=hyro,dc=com', added entry: ServerEntry
    dn[n]: 0.9.2342.19200300.100.1.25=hyro,0.9.2342.19200300.100.1.25=com
    objectclass: organization
    dc: hyro
    o: hyro

hyro_common: 2009-05-05 18:03:48 DEBUG [AuthenticationInterceptor] Operation 
Context: AddContext for DN 'dc=hyro,dc=com', added entry: ServerEntry
    dn[n]: 0.9.2342.19200300.100.1.25=hyro,0.9.2342.19200300.100.1.25=com
    objectclass: organization
    dc: hyro
    o: hyro

hyro_common: 2009-05-05 18:03:48 DEBUG [DefaultOidRegistry] looked up OID 
'2.5.4.0' with id 'objectClass'
hyro_common: 2009-05-05 18:03:48 DEBUG [DefaultAttributeTypeRegistry] lookup 
with id2.5.4.0' of attributeType: <2.5.4.0, objectClass>
hyro_common: 2009-05-05 18:03:48 DEBUG [DefaultNormalizerRegistry] registered 
normalizer with oid: 2.5.13.0
hyro_common: 2009-05-05 18:03:48 DEBUG [DefaultPartitionNexus] Check if DN 
'0.9.2342.19200300.100.1.25=hyro,0.9.2342.19200300.100.1.25=com' exists.
java.lang.NoSuchMethodError: 
org.junit.runner.notification.RunNotifier.testAborted(Lorg/junit/runner/Description;Ljava/lang/Throwable;)V
        at 
org.apache.directory.server.integ.state.StartedPristineState.test(StartedPristineState.java:199)
        at 
org.apache.directory.server.integ.state.NonExistentState.test(NonExistentState.java:213)
        at 
org.apache.directory.server.integ.state.TestServerContext.test(TestServerContext.java:187)
        at 
org.apache.directory.server.integ.SiRunner.invokeTestMethod(SiRunner.java:103)
        at 
org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:59)
        at 
org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:52)
        at 
org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34)
        at 
org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44)
        at 
org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:50)
        at org.apache.directory.server.integ.SiRunner.run(SiRunner.java:77)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

The top of the code looks like:

import static 
org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
import javax.naming.ldap.LdapContext;

import org.apache.directory.server.core.integ.Level;
import org.apache.directory.server.core.integ.annotations.ApplyLdifs;
import org.apache.directory.server.core.integ.annotations.CleanupLevel;
import org.apache.directory.server.integ.SiRunner;
import org.apache.directory.server.ldap.LdapService;
import org.apache.tools.ant.taskdefs.Sleep;
import org.junit.runner.RunWith;
import org.junit.Test;

@RunWith(SiRunner.class)
@CleanupLevel(Level.CLASS)
@ApplyLdifs( {
        
        "dn: dc=hyro,dc=com\n" +
        //"objectclass: dcObject\n" +
        "objectclass: organization\n" +
        "o: hyro\n" +
        "dc: hyro\n\n" +

        "dn: cn=Manager,dc=hyro,dc=com\n" +
        "objectclass: organizationalRole\n" +
        "cn: Manager\n\n" +

        "dn: ou=People,dc=hyro,dc=com\n" +
        "ou: People\n" +
        "objectClass: top\n" +
        "objectClass: organizationalUnit\n\n" +

        "dn: cn=pedwards,ou=People,dc=hyro,dc=com\n" +
        "cn: pedwards\n" +
        "objectClass: inetOrgPerson\n" +
        "sn: Edwards\n" +
        "uid: pedwards\n" +
        "userPassword: password\n\n"
        

} )     


Help gratefully received.
Thanks
--
Paul Edwards
Solutions Engineer
Identity Solutions Practice
---------------------------------------------------------
hyro
W www.hyro.com

Reply via email to