You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/01/06 19:27:19 UTC
svn commit: r896599 [25/30] - in /directory/apacheds/trunk: ./
avl-partition/ avl-partition/src/ avl-partition/src/main/
avl-partition/src/main/java/ avl-partition/src/main/java/org/
avl-partition/src/main/java/org/apache/ avl-partition/src/main/java/o...
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/SaslBindIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/SaslBindIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/SaslBindIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/SaslBindIT.java Wed Jan 6 18:26:43 2010
@@ -20,11 +20,12 @@
package org.apache.directory.server.operations.bind;
-import java.util.HashMap;
-import java.util.HashSet;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.lang.reflect.Field;
import java.util.Hashtable;
-import java.util.Map;
-import java.util.Set;
import javax.naming.AuthenticationNotSupportedException;
import javax.naming.Context;
@@ -36,30 +37,22 @@
import javax.naming.directory.InitialDirContext;
import org.apache.commons.net.SocketClient;
-import org.apache.directory.server.core.DefaultDirectoryService;
-import org.apache.directory.server.core.DirectoryService;
-import org.apache.directory.server.core.entry.ServerEntry;
-import org.apache.directory.server.core.integ.IntegrationUtils;
-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.core.integ.annotations.Factory;
-import org.apache.directory.server.core.partition.Partition;
-import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
-import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition;
-import org.apache.directory.server.integ.LdapServerFactory;
-import org.apache.directory.server.integ.SiRunner;
-import org.apache.directory.server.ldap.LdapServer;
-import org.apache.directory.server.ldap.handlers.bind.MechanismHandler;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.annotations.SaslMechanism;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.annotations.ContextEntry;
+import org.apache.directory.server.core.annotations.CreateDS;
+import org.apache.directory.server.core.annotations.CreateIndex;
+import org.apache.directory.server.core.annotations.CreatePartition;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.apache.directory.server.ldap.handlers.bind.cramMD5.CramMd5MechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.digestMD5.DigestMd5MechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.gssapi.GssapiMechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.ntlm.NtlmMechanismHandler;
-import org.apache.directory.server.ldap.handlers.bind.ntlm.NtlmProvider;
import org.apache.directory.server.ldap.handlers.bind.plain.PlainMechanismHandler;
import org.apache.directory.server.ldap.handlers.extended.StoredProcedureExtendedOperationHandler;
-import org.apache.directory.server.protocol.shared.transport.TcpTransport;
-import org.apache.directory.server.xdbm.Index;
import org.apache.directory.shared.ldap.constants.SupportedSaslMechanisms;
import org.apache.directory.shared.ldap.message.BindRequestImpl;
import org.apache.directory.shared.ldap.message.InternalBindResponse;
@@ -69,18 +62,11 @@
import org.apache.directory.shared.ldap.message.spi.BinaryAttributeDetector;
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.util.ArrayUtils;
-import org.apache.mina.core.session.IoSession;
-import org.apache.mina.util.AvailablePortFinder;
-import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.junit.Assert.fail;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
-
/**
* An {@link AbstractServerTest} testing SASL authentication.
@@ -88,110 +74,69 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.CLASS )
-@Factory ( SaslBindIT.Factory.class )
+@RunWith ( FrameworkRunner.class )
@ApplyLdifs( {
- // Entry #0
- "dn: dc=example,dc=com\n" +
- "dc: example\n" +
- "objectClass: top\n" +
- "objectClass: domain\n\n" +
-
// Entry # 1
- "dn: ou=users,dc=example,dc=com\n" +
- "objectClass: organizationalUnit\n" +
- "objectClass: top\n" +
- "ou: users\n\n" +
+ "dn: ou=users,dc=example,dc=com",
+ "objectClass: organizationalUnit",
+ "objectClass: top",
+ "ou: users\n",
// Entry # 2
- "dn: uid=hnelson,ou=users,dc=example,dc=com\n" +
- "objectClass: inetOrgPerson\n" +
- "objectClass: organizationalPerson\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "uid: hnelson\n" +
- "userPassword: secret\n" +
- "cn: Horatio Nelson\n" +
- "sn: Nelson\n\n"
+ "dn: uid=hnelson,ou=users,dc=example,dc=com",
+ "objectClass: inetOrgPerson",
+ "objectClass: organizationalPerson",
+ "objectClass: person",
+ "objectClass: top",
+ "uid: hnelson",
+ "userPassword: secret",
+ "cn: Horatio Nelson",
+ "sn: Nelson"
}
)
-public class SaslBindIT
+@CreateDS( allowAnonAccess=true, name="SaslBindIT-class",
+ partitions =
+ {
+ @CreatePartition(
+ name = "example",
+ suffix = "dc=example,dc=com",
+ contextEntry = @ContextEntry(
+ entryLdif =
+ "dn: dc=example,dc=com\n" +
+ "dc: example\n" +
+ "objectClass: top\n" +
+ "objectClass: domain\n\n" ),
+ indexes =
+ {
+ @CreateIndex( attribute = "objectClass" ),
+ @CreateIndex( attribute = "dc" ),
+ @CreateIndex( attribute = "ou" )
+ } )
+ })
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ },
+ saslHost="localhost",
+ saslMechanisms =
+ {
+ @SaslMechanism( name=SupportedSaslMechanisms.PLAIN, implClass=PlainMechanismHandler.class ),
+ @SaslMechanism( name=SupportedSaslMechanisms.CRAM_MD5, implClass=CramMd5MechanismHandler.class),
+ @SaslMechanism( name=SupportedSaslMechanisms.DIGEST_MD5, implClass=DigestMd5MechanismHandler.class),
+ @SaslMechanism( name=SupportedSaslMechanisms.GSSAPI, implClass=GssapiMechanismHandler.class),
+ @SaslMechanism( name=SupportedSaslMechanisms.NTLM, implClass=NtlmMechanismHandler.class),
+ @SaslMechanism( name=SupportedSaslMechanisms.GSS_SPNEGO, implClass=NtlmMechanismHandler.class)
+ },
+ extendedOpHandlers =
+ {
+ StoredProcedureExtendedOperationHandler.class
+ },
+ ntlmProvider=BogusNtlmProvider.class
+ )
+public class SaslBindIT extends AbstractLdapTestUnit
{
- public static LdapServer ldapServer;
- public BogusNtlmProvider provider = new BogusNtlmProvider();
-
-
- public static class Factory implements LdapServerFactory
- {
- public LdapServer newInstance() throws Exception
- {
- DirectoryService service = new DefaultDirectoryService();
- IntegrationUtils.doDelete( service.getWorkingDirectory() );
- service.getChangeLog().setEnabled( true );
- service.setAllowAnonymousAccess( false );
- service.setShutdownHookEnabled( false );
-
- Set<Partition> partitions = new HashSet<Partition>();
- JdbmPartition partition = new JdbmPartition();
- partition.setId( "example" );
- partition.setSuffix( "dc=example,dc=com" );
-
- Set<Index<?,ServerEntry>> indexedAttrs = new HashSet<Index<?,ServerEntry>>();
- indexedAttrs.add( new JdbmIndex<String,ServerEntry>( "ou" ) );
- indexedAttrs.add( new JdbmIndex<String,ServerEntry>( "dc" ) );
- indexedAttrs.add( new JdbmIndex<String,ServerEntry>( "objectClass" ) );
- partition.setIndexedAttributes( indexedAttrs );
-
- partitions.add( partition );
- service.setPartitions( partitions );
-
- // change the working directory to something that is unique
- // on the system and somewhere either under target directory
- // or somewhere in a temp area of the machine.
-
- LdapServer ldapServer = new LdapServer();
- int port = AvailablePortFinder.getNextAvailable( 1024 );
- ldapServer.setTransports( new TcpTransport( port ) );
- ldapServer.setDirectoryService( service );
- ldapServer.setAllowAnonymousAccess( false );
- ldapServer.addExtendedOperationHandler( new StoredProcedureExtendedOperationHandler() );
-
- // Setup SASL Mechanisms
-
- Map<String, MechanismHandler> mechanismHandlerMap = new HashMap<String,MechanismHandler>();
- mechanismHandlerMap.put( SupportedSaslMechanisms.PLAIN, new PlainMechanismHandler() );
-
- CramMd5MechanismHandler cramMd5MechanismHandler = new CramMd5MechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.CRAM_MD5, cramMd5MechanismHandler );
-
- DigestMd5MechanismHandler digestMd5MechanismHandler = new DigestMd5MechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.DIGEST_MD5, digestMd5MechanismHandler );
-
- GssapiMechanismHandler gssapiMechanismHandler = new GssapiMechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.GSSAPI, gssapiMechanismHandler );
-
- NtlmMechanismHandler ntlmMechanismHandler = new NtlmMechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.NTLM, ntlmMechanismHandler );
- mechanismHandlerMap.put( SupportedSaslMechanisms.GSS_SPNEGO, ntlmMechanismHandler );
-
- ldapServer.setSaslMechanismHandlers( mechanismHandlerMap );
- ldapServer.setSaslHost( "localhost" );
-
- return ldapServer;
- }
- }
-
-
- @Before
- public void setupNewNtlmProvider()
- {
- provider = new BogusNtlmProvider();
- NtlmMechanismHandler handler = ( NtlmMechanismHandler )
- ldapServer.getSaslMechanismHandlers().get( SupportedSaslMechanisms.NTLM );
- handler.setNtlmProvider( provider );
- }
-
+
/**
* Tests to make sure the server properly returns the supportedSASLMechanisms.
*/
@@ -212,6 +157,7 @@
+ ldapServer.getPort(), new String[]
{ "supportedSASLMechanisms" } );
+// Thread.sleep( 10 * 60 * 1000 );
NamingEnumeration<? extends Attribute> answer = attrs.getAll();
Attribute result = answer.next();
assertEquals( 6, result.size() );
@@ -222,7 +168,7 @@
assertTrue( result.contains( SupportedSaslMechanisms.PLAIN ) );
assertTrue( result.contains( SupportedSaslMechanisms.GSS_SPNEGO ) );
}
- catch ( NamingException e )
+ catch ( Exception e )
{
fail( "Should not have caught exception." );
}
@@ -479,6 +425,8 @@
@Test
public void testNtlmBind() throws Exception
{
+ BogusNtlmProvider provider = getNtlmProviderUsingReflection();
+
NtlmSaslBindClient client = new NtlmSaslBindClient( SupportedSaslMechanisms.NTLM );
InternalBindResponse type2response = client.bindType1( "type1_test".getBytes() );
assertEquals( 1, type2response.getMessageId() );
@@ -499,6 +447,14 @@
@Test
public void testGssSpnegoBind() throws Exception
{
+ BogusNtlmProvider provider = new BogusNtlmProvider();
+
+ // the provider configured in @CreateLdapServer only sets for the NTLM mechanism
+ // but we use the same NtlmMechanismHandler class for GSS_SPNEGO too but this is a separate
+ // instance, so we need to set the provider in the NtlmMechanismHandler instance of GSS_SPNEGO mechanism
+ NtlmMechanismHandler ntlmHandler = ( NtlmMechanismHandler ) ldapServer.getSaslMechanismHandlers().get( SupportedSaslMechanisms.GSS_SPNEGO );
+ ntlmHandler.setNtlmProvider( provider );
+
NtlmSaslBindClient client = new NtlmSaslBindClient( SupportedSaslMechanisms.GSS_SPNEGO );
InternalBindResponse type2response = client.bindType1( "type1_test".getBytes() );
assertEquals( 1, type2response.getMessageId() );
@@ -512,43 +468,6 @@
assertTrue( ArrayUtils.isEquals( "type3_test".getBytes(), provider.getType3Response() ) );
}
-
- /**
- * A fake implementation of the NtlmProvider. We can't use a real one because
- * its license is not ASL 2.0 compatible.
- */
- class BogusNtlmProvider implements NtlmProvider
- {
- private byte[] type1response;
- private byte[] type3response;
-
-
- public boolean authenticate( IoSession session, byte[] type3response ) throws Exception
- {
- this.type3response = type3response;
- return true;
- }
-
-
- public byte[] generateChallenge( IoSession session, byte[] type1reponse ) throws Exception
- {
- this.type1response = type1reponse;
- return "challenge".getBytes();
- }
-
-
- public byte[] getType1Response()
- {
- return type1response;
- }
-
-
- public byte[] getType3Response()
- {
- return type3response;
- }
- }
-
/**
* A NTLM client
@@ -651,4 +570,27 @@
return ( InternalBindResponse ) decoder.decode( null, _input_ );
}
}
+
+
+ private BogusNtlmProvider getNtlmProviderUsingReflection()
+ {
+ BogusNtlmProvider provider = null;
+ try
+ {
+ NtlmMechanismHandler ntlmHandler = ( NtlmMechanismHandler ) ldapServer.getSaslMechanismHandlers().get( SupportedSaslMechanisms.NTLM );
+
+ // there is no getter for 'provider' field hence this hack
+ Field field = ntlmHandler.getClass().getDeclaredField( "provider" );
+ field.setAccessible( true );
+ provider = ( BogusNtlmProvider ) field.get( ntlmHandler );
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ }
+
+ return provider;
+ }
+
}
+
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/SimpleBindIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/SimpleBindIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/SimpleBindIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/SimpleBindIT.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,10 @@
package org.apache.directory.server.operations.bind;
+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.AuthenticationException;
@@ -38,27 +42,18 @@
import netscape.ldap.LDAPConnection;
import netscape.ldap.LDAPEntry;
import netscape.ldap.LDAPException;
-import netscape.ldap.LDAPSearchResult;
import netscape.ldap.LDAPSearchResults;
import netscape.ldap.LDAPUrl;
-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.LdapServer;
-
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
-import static org.junit.Assert.fail;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.annotations.CreateDS;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContextThrowOnRefferal;
-
/**
* An {@link AbstractServerTest} testing SIMPLE authentication.
@@ -66,29 +61,30 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.CLASS )
+@RunWith ( FrameworkRunner.class )
@ApplyLdifs( {
// Entry # 1
- "dn: uid=hnelson,ou=users,ou=system\n" +
- "objectClass: inetOrgPerson\n" +
- "objectClass: organizationalPerson\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "userPassword: secret\n" +
- "uid: hnelson\n" +
- "cn: Horatio Nelson\n" +
- "sn: Nelson\n\n"
+ "dn: uid=hnelson,ou=users,ou=system",
+ "objectClass: inetOrgPerson",
+ "objectClass: organizationalPerson",
+ "objectClass: person",
+ "objectClass: top",
+ "userPassword: secret",
+ "uid: hnelson",
+ "cn: Horatio Nelson",
+ "sn: Nelson"
}
)
-public class SimpleBindIT
+@CreateDS( allowAnonAccess=true, name="SimpleBindIT-class")
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
+public class SimpleBindIT extends AbstractLdapTestUnit
{
private static final String BASE = "ou=users,ou=system";
-
- public static LdapServer ldapServer;
-
-
/**
* Convenience method for creating a person.
*/
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/compare/CompareIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/compare/CompareIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/compare/CompareIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/compare/CompareIT.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,13 @@
package org.apache.directory.server.operations.compare;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContextThrowOnRefferal;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import javax.naming.NamingEnumeration;
import javax.naming.ReferralException;
import javax.naming.directory.SearchControls;
@@ -34,24 +41,17 @@
import netscape.ldap.LDAPResponse;
import netscape.ldap.LDAPResponseListener;
-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.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContextThrowOnRefferal;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
/**
* Tests the server to make sure standard compare operations work properly.
@@ -59,41 +59,43 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "uid: akarasulu\n" +
- "cn: Alex Karasulu\n" +
- "sn: karasulu\n\n" +
+ "dn: uid=akarasulu,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: person",
+ "objectClass: top",
+ "uid: akarasulu",
+ "cn: Alex Karasulu",
+ "sn: karasulu",
// Entry # 2
- "dn: ou=Computers,uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: organizationalUnit\n" +
- "objectClass: top\n" +
- "ou: computers\n" +
- "description: Computers for Alex\n" +
- "seeAlso: ou=Machines,uid=akarasulu,ou=users,ou=system\n\n" +
+ "dn: ou=Computers,uid=akarasulu,ou=users,ou=system",
+ "objectClass: organizationalUnit",
+ "objectClass: top",
+ "ou: computers",
+ "description: Computers for Alex",
+ "seeAlso: ou=Machines,uid=akarasulu,ou=users,ou=system",
// Entry # 3
- "dn: uid=akarasuluref,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: referral\n" +
- "objectClass: top\n" +
- "uid: akarasuluref\n" +
- "ref: ldap://localhost:10389/uid=akarasulu,ou=users,ou=system\n" +
- "ref: ldap://foo:10389/uid=akarasulu,ou=users,ou=system\n" +
- "ref: ldap://bar:10389/uid=akarasulu,ou=users,ou=system\n\n"
+ "dn: uid=akarasuluref,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: referral",
+ "objectClass: top",
+ "uid: akarasuluref",
+ "ref: ldap://localhost:10389/uid=akarasulu,ou=users,ou=system",
+ "ref: ldap://foo:10389/uid=akarasulu,ou=users,ou=system",
+ "ref: ldap://bar:10389/uid=akarasulu,ou=users,ou=system"
}
)
-public class CompareIT
+public class CompareIT extends AbstractLdapTestUnit
{
private static final Logger LOG = LoggerFactory.getLogger( CompareIT.class );
- public static LdapServer ldapServer;
-
/**
* Tests normal compare operation on normal non-referral entries without
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/compare/MatchingRuleCompareIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/compare/MatchingRuleCompareIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/compare/MatchingRuleCompareIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/compare/MatchingRuleCompareIT.java Wed Jan 6 18:26:43 2010
@@ -20,22 +20,22 @@
package org.apache.directory.server.operations.compare;
+import static org.junit.Assert.assertEquals;
+
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-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.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.apache.directory.server.integ.ServerIntegrationUtils;
-import org.apache.directory.server.integ.SiRunner;
-import org.apache.directory.server.ldap.LdapServer;
-
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.junit.Assert.assertEquals;
/**
@@ -46,29 +46,31 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: cn=Tori Amos,ou=system\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "telephoneNumber: 1234567890\n" +
- "userPassword: Secret1!\n" +
- "cn: Tori Amos\n" +
- "sn: Amos\n\n" +
+ "dn: cn=Tori Amos,ou=system",
+ "objectClass: person",
+ "objectClass: top",
+ "telephoneNumber: 1234567890",
+ "userPassword: Secret1!",
+ "cn: Tori Amos",
+ "sn: Amos",
// Entry # 2
- "dn: cn=Artists,ou=system\n" +
- "objectClass: groupOfNames\n" +
- "objectClass: top\n" +
- "cn: Artists\n" +
- "member: cn=Tori Amos,ou=system\n\n"
+ "dn: cn=Artists,ou=system",
+ "objectClass: groupOfNames",
+ "objectClass: top",
+ "cn: Artists",
+ "member: cn=Tori Amos,ou=system"
}
)
-public class MatchingRuleCompareIT
+public class MatchingRuleCompareIT extends AbstractLdapTestUnit
{
- public static LdapServer ldapServer;
-
public static final String PERSON_CN = "Tori Amos";
public static final String PERSON_SN = "Amos";
public static final String PERSON_RDN = "cn=" + PERSON_CN;
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/delete/DeleteIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/delete/DeleteIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/delete/DeleteIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/delete/DeleteIT.java Wed Jan 6 18:26:43 2010
@@ -38,11 +38,11 @@
import netscape.ldap.LDAPResponseListener;
import netscape.ldap.LDAPSearchConstraints;
-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.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -56,43 +56,44 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "uid: akarasulu\n" +
- "cn: Alex Karasulu\n" +
- "sn: karasulu\n\n" +
+ "dn: uid=akarasulu,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: person",
+ "objectClass: top",
+ "uid: akarasulu",
+ "cn: Alex Karasulu",
+ "sn: karasulu",
// Entry # 2
- "dn: ou=Computers,uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: organizationalUnit\n" +
- "objectClass: top\n" +
- "ou: computers\n" +
- "description: Computers for Alex\n" +
- "seeAlso: ou=Machines,uid=akarasulu,ou=users,ou=system\n\n" +
+ "dn: ou=Computers,uid=akarasulu,ou=users,ou=system",
+ "objectClass: organizationalUnit",
+ "objectClass: top",
+ "ou: computers",
+ "description: Computers for Alex",
+ "seeAlso: ou=Machines,uid=akarasulu,ou=users,ou=system",
// Entry # 3
- "dn: uid=akarasuluref,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: referral\n" +
- "objectClass: top\n" +
- "uid: akarasuluref\n" +
- "ref: ldap://localhost:10389/uid=akarasulu,ou=users,ou=system\n" +
- "ref: ldap://foo:10389/uid=akarasulu,ou=users,ou=system\n" +
- "ref: ldap://bar:10389/uid=akarasulu,ou=users,ou=system\n\n"
+ "dn: uid=akarasuluref,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: referral",
+ "objectClass: top",
+ "uid: akarasuluref",
+ "ref: ldap://localhost:10389/uid=akarasulu,ou=users,ou=system",
+ "ref: ldap://foo:10389/uid=akarasulu,ou=users,ou=system",
+ "ref: ldap://bar:10389/uid=akarasulu,ou=users,ou=system"
}
)
-public class DeleteIT
+public class DeleteIT extends AbstractLdapTestUnit
{
private static final Logger LOG = LoggerFactory.getLogger( DeleteIT.class );
-
- public static LdapServer ldapServer;
-
/**
* Tests normal delete operation on normal non-referral entries without
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/extended/ExtendedIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/extended/ExtendedIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/extended/ExtendedIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/extended/ExtendedIT.java Wed Jan 6 18:26:43 2010
@@ -20,23 +20,22 @@
package org.apache.directory.server.operations.extended;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
+import static org.junit.Assert.fail;
+
import javax.naming.CommunicationException;
import javax.naming.NamingException;
import javax.naming.ldap.ExtendedRequest;
import javax.naming.ldap.ExtendedResponse;
import javax.naming.ldap.LdapContext;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-
-import org.apache.directory.server.core.integ.Level;
-import org.apache.directory.server.core.integ.annotations.CleanupLevel;
-import org.apache.directory.server.integ.SiRunner;
-import org.apache.directory.server.ldap.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.junit.Assert.fail;
-
/**
* Various extended operation tests.
@@ -44,13 +43,14 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev: 545029 $
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
-public class ExtendedIT
+@RunWith ( FrameworkRunner.class )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
+public class ExtendedIT extends AbstractLdapTestUnit
{
- public static LdapServer ldapServer;
-
-
/**
* Calls an extended exception, which does not exist. Expected behaviour is
* a CommunicationException.
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/extended/StoredProcedureIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/extended/StoredProcedureIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/extended/StoredProcedureIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/extended/StoredProcedureIT.java Wed Jan 6 18:26:43 2010
@@ -20,114 +20,69 @@
package org.apache.directory.server.operations.extended;
-import org.apache.directory.server.core.DefaultDirectoryService;
-import org.apache.directory.server.core.DirectoryService;
-import org.apache.directory.server.core.integ.IntegrationUtils;
-import org.apache.directory.server.core.integ.Level;
-import org.apache.directory.server.core.integ.annotations.CleanupLevel;
-import org.apache.directory.server.core.integ.annotations.Factory;
-import org.apache.directory.server.integ.LdapServerFactory;
-import org.apache.directory.server.integ.SiRunner;
-import org.apache.directory.server.ldap.ExtendedOperationHandler;
-import org.apache.directory.server.ldap.LdapServer;
-import org.apache.directory.server.ldap.handlers.bind.MechanismHandler;
-import org.apache.directory.server.ldap.handlers.bind.SimpleMechanismHandler;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttributes;
+import javax.naming.ldap.InitialLdapContext;
+import javax.naming.ldap.LdapContext;
+
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.annotations.SaslMechanism;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.apache.directory.server.ldap.handlers.bind.cramMD5.CramMd5MechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.digestMD5.DigestMd5MechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.gssapi.GssapiMechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.ntlm.NtlmMechanismHandler;
+import org.apache.directory.server.ldap.handlers.bind.plain.PlainMechanismHandler;
import org.apache.directory.server.ldap.handlers.extended.StoredProcedureExtendedOperationHandler;
-import org.apache.directory.server.protocol.shared.transport.TcpTransport;
import org.apache.directory.shared.ldap.constants.SupportedSaslMechanisms;
import org.apache.directory.shared.ldap.schema.normalizers.DeepTrimToLowerNormalizer;
import org.apache.directory.shared.ldap.schema.normalizers.OidNormalizer;
import org.apache.directory.shared.ldap.sp.JavaStoredProcUtils;
-import org.apache.mina.util.AvailablePortFinder;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import javax.naming.directory.Attributes;
-import javax.naming.directory.BasicAttributes;
-import javax.naming.ldap.InitialLdapContext;
-import javax.naming.ldap.LdapContext;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Set;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
/**
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev:$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.CLASS )
-@Factory ( StoredProcedureIT.Factory.class )
-public class StoredProcedureIT
+@RunWith ( FrameworkRunner.class )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ },
+ saslHost="localhost",
+ saslMechanisms =
+ {
+ @SaslMechanism( name=SupportedSaslMechanisms.PLAIN, implClass=PlainMechanismHandler.class ),
+ @SaslMechanism( name=SupportedSaslMechanisms.CRAM_MD5, implClass=CramMd5MechanismHandler.class),
+ @SaslMechanism( name=SupportedSaslMechanisms.DIGEST_MD5, implClass=DigestMd5MechanismHandler.class),
+ @SaslMechanism( name=SupportedSaslMechanisms.GSSAPI, implClass=GssapiMechanismHandler.class),
+ @SaslMechanism( name=SupportedSaslMechanisms.NTLM, implClass=NtlmMechanismHandler.class),
+ @SaslMechanism( name=SupportedSaslMechanisms.GSS_SPNEGO, implClass=NtlmMechanismHandler.class)
+ },
+ extendedOpHandlers =
+ {
+ StoredProcedureExtendedOperationHandler.class
+ })
+public class StoredProcedureIT extends AbstractLdapTestUnit
{
private LdapContext ctx;
private LdapContext spCtx;
private Map<String, OidNormalizer> oids;
- public static LdapServer ldapServer;
-
-
- public static class Factory implements LdapServerFactory
- {
- public LdapServer newInstance() throws Exception
- {
- DirectoryService service = new DefaultDirectoryService();
- IntegrationUtils.doDelete( service.getWorkingDirectory() );
- service.getChangeLog().setEnabled( true );
- service.setShutdownHookEnabled( false );
-
- // change the working directory to something that is unique
- // on the system and somewhere either under target directory
- // or somewhere in a temp area of the machine.
-
- LdapServer ldapServer = new LdapServer();
- ldapServer.setDirectoryService( service );
- int port = AvailablePortFinder.getNextAvailable( 1024 );
- ldapServer.setTransports( new TcpTransport( port ) );
- ldapServer.setEnabled( true );
- ldapServer.addExtendedOperationHandler( new StoredProcedureExtendedOperationHandler() );
-
- // Setup SASL Mechanisms
-
- Map<String, MechanismHandler> mechanismHandlerMap = new HashMap<String,MechanismHandler>();
- mechanismHandlerMap.put( SupportedSaslMechanisms.PLAIN, new SimpleMechanismHandler() );
-
- CramMd5MechanismHandler cramMd5MechanismHandler = new CramMd5MechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.CRAM_MD5, cramMd5MechanismHandler );
-
- DigestMd5MechanismHandler digestMd5MechanismHandler = new DigestMd5MechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.DIGEST_MD5, digestMd5MechanismHandler );
-
- GssapiMechanismHandler gssapiMechanismHandler = new GssapiMechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.GSSAPI, gssapiMechanismHandler );
-
- NtlmMechanismHandler ntlmMechanismHandler = new NtlmMechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.NTLM, ntlmMechanismHandler );
- mechanismHandlerMap.put( SupportedSaslMechanisms.GSS_SPNEGO, ntlmMechanismHandler );
-
- ldapServer.setSaslMechanismHandlers( mechanismHandlerMap );
-
- Set<ExtendedOperationHandler> handlers = new HashSet<ExtendedOperationHandler>( ldapServer.getExtendedOperationHandlers() );
- handlers.add( new StoredProcedureExtendedOperationHandler() );
- ldapServer.setExtendedOperationHandlers( handlers );
-
- return ldapServer;
- }
- }
-
-
@Before
public void setUp() throws Exception
{
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/IllegalModificationIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/IllegalModificationIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/IllegalModificationIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/IllegalModificationIT.java Wed Jan 6 18:26:43 2010
@@ -20,24 +20,23 @@
package org.apache.directory.server.operations.modify;
-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 static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
-
-import org.apache.directory.server.ldap.LdapServer;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import static org.junit.Assert.fail;
import static org.junit.Assert.assertEquals;
-
+import static org.junit.Assert.fail;
import netscape.ldap.LDAPAttribute;
import netscape.ldap.LDAPConnection;
import netscape.ldap.LDAPEntry;
import netscape.ldap.LDAPException;
import netscape.ldap.LDAPModification;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
/**
* A test taken from DIRSERVER-630: If one tries to add an attribute to an
@@ -60,24 +59,26 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev: $
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+//@CreateDS( name="IllegalModificationIT-class", enableChangeLog=false )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: cn=Kate Bush,ou=system\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "cn: Kate Bush\n" +
- "sn: Bush\n\n"
+ "dn: cn=Kate Bush,ou=system",
+ "objectClass: person",
+ "objectClass: top",
+ "cn: Kate Bush",
+ "sn: Bush"
}
)
-public class IllegalModificationIT
+public class IllegalModificationIT extends AbstractLdapTestUnit
{
private static final String DN = "cn=Kate Bush,ou=system";
- public static LdapServer ldapServer;
-
-
@Test
public void testIllegalModification() throws Exception
{
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyAddIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyAddIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyAddIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyAddIT.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,13 @@
package org.apache.directory.server.operations.modify;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import java.util.Arrays;
import javax.naming.NamingEnumeration;
@@ -38,21 +45,15 @@
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-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 static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-
-import org.apache.directory.server.ldap.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
+import org.apache.directory.shared.ldap.util.AttributeUtils;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.junit.Assert.fail;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
/**
@@ -63,52 +64,53 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
@ApplyLdifs( {
// Entry # 1
- "dn: cn=Tori Amos,ou=system\n" +
- "objectClass: inetOrgPerson\n" +
- "objectClass: organizationalPerson\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "description: an American singer-songwriter\n" +
- "cn: Tori Amos\n" +
- "sn: Amos\n\n" +
+ "dn: cn=Tori Amos,ou=system",
+ "objectClass: inetOrgPerson",
+ "objectClass: organizationalPerson",
+ "objectClass: person",
+ "objectClass: top",
+ "description: an American singer-songwriter",
+ "cn: Tori Amos",
+ "sn: Amos",
// Entry # 2
- "dn: cn=Debbie Harry,ou=system\n" +
- "objectClass: inetOrgPerson\n" +
- "objectClass: organizationalPerson\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "cn: Debbie Harry\n" +
- "sn: Harry\n\n"
+ "dn: cn=Debbie Harry,ou=system",
+ "objectClass: inetOrgPerson",
+ "objectClass: organizationalPerson",
+ "objectClass: person",
+ "objectClass: top",
+ "cn: Debbie Harry",
+ "sn: Harry"
}
)
-public class ModifyAddIT
+//@CreateDS( allowAnonAccess=true, name="BindIT-class")
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
+public class ModifyAddIT extends AbstractLdapTestUnit
{
private static final String BASE = "ou=system";
private static final String RDN_TORI_AMOS = "cn=Tori Amos";
private static final String PERSON_DESCRIPTION = "an American singer-songwriter";
private static final String RDN_DEBBIE_HARRY = "cn=Debbie Harry";
-
- public static LdapServer ldapServer;
/**
* Creation of required attributes of a person entry.
*/
- protected Attributes getPersonAttributes( String sn, String cn )
+ protected Attributes getPersonAttributes( String sn, String cn ) throws NamingException
{
- Attributes attributes = new BasicAttributes( true );
- Attribute attribute = new BasicAttribute( "objectClass" );
- attribute.add( "top" );
- attribute.add( "person" );
- attribute.add( "organizationalperson" );
- attribute.add( "inetorgperson" );
- attributes.put( attribute );
- attributes.put( "cn", cn );
- attributes.put( "sn", sn );
+ Attributes attributes = AttributeUtils.createAttributes(
+ "objectClass: top",
+ "objectClass: person",
+ "objectClass: organizationalperson",
+ "objectClass: inetorgperson",
+ "cn", cn,
+ "sn", sn );
return attributes;
}
@@ -493,9 +495,9 @@
* A JIRA has been created for this bug : DIRSERVER_687
*/
@Test
- public void testDNAttributeMemberMofificationDIRSERVER_687() throws Exception
- {
- DirContext ctx = ( DirContext ) getWiredContext( ldapServer ).lookup( BASE );
+ public void testDNAttributeMemberModificationDIRSERVER_687() throws Exception
+ {
+ DirContext ctx = ( DirContext ) getWiredContext( ldapServer ).lookup( BASE );
// Create a person entry
Attributes attrs = getPersonAttributes("Bush", "Kate Bush");
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyMultipleChangesIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyMultipleChangesIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyMultipleChangesIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyMultipleChangesIT.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,11 @@
package org.apache.directory.server.operations.modify;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
@@ -30,18 +35,13 @@
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-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 static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-
-import org.apache.directory.server.ldap.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
/**
@@ -50,38 +50,40 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+//@CreateDS( name="ModifyMultipleChangesIT-class", enableChangeLog=false )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: cn=Tori Amos,ou=system\n" +
- "objectClass: inetOrgPerson\n" +
- "objectClass: organizationalPerson\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "description: an American singer-songwriter\n" +
- "cn: Tori Amos\n" +
- "sn: Amos\n\n" +
+ "dn: cn=Tori Amos,ou=system",
+ "objectClass: inetOrgPerson",
+ "objectClass: organizationalPerson",
+ "objectClass: person",
+ "objectClass: top",
+ "description: an American singer-songwriter",
+ "cn: Tori Amos",
+ "sn: Amos",
// Entry # 2
- "dn: cn=Debbie Harry,ou=system\n" +
- "objectClass: inetOrgPerson\n" +
- "objectClass: organizationalPerson\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "cn: Debbie Harry\n" +
- "sn: Harry\n\n"
+ "dn: cn=Debbie Harry,ou=system",
+ "objectClass: inetOrgPerson",
+ "objectClass: organizationalPerson",
+ "objectClass: person",
+ "objectClass: top",
+ "cn: Debbie Harry",
+ "sn: Harry"
}
)
-public class ModifyMultipleChangesIT
+public class ModifyMultipleChangesIT extends AbstractLdapTestUnit
{
private static final String BASE = "ou=system";
private static final String RDN_TORI_AMOS = "cn=Tori Amos";
private static final String PERSON_DESCRIPTION = "an American singer-songwriter";
private static final String RDN_DEBBIE_HARRY = "cn=Debbie Harry";
- public static LdapServer ldapServer;
-
-
/**
* Creation of required attributes of a person entry.
*/
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyReferralIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyReferralIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyReferralIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyReferralIT.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,11 @@
package org.apache.directory.server.operations.modify;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContextThrowOnRefferal;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import javax.naming.ReferralException;
import javax.naming.directory.Attribute;
import javax.naming.directory.BasicAttribute;
@@ -27,24 +32,6 @@
import javax.naming.directory.ModificationItem;
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 static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContextThrowOnRefferal;
-
-import org.apache.directory.server.ldap.LdapServer;
-import org.apache.directory.server.operations.compare.CompareIT;
-import org.apache.directory.shared.ldap.message.ResultCodeEnum;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertEquals;
-
import netscape.ldap.LDAPAttribute;
import netscape.ldap.LDAPConnection;
import netscape.ldap.LDAPConstraints;
@@ -53,6 +40,18 @@
import netscape.ldap.LDAPResponse;
import netscape.ldap.LDAPResponseListener;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
+import org.apache.directory.server.operations.compare.CompareIT;
+import org.apache.directory.shared.ldap.message.ResultCodeEnum;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* A test taken from DIRSERVER-630: If one tries to add an attribute to an
@@ -75,41 +74,44 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev: $
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+//@CreateDS( name="ModifyReferralIT-class", enableChangeLog=false )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "uid: akarasulu\n" +
- "cn: Alex Karasulu\n" +
- "sn: karasulu\n\n" +
+ "dn: uid=akarasulu,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: person",
+ "objectClass: top",
+ "uid: akarasulu",
+ "cn: Alex Karasulu",
+ "sn: karasulu",
// Entry # 2
- "dn: ou=Computers,uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: organizationalUnit\n" +
- "objectClass: top\n" +
- "ou: computers\n" +
- "description: Computers for Alex\n" +
- "seeAlso: ou=Machines,uid=akarasulu,ou=users,ou=system\n\n" +
+ "dn: ou=Computers,uid=akarasulu,ou=users,ou=system",
+ "objectClass: organizationalUnit",
+ "objectClass: top",
+ "ou: computers",
+ "description: Computers for Alex",
+ "seeAlso: ou=Machines,uid=akarasulu,ou=users,ou=system",
// Entry # 3
- "dn: uid=akarasuluref,ou=users,ou=system\n" +
- "objectClass: extensibleObject\n" +
- "objectClass: referral\n" +
- "objectClass: top\n" +
- "uid: akarasuluref\n" +
- "ref: ldap://localhost:10389/uid=akarasulu,ou=users,ou=system\n" +
- "ref: ldap://foo:10389/uid=akarasulu,ou=users,ou=system\n" +
- "ref: ldap://bar:10389/uid=akarasulu,ou=users,ou=system\n\n"
+ "dn: uid=akarasuluref,ou=users,ou=system",
+ "objectClass: extensibleObject",
+ "objectClass: referral",
+ "objectClass: top",
+ "uid: akarasuluref",
+ "ref: ldap://localhost:10389/uid=akarasulu,ou=users,ou=system",
+ "ref: ldap://foo:10389/uid=akarasulu,ou=users,ou=system",
+ "ref: ldap://bar:10389/uid=akarasulu,ou=users,ou=system"
}
)
-public class ModifyReferralIT
+public class ModifyReferralIT extends AbstractLdapTestUnit
{
private static final Logger LOG = LoggerFactory.getLogger( CompareIT.class );
- public static LdapServer ldapServer;
-
/**
* Tests modify operation on referral entry with the ManageDsaIT control.
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyRemoveIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyRemoveIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyRemoveIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyRemoveIT.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,14 @@
package org.apache.directory.server.operations.modify;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
@@ -34,22 +42,14 @@
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-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 static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-
-import org.apache.directory.server.ldap.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.junit.Assert.fail;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
/**
@@ -59,26 +59,28 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+//@CreateDS( name="ModifyRemoveIT-class", enableChangeLog=false )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: cn=Tori Amos,ou=system\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "description: an American singer-songwriter\n" +
- "cn: Tori Amos\n" +
- "sn: Amos\n\n"
+ "dn: cn=Tori Amos,ou=system",
+ "objectClass: person",
+ "objectClass: top",
+ "description: an American singer-songwriter",
+ "cn: Tori Amos",
+ "sn: Amos"
}
)
-public class ModifyRemoveIT
+public class ModifyRemoveIT extends AbstractLdapTestUnit
{
private static final String BASE = "ou=system";
private static final String RDN = "cn=Tori Amos";
-
- public static LdapServer ldapServer;
-
/**
* Enable the krb5kdc schema.
*/
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyReplaceIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyReplaceIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyReplaceIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modify/ModifyReplaceIT.java Wed Jan 6 18:26:43 2010
@@ -20,10 +20,12 @@
package org.apache.directory.server.operations.modify;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import javax.naming.NamingEnumeration;
import javax.naming.directory.Attribute;
@@ -31,44 +33,19 @@
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
+import javax.naming.directory.InvalidAttributeIdentifierException;
import javax.naming.directory.ModificationItem;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-import org.apache.directory.server.core.DefaultDirectoryService;
-import org.apache.directory.server.core.DirectoryService;
-import org.apache.directory.server.core.entry.ServerEntry;
-import org.apache.directory.server.core.integ.IntegrationUtils;
-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.core.integ.annotations.Factory;
-import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
-import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition;
-import org.apache.directory.server.integ.LdapServerFactory;
-import org.apache.directory.server.integ.SiRunner;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-
-import org.apache.directory.server.ldap.LdapServer;
-import org.apache.directory.server.ldap.handlers.bind.MechanismHandler;
-import org.apache.directory.server.ldap.handlers.bind.SimpleMechanismHandler;
-import org.apache.directory.server.ldap.handlers.bind.cramMD5.CramMd5MechanismHandler;
-import org.apache.directory.server.ldap.handlers.bind.digestMD5.DigestMd5MechanismHandler;
-import org.apache.directory.server.ldap.handlers.bind.gssapi.GssapiMechanismHandler;
-import org.apache.directory.server.ldap.handlers.bind.ntlm.NtlmMechanismHandler;
-import org.apache.directory.server.ldap.handlers.extended.StartTlsHandler;
-import org.apache.directory.server.ldap.handlers.extended.StoredProcedureExtendedOperationHandler;
-import org.apache.directory.server.protocol.shared.transport.TcpTransport;
-import org.apache.directory.server.xdbm.Index;
-import org.apache.directory.shared.ldap.constants.SchemaConstants;
-import org.apache.directory.shared.ldap.constants.SupportedSaslMechanisms;
-import org.apache.mina.util.AvailablePortFinder;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.annotations.CreateDS;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertEquals;
/**
@@ -77,92 +54,35 @@
* Demonstrates DIRSERVER-646 ("Replacing an unknown attribute with
* no values (deletion) causes an error").
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
-@Factory ( ModifyReplaceIT.Factory.class )
+@RunWith ( FrameworkRunner.class )
+@CreateDS( enableChangeLog=false, name="ModifyReplaceIT-class" )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" ),
+ @CreateTransport( protocol = "LDAPS" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: cn=Kate Bush,ou=system\n" +
- "objectClass: top\n" +
- "objectClass: person\n" +
- "sn: Bush\n" +
- "cn: Kate Bush\n\n" +
+ "dn: cn=Kate Bush,ou=system",
+ "objectClass: top",
+ "objectClass: person",
+ "sn: Bush",
+ "cn: Kate Bush",
// Entry # 2
- "dn: cn=Kim Wilde,ou=system\n" +
- "objectClass: top\n" +
- "objectClass: person\n" +
- "objectClass: organizationalPerson \n" +
- "objectClass: inetOrgPerson \n" +
- "sn: Wilde\n" +
- "cn: Kim Wilde\n\n"
+ "dn: cn=Kim Wilde,ou=system",
+ "objectClass: top",
+ "objectClass: person",
+ "objectClass: organizationalPerson ",
+ "objectClass: inetOrgPerson ",
+ "sn: Wilde",
+ "cn: Kim Wilde"
}
)
-public class ModifyReplaceIT
+public class ModifyReplaceIT extends AbstractLdapTestUnit
{
private static final String BASE = "ou=system";
-
- public static LdapServer ldapServer;
-
-
- public static class Factory implements LdapServerFactory
- {
- public LdapServer newInstance() throws Exception
- {
- DirectoryService service = new DefaultDirectoryService();
- IntegrationUtils.doDelete( service.getWorkingDirectory() );
- service.getChangeLog().setEnabled( true );
- service.setShutdownHookEnabled( false );
-
- JdbmPartition system = new JdbmPartition();
- system.setId( "system" );
-
- // @TODO need to make this configurable for the system partition
- system.setCacheSize( 500 );
-
- system.setSuffix( "ou=system" );
-
- // Add indexed attributes for system partition
- Set<Index<?,ServerEntry>> indexedAttrs = new HashSet<Index<?,ServerEntry>>();
- indexedAttrs.add( new JdbmIndex<String,ServerEntry>( SchemaConstants.OBJECT_CLASS_AT ) );
- indexedAttrs.add( new JdbmIndex<String,ServerEntry>( SchemaConstants.OU_AT ) );
- system.setIndexedAttributes( indexedAttrs );
- service.setSystemPartition( system );
-
- // change the working directory to something that is unique
- // on the system and somewhere either under target directory
- // or somewhere in a temp area of the machine.
-
- LdapServer ldapServer = new LdapServer();
- ldapServer.setDirectoryService( service );
- int port = AvailablePortFinder.getNextAvailable( 1024 );
- ldapServer.setTransports( new TcpTransport( port ) );
- ldapServer.addExtendedOperationHandler( new StartTlsHandler() );
- ldapServer.addExtendedOperationHandler( new StoredProcedureExtendedOperationHandler() );
-
- // Setup SASL Mechanisms
-
- Map<String, MechanismHandler> mechanismHandlerMap = new HashMap<String,MechanismHandler>();
- mechanismHandlerMap.put( SupportedSaslMechanisms.PLAIN, new SimpleMechanismHandler() );
-
- CramMd5MechanismHandler cramMd5MechanismHandler = new CramMd5MechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.CRAM_MD5, cramMd5MechanismHandler );
-
- DigestMd5MechanismHandler digestMd5MechanismHandler = new DigestMd5MechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.DIGEST_MD5, digestMd5MechanismHandler );
-
- GssapiMechanismHandler gssapiMechanismHandler = new GssapiMechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.GSSAPI, gssapiMechanismHandler );
-
- NtlmMechanismHandler ntlmMechanismHandler = new NtlmMechanismHandler();
- mechanismHandlerMap.put( SupportedSaslMechanisms.NTLM, ntlmMechanismHandler );
- mechanismHandlerMap.put( SupportedSaslMechanisms.GSS_SPNEGO, ntlmMechanismHandler );
-
- ldapServer.setSaslMechanismHandlers( mechanismHandlerMap );
-
- return ldapServer;
- }
- }
/**
* Create a person entry and try to remove a not present attribute
@@ -195,8 +115,6 @@
Attribute desc = sr.getAttributes().get( "description" );
assertNull( desc );
}
-
- sysRoot.destroySubcontext( rdn );
}
@@ -233,8 +151,6 @@
assertTrue( desc.contains( "added description") );
assertEquals( 1, desc.size() );
}
-
- sysRoot.destroySubcontext( rdn );
}
@@ -251,7 +167,15 @@
Attribute attr = new BasicAttribute( "numberOfOctaves" );
ModificationItem item = new ModificationItem( DirContext.REPLACE_ATTRIBUTE, attr );
- sysRoot.modifyAttributes( rdn, new ModificationItem[] { item } );
+ try
+ {
+ sysRoot.modifyAttributes( rdn, new ModificationItem[] { item } );
+ fail();
+ }
+ catch ( InvalidAttributeIdentifierException iaie )
+ {
+ assertTrue( true );
+ }
SearchControls sctls = new SearchControls();
sctls.setSearchScope( SearchControls.SUBTREE_SCOPE );
@@ -267,8 +191,6 @@
assertNotNull( cn );
assertTrue( cn.contains( "Kate Bush" ) );
}
-
- sysRoot.destroySubcontext( rdn );
}
@@ -287,7 +209,15 @@
Attribute attr2 = new BasicAttribute( "description", "blah blah blah" );
ModificationItem item2 = new ModificationItem( DirContext.ADD_ATTRIBUTE, attr2 );
- sysRoot.modifyAttributes(rdn, new ModificationItem[] { item, item2 });
+ try
+ {
+ sysRoot.modifyAttributes(rdn, new ModificationItem[] { item, item2 });
+ fail();
+ }
+ catch ( InvalidAttributeIdentifierException iaie )
+ {
+ assertTrue( true );
+ }
SearchControls sctls = new SearchControls();
sctls.setSearchScope( SearchControls.SUBTREE_SCOPE );
@@ -302,8 +232,6 @@
assertNotNull( cn );
assertTrue( cn.contains( "Kate Bush" ) );
}
-
- sysRoot.destroySubcontext( rdn );
}
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/ModifyDnReferralIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/ModifyDnReferralIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/ModifyDnReferralIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/ModifyDnReferralIT.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,12 @@
package org.apache.directory.server.operations.modifydn;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContextThrowOnRefferal;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
import javax.naming.ReferralException;
import javax.naming.ldap.LdapContext;
@@ -32,23 +38,17 @@
import netscape.ldap.LDAPResponseListener;
import netscape.ldap.LDAPSearchConstraints;
-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.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredConnection;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContextThrowOnRefferal;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
/**
* Tests the server to make sure standard compare operations work properly.
@@ -56,52 +56,54 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "uid: akarasulu\n" +
- "cn: Alex Karasulu\n" +
- "sn: karasulu\n\n" +
+ "dn: uid=akarasulu,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: person",
+ "objectClass: top",
+ "uid: akarasulu",
+ "cn: Alex Karasulu",
+ "sn: karasulu",
// Entry # 2
- "dn: ou=Computers,uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: organizationalUnit\n" +
- "objectClass: top\n" +
- "ou: computers\n" +
- "description: Computers for Alex\n" +
- "seeAlso: ou=Machines,uid=akarasulu,ou=users,ou=system\n\n" +
+ "dn: ou=Computers,uid=akarasulu,ou=users,ou=system",
+ "objectClass: organizationalUnit",
+ "objectClass: top",
+ "ou: computers",
+ "description: Computers for Alex",
+ "seeAlso: ou=Machines,uid=akarasulu,ou=users,ou=system",
// Entry # 3
- "dn: uid=akarasuluref,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: referral\n" +
- "objectClass: top\n" +
- "uid: akarasuluref\n" +
- "ref: ldap://localhost:10389/uid=akarasulu,ou=users,ou=system\n" +
- "ref: ldap://foo:10389/uid=akarasulu,ou=users,ou=system\n" +
- "ref: ldap://bar:10389/uid=akarasulu,ou=users,ou=system\n\n" +
+ "dn: uid=akarasuluref,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: referral",
+ "objectClass: top",
+ "uid: akarasuluref",
+ "ref: ldap://localhost:10389/uid=akarasulu,ou=users,ou=system",
+ "ref: ldap://foo:10389/uid=akarasulu,ou=users,ou=system",
+ "ref: ldap://bar:10389/uid=akarasulu,ou=users,ou=system",
// Entry # 4
- "dn: uid=elecharny,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "uid: elecharny\n" +
- "cn: Emmanuel Lecharny\n" +
- "sn: lecharny\n\n"
+ "dn: uid=elecharny,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: person",
+ "objectClass: top",
+ "uid: elecharny",
+ "cn: Emmanuel Lecharny",
+ "sn: lecharny"
}
)
-public class ModifyDnReferralIT
+public class ModifyDnReferralIT extends AbstractLdapTestUnit
{
private static final Logger LOG = LoggerFactory.getLogger( ModifyDnReferralIT.class );
- public static LdapServer ldapServer;
-
/**
* Tests ModifyDN operation on referral entry with the ManageDsaIT control.
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/ModifyRdnIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/ModifyRdnIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/ModifyRdnIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/ModifyRdnIT.java Wed Jan 6 18:26:43 2010
@@ -20,33 +20,33 @@
package org.apache.directory.server.operations.modifydn;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import javax.naming.NameNotFoundException;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.NoPermissionException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
-import javax.naming.directory.BasicAttribute;
-import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.SchemaViolationException;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-import org.apache.directory.server.core.integ.Level;
-import org.apache.directory.server.core.integ.annotations.CleanupLevel;
-import org.apache.directory.server.integ.SiRunner;
-import org.apache.directory.server.ldap.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.CreateDS;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
+import org.apache.directory.shared.ldap.util.AttributeUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-
/**
* Test case with different modify DN operations on a person entry.
@@ -55,28 +55,29 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev: 679049 $
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
-public class ModifyRdnIT
+@RunWith ( FrameworkRunner.class )
+@CreateDS( name="ModifyRdnIT-class", enableChangeLog=false )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
+public class ModifyRdnIT extends AbstractLdapTestUnit
{
private static final String BASE = "ou=system";
- public static LdapServer ldapServer;
-
-
+
/**
* Create attributes for a person entry.
*/
- private Attributes getPersonAttributes( String sn, String cn )
+ private Attributes getPersonAttributes( String sn, String cn ) throws Exception
{
- Attributes attributes = new BasicAttributes( true );
- Attribute attribute = new BasicAttribute( "objectClass" );
- attribute.add( "top" );
- attribute.add( "person" );
- attributes.put( attribute );
- attributes.put( "cn", cn );
- attributes.put( "sn", sn );
- attributes.put( "description", cn + " is a person." );
+ Attributes attributes = AttributeUtils.createAttributes(
+ "objectClass: top",
+ "objectClass: person",
+ "cn", cn,
+ "sn", sn,
+ "description", cn + " is a person." );
return attributes;
}
@@ -85,15 +86,13 @@
/**
* Create attributes for a organizational unit entry.
*/
- private Attributes getOrganizationalUnitAttributes( String ou )
+ private Attributes getOrganizationalUnitAttributes( String ou ) throws Exception
{
- Attributes attributes = new BasicAttributes( true );
- Attribute attribute = new BasicAttribute( "objectClass" );
- attribute.add( "top" );
- attribute.add( "organizationalUnit" );
- attributes.put( attribute );
- attributes.put( "ou", ou );
- attributes.put( "description", ou + " is an organizational unit." );
+ Attributes attributes = AttributeUtils.createAttributes(
+ "objectClass: top",
+ "objectClass: organizationalUnit",
+ "ou", ou,
+ "description", ou + " is an organizational unit." );
return attributes;
}
@@ -465,7 +464,7 @@
String cnVal = "Tori Amos";
String snVal = "Amos";
String oldRdn = "cn=" + cnVal;
- Attributes attributes = this.getPersonAttributes( snVal, cnVal );
+ Attributes attributes = getPersonAttributes( snVal, cnVal );
ctx.createSubcontext( oldRdn, attributes );
// modify Rdn from cn=Tori Amos to cn=<a Umlaut>\+
@@ -607,7 +606,7 @@
public void testModifyMultiValuedRdnVariant2() throws Exception
{
DirContext ctx = ( DirContext ) getWiredContext( ldapServer ).lookup( BASE );
-
+
Attributes attributes = createPerson( "cn" );
String oldRdn = getRdn( attributes, "cn" );
String newRdn = getRdn( attributes, "cn", "sn" );
@@ -1025,14 +1024,12 @@
{
DirContext ctx = ( DirContext ) getWiredContext( ldapServer ).lookup( BASE );
- Attributes attributes = new BasicAttributes( true );
- Attribute attribute = new BasicAttribute( "objectClass" );
- attribute.add( "top" );
- attribute.add( "person" );
- attributes.put( attribute );
- attributes.put( "cn", "Tori Amos" );
- attributes.put( "sn", "Amos" );
- attributes.put( "description", "Tori Amos is a person." );
+ Attributes attributes = AttributeUtils.createAttributes(
+ "objectClass: top",
+ "objectClass: person",
+ "cn: Tori Amos",
+ "sn: Amos",
+ "description: Tori Amos is a person." );
String rdn = getRdn( attributes, rdnTypes );
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/MoveIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/MoveIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/MoveIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/modifydn/MoveIT.java Wed Jan 6 18:26:43 2010
@@ -20,24 +20,24 @@
package org.apache.directory.server.operations.modifydn;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
import javax.naming.NamingEnumeration;
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.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifs;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
-import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
/**
* Test case with different modify DN operations which move the entry under a
@@ -46,32 +46,34 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev: 679049 $
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.SUITE )
+@RunWith ( FrameworkRunner.class )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 1
- "dn: uid=akarasulu,ou=users,ou=system\n" +
- "objectClass: uidObject\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "uid: akarasulu\n" +
- "cn: Alex Karasulu\n" +
- "sn: karasulu\n\n" +
+ "dn: uid=akarasulu,ou=users,ou=system",
+ "objectClass: uidObject",
+ "objectClass: person",
+ "objectClass: top",
+ "uid: akarasulu",
+ "cn: Alex Karasulu",
+ "sn: karasulu",
// Entry # 2
- "dn: ou=NewSuperior,ou=system\n" +
- "objectClass: organizationalUnit\n" +
- "objectClass: top\n" +
- "ou: NewSuperior\n\n"
+ "dn: ou=NewSuperior,ou=system",
+ "objectClass: organizationalUnit",
+ "objectClass: top",
+ "ou: NewSuperior"
}
)
-public class MoveIT
+public class MoveIT extends AbstractLdapTestUnit
{
private static final String DN = "uid=akarasulu,ou=users,ou=system";
private static final String NEW_DN = "uid=akarasulu,ou=NewSuperior,ou=system";
private static final String NEW_DN2 = "uid=elecharny,ou=NewSuperior,ou=system";
- public static LdapServer ldapServer;
-
@Test
public void testMoveNoRdnChange() throws Exception