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 [24/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/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/digestMD5/DigestMd5CallbackHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/digestMD5/DigestMd5CallbackHandler.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/digestMD5/DigestMd5CallbackHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/digestMD5/DigestMd5CallbackHandler.java Wed Jan 6 18:26:43 2010
@@ -23,8 +23,11 @@
import java.util.HashSet;
import java.util.Set;
+import javax.naming.Context;
+import javax.security.sasl.AuthorizeCallback;
+
import org.apache.directory.server.core.CoreSession;
-import org.apache.directory.server.core.authn.LdapPrincipal;
+import org.apache.directory.server.core.LdapPrincipal;
import org.apache.directory.server.core.entry.ClonedServerEntry;
import org.apache.directory.server.core.filtering.EntryFilteringCursor;
import org.apache.directory.server.ldap.LdapSession;
@@ -44,9 +47,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.naming.Context;
-import javax.security.sasl.AuthorizeCallback;
-
/**
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
@@ -83,7 +83,7 @@
ExprNode filter = FilterParser.parse( "(uid=" + username + ")" );
Set<AttributeTypeOptions> returningAttributes = new HashSet<AttributeTypeOptions>();
- AttributeType passwordAT = adminSession.getDirectoryService().getRegistries().getAttributeTypeRegistry().lookup( SchemaConstants.USER_PASSWORD_AT );
+ AttributeType passwordAT = adminSession.getDirectoryService().getSchemaManager().lookupAttributeTypeRegistry( SchemaConstants.USER_PASSWORD_AT );
returningAttributes.add( new AttributeTypeOptions( passwordAT) );
bindDn = (String)ldapSession.getSaslProperty( SaslConstants.SASL_USER_BASE_DN );
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/gssapi/GssapiCallbackHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/gssapi/GssapiCallbackHandler.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/gssapi/GssapiCallbackHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/gssapi/GssapiCallbackHandler.java Wed Jan 6 18:26:43 2010
@@ -25,7 +25,7 @@
import javax.security.sasl.AuthorizeCallback;
import org.apache.directory.server.core.CoreSession;
-import org.apache.directory.server.core.authn.LdapPrincipal;
+import org.apache.directory.server.core.LdapPrincipal;
import org.apache.directory.server.kerberos.shared.store.PrincipalStoreEntry;
import org.apache.directory.server.kerberos.shared.store.operations.GetPrincipal;
import org.apache.directory.server.ldap.LdapSession;
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/ntlm/NtlmSaslServer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/ntlm/NtlmSaslServer.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/ntlm/NtlmSaslServer.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/ntlm/NtlmSaslServer.java Wed Jan 6 18:26:43 2010
@@ -20,8 +20,12 @@
package org.apache.directory.server.ldap.handlers.bind.ntlm;
+import javax.naming.Context;
+import javax.naming.InvalidNameException;
+import javax.security.sasl.SaslException;
+
import org.apache.directory.server.core.CoreSession;
-import org.apache.directory.server.core.authn.LdapPrincipal;
+import org.apache.directory.server.core.LdapPrincipal;
import org.apache.directory.server.core.interceptor.context.BindOperationContext;
import org.apache.directory.server.ldap.LdapSession;
import org.apache.directory.server.ldap.handlers.bind.AbstractSaslServer;
@@ -32,10 +36,6 @@
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.util.StringTools;
-import javax.naming.Context;
-import javax.naming.InvalidNameException;
-import javax.security.sasl.SaslException;
-
/**
* A SaslServer implementation for NTLM based SASL mechanism. This is
@@ -157,7 +157,7 @@
{
result = provider.authenticate( getLdapSession().getIoSession(), response );
LdapDN dn = getBindRequest().getName();
- dn.normalize( getLdapSession().getLdapServer().getDirectoryService().getRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
+ dn.normalize( getLdapSession().getLdapServer().getDirectoryService().getSchemaManager().getNormalizerMapping() );
LdapPrincipal ldapPrincipal = new LdapPrincipal( dn, AuthenticationLevel.STRONG );
getLdapSession().putSaslProperty( SaslConstants.SASL_AUTHENT_USER, ldapPrincipal );
getLdapSession().putSaslProperty( Context.SECURITY_PRINCIPAL, getBindRequest().getName().toString() );
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/controls/PagedSearchContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/controls/PagedSearchContext.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/controls/PagedSearchContext.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/controls/PagedSearchContext.java Wed Jan 6 18:26:43 2010
@@ -26,11 +26,11 @@
import org.apache.directory.server.core.filtering.EntryFilteringCursor;
import org.apache.directory.server.ldap.LdapSession;
-import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
import org.apache.directory.shared.asn1.ber.tlv.Value;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.message.InternalSearchRequest;
import org.apache.directory.shared.ldap.schema.AttributeType;
+import org.apache.directory.shared.ldap.schema.SchemaManager;
import org.apache.directory.shared.ldap.util.StringTools;
/**
@@ -113,7 +113,7 @@
* Build a set of OIDs from the list of attributes we have in the search request
*/
private Set<String> buildAttributeSet( InternalSearchRequest request, LdapSession session,
- AttributeTypeRegistry atRegistry )
+ SchemaManager schemaManager )
{
Set<String> requestSet = new HashSet<String>();
@@ -122,7 +122,7 @@
{
try
{
- AttributeType at = atRegistry.lookup( attribute );
+ AttributeType at = schemaManager.lookupAttributeTypeRegistry( attribute );
requestSet.add( at.getOid() );
}
catch ( NamingException ne )
@@ -181,8 +181,8 @@
return false;
}
- AttributeTypeRegistry atRegistry =
- session.getLdapServer().getDirectoryService().getRegistries().getAttributeTypeRegistry();
+ SchemaManager schemaManager =
+ session.getLdapServer().getDirectoryService().getSchemaManager();
// Compares the attributes
if ( request.getAttributes() == null )
@@ -207,8 +207,8 @@
}
// Build the set of attributeType from both requests
- Set<String> requestSet = buildAttributeSet( request, session, atRegistry );
- Set<String> previousRequestSet = buildAttributeSet( previousSearchRequest, session, atRegistry );
+ Set<String> requestSet = buildAttributeSet( request, session, schemaManager );
+ Set<String> previousRequestSet = buildAttributeSet( previousSearchRequest, session, schemaManager );
// Check that both sets have the same size again after having converted
// the attributes to OID
@@ -233,11 +233,11 @@
// Compare the baseDN
try
{
- request.getBase().normalize( atRegistry.getNormalizerMapping() );
+ request.getBase().normalize( schemaManager.getNormalizerMapping() );
if ( !previousSearchRequest.getBase().isNormalized() )
{
- previousSearchRequest.getBase().normalize( atRegistry.getNormalizerMapping() );
+ previousSearchRequest.getBase().normalize( schemaManager.getNormalizerMapping() );
}
if ( !request.getBase().equals( previousSearchRequest.getBase() ) )
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/LaunchDiagnosticUiHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/LaunchDiagnosticUiHandler.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/LaunchDiagnosticUiHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/LaunchDiagnosticUiHandler.java Wed Jan 6 18:26:43 2010
@@ -32,7 +32,7 @@
import org.apache.directory.server.constants.ServerDNConstants;
import org.apache.directory.server.core.CoreSession;
import org.apache.directory.server.core.DirectoryService;
-import org.apache.directory.server.core.authn.LdapPrincipal;
+import org.apache.directory.server.core.LdapPrincipal;
import org.apache.directory.server.core.interceptor.context.ListSuffixOperationContext;
import org.apache.directory.server.core.partition.Partition;
import org.apache.directory.server.core.partition.PartitionNexus;
@@ -91,7 +91,7 @@
PartitionNexus nexus = service.getPartitionNexus();
LdapDN adminDn = new LdapDN( ServerDNConstants.ADMIN_SYSTEM_DN_NORMALIZED );
- adminDn.normalize( service.getRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
+ adminDn.normalize( service.getSchemaManager().getNormalizerMapping() );
LdapPrincipal principal = new LdapPrincipal( adminDn, AuthenticationLevel.STRONG );
CoreSession session = service.getSession( principal );
Set<String> suffixes = nexus.listSuffixes( new ListSuffixOperationContext( session ) );
@@ -109,7 +109,7 @@
BTreePartition btPartition = ( BTreePartition ) partition;
// TODO : If a partition does not have an initial entry associated, we wil:
// get a NPE : this has to be fixed.
- PartitionFrame frame = new PartitionFrame( btPartition, service.getRegistries() );
+ PartitionFrame frame = new PartitionFrame( btPartition, service.getSchemaManager() );
Point pos = getCenteredPosition( frame );
pos.y = launchedWindowCount * 20 + pos.y;
double multiplier = getAspectRatio() * 20.0;
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/ReplicationManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/ReplicationManager.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/ReplicationManager.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/ReplicationManager.java Wed Jan 6 18:26:43 2010
@@ -1,4 +1,22 @@
-
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
package org.apache.directory.server.ldap.replication;
import org.apache.mina.core.service.IoConnector;
Modified: directory/apacheds/trunk/protocol-ldap/src/test/java/org/apache/directory/server/ldap/SettingAlternativeHandlersTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/test/java/org/apache/directory/server/ldap/SettingAlternativeHandlersTest.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/test/java/org/apache/directory/server/ldap/SettingAlternativeHandlersTest.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/test/java/org/apache/directory/server/ldap/SettingAlternativeHandlersTest.java Wed Jan 6 18:26:43 2010
@@ -20,7 +20,6 @@
package org.apache.directory.server.ldap;
-import junit.framework.TestCase;
import org.apache.directory.server.core.DirectoryService;
import org.apache.directory.server.ldap.LdapServer;
import org.apache.directory.server.ldap.handlers.AbandonHandler;
@@ -44,7 +43,9 @@
import org.apache.directory.shared.ldap.message.InternalSearchRequest;
import org.apache.directory.shared.ldap.message.InternalUnbindRequest;
import org.apache.mina.core.session.IoSession;
-
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
/**
* This test is simply used to test that handlers can be set properly.
@@ -52,27 +53,15 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-public class SettingAlternativeHandlersTest extends TestCase
+public class SettingAlternativeHandlersTest
{
LdapServer ldapServer;
+ @Before
public void setUp() throws Exception
{
ldapServer = new LdapServer();
-
- if ( getName().equals( "testAlternativeConfiguration" ) )
- {
- ldapServer.setAbandonHandler( new BogusAbandonHandler() );
- ldapServer.setAddHandler( new BogusAddHandler() );
- ldapServer.setBindHandler( new BogusBindHandler() );
- ldapServer.setCompareHandler( new BogusCompareHandler() );
- ldapServer.setDeleteHandler( new BogusDeleteHandler() );
- ldapServer.setModifyDnHandler( new BogusModifyDnHandler() );
- ldapServer.setModifyHandler( new BogusModifyHandler() );
- ldapServer.setSearchHandler( new BogusSearchHandler() );
- ldapServer.setUnbindHandler( new BogusUnbindHandler() );
- }
}
@@ -83,6 +72,7 @@
* @throws LdapNamingException if there are problems initializing the
* provider
*/
+ @Test
public void testDefaultOperation() throws LdapNamingException
{
assertEquals( ldapServer.getName(), LdapServer.SERVICE_NAME );
@@ -96,8 +86,19 @@
* @throws LdapNamingException if there are problems initializing the
* provider
*/
+ @Test
public void testAlternativeConfiguration() throws LdapNamingException
{
+ ldapServer.setAbandonHandler( new BogusAbandonHandler() );
+ ldapServer.setAddHandler( new BogusAddHandler() );
+ ldapServer.setBindHandler( new BogusBindHandler() );
+ ldapServer.setCompareHandler( new BogusCompareHandler() );
+ ldapServer.setDeleteHandler( new BogusDeleteHandler() );
+ ldapServer.setModifyDnHandler( new BogusModifyDnHandler() );
+ ldapServer.setModifyHandler( new BogusModifyHandler() );
+ ldapServer.setSearchHandler( new BogusSearchHandler() );
+ ldapServer.setUnbindHandler( new BogusUnbindHandler() );
+
assertEquals( ldapServer.getAbandonHandler().getClass(), BogusAbandonHandler.class );
assertEquals( ldapServer.getAddHandler().getClass(), BogusAddHandler.class );
assertEquals( ldapServer.getBindHandler().getClass(), BogusBindHandler.class );
Modified: directory/apacheds/trunk/protocol-ntp/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ntp/pom.xml?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ntp/pom.xml (original)
+++ directory/apacheds/trunk/protocol-ntp/pom.xml Wed Jan 6 18:26:43 2010
@@ -54,12 +54,7 @@
<version>${pom.version}</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-bootstrap-partition</artifactId>
- <version>${pom.version}</version>
- <scope>test</scope>
- </dependency>
+
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
Modified: directory/apacheds/trunk/protocol-ntp/src/main/java/org/apache/directory/server/ntp/NtpServer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ntp/src/main/java/org/apache/directory/server/ntp/NtpServer.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ntp/src/main/java/org/apache/directory/server/ntp/NtpServer.java (original)
+++ directory/apacheds/trunk/protocol-ntp/src/main/java/org/apache/directory/server/ntp/NtpServer.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,8 @@
package org.apache.directory.server.ntp;
+import java.io.IOException;
+
import org.apache.directory.server.ntp.protocol.NtpProtocolCodecFactory;
import org.apache.directory.server.ntp.protocol.NtpProtocolHandler;
import org.apache.directory.server.protocol.shared.AbstractProtocolService;
@@ -35,8 +37,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-
/**
* Contains the configuration parameters for the NTP protocol provider.
@@ -87,7 +87,7 @@
DefaultIoFilterChainBuilder ntpChain = new DefaultIoFilterChainBuilder();
ntpChain.addLast( "codec", new ProtocolCodecFilter( NtpProtocolCodecFactory.getInstance() ) );
- if ( ( transports == null ) || ( transports.length == 0 ) )
+ if ( ( transports == null ) || ( transports.size() == 0 ) )
{
// Default to UDP with port 123
// We have to create a DatagramAcceptor
Modified: directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpITest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpITest.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpITest.java (original)
+++ directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpITest.java Wed Jan 6 18:26:43 2010
@@ -23,8 +23,6 @@
import java.net.InetAddress;
import java.util.concurrent.Executors;
-import junit.framework.Assert;
-import junit.framework.TestCase;
import org.apache.commons.net.ntp.NTPUDPClient;
import org.apache.commons.net.ntp.TimeInfo;
import org.apache.directory.server.protocol.shared.transport.TcpTransport;
@@ -35,7 +33,7 @@
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-
+import static org.junit.Assert.assertTrue;
/**
* An {@link AbstractServerTest} testing the Network Time Protocol (NTP).
@@ -43,7 +41,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class NtpITest extends TestCase
+public class NtpITest
{
private NtpServer ntpConfig;
private int port;
@@ -84,12 +82,12 @@
TimeInfo timeInfo = ntp.getTime( host, port );
long returnTime = timeInfo.getReturnTime();
- Assert.assertTrue( currentTime - returnTime < 1000 );
+ assertTrue( currentTime - returnTime < 1000 );
timeInfo.computeDetails();
- Assert.assertTrue( 0 < timeInfo.getOffset() && timeInfo.getOffset() < 1000 );
- Assert.assertTrue( 0 < timeInfo.getDelay() && timeInfo.getDelay() < 1000 );
+ assertTrue( 0 < timeInfo.getOffset() && timeInfo.getOffset() < 1000 );
+ assertTrue( 0 < timeInfo.getDelay() && timeInfo.getDelay() < 1000 );
}
Modified: directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpMessageDecoderTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpMessageDecoderTest.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpMessageDecoderTest.java (original)
+++ directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpMessageDecoderTest.java Wed Jan 6 18:26:43 2010
@@ -22,10 +22,9 @@
import java.nio.ByteBuffer;
-import junit.framework.TestCase;
-
import org.apache.directory.server.ntp.io.NtpMessageDecoder;
import org.apache.directory.server.ntp.messages.NtpMessage;
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,7 +33,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class NtpMessageDecoderTest extends TestCase
+public class NtpMessageDecoderTest
{
/** the log for this class */
private static final Logger log = LoggerFactory.getLogger( NtpMessageDecoderTest.class );
@@ -63,6 +62,7 @@
*
* @throws Exception
*/
+ @Test
public void testParseClient() throws Exception
{
ByteBuffer buffer = ByteBuffer.wrap( clientRequest );
@@ -77,6 +77,7 @@
*
* @throws Exception
*/
+ @Test
public void testParseServer() throws Exception
{
ByteBuffer buffer = ByteBuffer.wrap( serverResponse );
Modified: directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpMessageEncoderTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpMessageEncoderTest.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpMessageEncoderTest.java (original)
+++ directory/apacheds/trunk/protocol-ntp/src/test/java/org/apache/directory/server/ntp/NtpMessageEncoderTest.java Wed Jan 6 18:26:43 2010
@@ -22,8 +22,6 @@
import java.nio.ByteBuffer;
-import junit.framework.TestCase;
-
import org.apache.directory.server.ntp.io.NtpMessageDecoder;
import org.apache.directory.server.ntp.io.NtpMessageEncoder;
import org.apache.directory.server.ntp.messages.LeapIndicatorType;
@@ -33,6 +31,7 @@
import org.apache.directory.server.ntp.messages.NtpTimeStamp;
import org.apache.directory.server.ntp.messages.ReferenceIdentifier;
import org.apache.directory.server.ntp.messages.StratumType;
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,7 +40,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class NtpMessageEncoderTest extends TestCase
+public class NtpMessageEncoderTest
{
/** the log for this class */
private static final Logger log = LoggerFactory.getLogger( NtpMessageEncoderTest.class );
@@ -52,6 +51,7 @@
*
* @throws Exception
*/
+ @Test
public void testEncodeMessage() throws Exception
{
NtpMessageModifier modifier = new NtpMessageModifier();
Modified: directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/AbstractProtocolService.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/AbstractProtocolService.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/AbstractProtocolService.java (original)
+++ directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/AbstractProtocolService.java Wed Jan 6 18:26:43 2010
@@ -19,6 +19,9 @@
package org.apache.directory.server.protocol.shared;
+import java.util.HashSet;
+import java.util.Set;
+
import org.apache.directory.server.core.DirectoryService;
import org.apache.directory.server.protocol.shared.transport.Transport;
import org.apache.mina.transport.socket.DatagramAcceptor;
@@ -48,7 +51,7 @@
private String serviceName;
/** The service transports. We may have more than one */
- protected Transport[] transports;
+ protected Set<Transport> transports = new HashSet<Transport>();
/** directory service core where protocol data is backed */
private DirectoryService directoryService;
@@ -142,7 +145,7 @@
*/
public Transport[] getTransports()
{
- return transports;
+ return transports.toArray( new Transport[]{} );
}
@@ -152,17 +155,31 @@
*/
public void setTransports( Transport... transports )
{
- if ( transports != null )
+ for ( Transport transport : transports )
+ {
+ this.transports.add( transport );
+
+ if ( transport.getAcceptor() == null )
+ {
+ transport.init();
+ }
+ }
+ }
+
+
+ /**
+ * Add underlying transports
+ * @param transport The transports
+ */
+ public void addTransports( Transport... transports )
+ {
+ for ( Transport transport : transports )
{
- this.transports = new Transport[ transports.length ];
- System.arraycopy( transports, 0, this.transports, 0, transports.length );
+ this.transports.add( transport );
- for ( Transport transport:transports )
+ if ( transport.getAcceptor() == null )
{
- if ( transport.getAcceptor() == null )
- {
- transport.init();
- }
+ transport.init();
}
}
}
Modified: directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/store/LdifFileLoader.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/store/LdifFileLoader.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/store/LdifFileLoader.java (original)
+++ directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/store/LdifFileLoader.java Wed Jan 6 18:26:43 2010
@@ -20,12 +20,10 @@
package org.apache.directory.server.protocol.shared.store;
-import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
-import java.io.InputStreamReader;
import java.util.Collections;
import java.util.List;
@@ -178,7 +176,7 @@
{
in = getLdifStream();
- for ( LdifEntry ldifEntry:new LdifReader( new BufferedReader( new InputStreamReader( in ) ) ) )
+ for ( LdifEntry ldifEntry:new LdifReader( in ) )
{
LdapDN dn = ldifEntry.getDn();
@@ -203,7 +201,7 @@
{
coreSession.add(
new DefaultServerEntry(
- coreSession.getDirectoryService().getRegistries(), entry ) );
+ coreSession.getDirectoryService().getSchemaManager(), entry ) );
count++;
log.info( "Created {}.", rdn );
}
Modified: directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/transport/TcpTransport.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/transport/TcpTransport.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/transport/TcpTransport.java (original)
+++ directory/apacheds/trunk/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/transport/TcpTransport.java Wed Jan 6 18:26:43 2010
@@ -149,7 +149,7 @@
}
else
{
- socketAddress = new InetSocketAddress( address, port );
+ socketAddress = new InetSocketAddress( address, port );
}
acceptor.setDefaultLocalAddress( socketAddress );
Modified: directory/apacheds/trunk/protocol-shared/src/test/log4j.properties
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-shared/src/test/log4j.properties?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-shared/src/test/log4j.properties (original)
+++ directory/apacheds/trunk/protocol-shared/src/test/log4j.properties Wed Jan 6 18:26:43 2010
@@ -15,7 +15,7 @@
# limitations under the License.
#############################################################################
# Set root logger level to DEBUG and its only appender to A1.
-log4j.rootLogger=INFO, A1
+log4j.rootLogger=ERROR, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
Propchange: directory/apacheds/trunk/server-annotations/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jan 6 18:26:43 2010
@@ -0,0 +1,4 @@
+target
+.classpath
+.project
+.settings
Modified: directory/apacheds/trunk/server-integ/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/pom.xml?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/pom.xml (original)
+++ directory/apacheds/trunk/server-integ/pom.xml Wed Jan 6 18:26:43 2010
@@ -72,7 +72,13 @@
<dependency>
<groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-schema-extras</artifactId>
+ <artifactId>apacheds-test-framework</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-jdbm-partition</artifactId>
<version>${pom.version}</version>
<scope>test</scope>
</dependency>
@@ -81,13 +87,6 @@
<groupId>ldapsdk</groupId>
<artifactId>ldapsdk</artifactId>
</dependency>
-
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-bootstrap-partition</artifactId>
- <version>${pom.version}</version>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
Modified: directory/apacheds/trunk/server-integ/src/test/java/MultiThreadedTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/MultiThreadedTest.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/MultiThreadedTest.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/MultiThreadedTest.java Wed Jan 6 18:26:43 2010
@@ -1,6 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
import java.io.PrintWriter;
import java.io.StringWriter;
-import java.util.Date;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
@@ -12,6 +30,7 @@
import javax.naming.NamingException;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;
+
import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/kerberos/KeyDerivationServiceIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/kerberos/KeyDerivationServiceIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/kerberos/KeyDerivationServiceIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/kerberos/KeyDerivationServiceIT.java Wed Jan 6 18:26:43 2010
@@ -20,46 +20,19 @@
package org.apache.directory.server.kerberos;
-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.interceptor.Interceptor;
-import org.apache.directory.server.core.kerberos.KeyDerivationInterceptor;
-import org.apache.directory.server.core.partition.Partition;
-import org.apache.directory.server.xdbm.Index;
-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 static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-import org.apache.directory.server.integ.SiRunner;
-import org.apache.directory.server.kerberos.shared.crypto.encryption.EncryptionType;
-import org.apache.directory.server.kerberos.shared.io.decoder.EncryptionKeyDecoder;
-import org.apache.directory.server.kerberos.shared.messages.value.EncryptionKey;
-import org.apache.directory.server.kerberos.shared.store.KerberosAttribute;
-import org.apache.directory.server.ldap.LdapServer;
-import org.apache.directory.server.ldap.handlers.bind.MechanismHandler;
-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.mina.util.AvailablePortFinder;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
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 java.io.IOException;
+import java.security.InvalidKeyException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
import javax.crypto.spec.DESKeySpec;
import javax.naming.Context;
import javax.naming.NamingException;
@@ -71,15 +44,30 @@
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.ModificationItem;
-import java.io.IOException;
-import java.security.InvalidKeyException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+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.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.core.kerberos.KeyDerivationInterceptor;
+import org.apache.directory.server.kerberos.shared.crypto.encryption.EncryptionType;
+import org.apache.directory.server.kerberos.shared.io.decoder.EncryptionKeyDecoder;
+import org.apache.directory.server.kerberos.shared.messages.value.EncryptionKey;
+import org.apache.directory.server.kerberos.shared.store.KerberosAttribute;
+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.shared.ldap.constants.SupportedSaslMechanisms;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
/**
@@ -90,90 +78,54 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.CLASS )
-@Factory ( KeyDerivationServiceIT.Factory.class )
-@ApplyLdifs( {
- // Entry #0
- "dn: dc=example,dc=com\n" +
- "dc: example\n" +
- "objectClass: top\n" +
- "objectClass: domain\n\n"
- }
-)
-public class KeyDerivationServiceIT
+@RunWith ( FrameworkRunner.class )
+@CreateDS( name="KeyDerivationServiceIT-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" )
+ } )
+ },
+ additionalInterceptors =
+ {
+ KeyDerivationInterceptor.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 KeyDerivationServiceIT extends AbstractLdapTestUnit
{
private static final String RDN = "uid=hnelson,ou=users,dc=example,dc=com";
- 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.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 );
-
- List<Interceptor> list = service.getInterceptors();
- list.add( new KeyDerivationInterceptor() );
- service.setInterceptors( list );
-
- // 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.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;
- }
- }
-
-
private void checkKeyNumber( Attributes attributes )
{
Attribute krb5key = attributes.get( "krb5key" );
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/kerberos/PasswordPolicyServiceIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/kerberos/PasswordPolicyServiceIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/kerberos/PasswordPolicyServiceIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/kerberos/PasswordPolicyServiceIT.java Wed Jan 6 18:26:43 2010
@@ -20,55 +20,41 @@
package org.apache.directory.server.kerberos;
-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.interceptor.Interceptor;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.Hashtable;
+
+import javax.naming.NamingException;
+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.InitialDirContext;
+
+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.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.core.kerberos.PasswordPolicyInterceptor;
-import org.apache.directory.server.core.partition.Partition;
-import org.apache.directory.server.xdbm.Index;
-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.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.mina.util.AvailablePortFinder;
import org.junit.After;
import org.junit.Before;
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 javax.naming.NamingException;
-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.InitialDirContext;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
/**
@@ -77,89 +63,53 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.CLASS )
-@Factory ( PasswordPolicyServiceIT.Factory.class )
-@ApplyLdifs( {
- // Entry #0
- "dn: dc=example,dc=com\n" +
- "dc: example\n" +
- "objectClass: top\n" +
- "objectClass: domain\n\n"
- }
-)
-public class PasswordPolicyServiceIT
+@RunWith ( FrameworkRunner.class )
+@CreateDS( allowAnonAccess=true, name="PasswordPolicyServiceIT-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" )
+ } )
+ },
+ additionalInterceptors =
+ {
+ PasswordPolicyInterceptor.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 PasswordPolicyServiceIT extends AbstractLdapTestUnit
{
private DirContext ctx;
private DirContext users;
-
-
- 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.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 );
-
- List<Interceptor> list = service.getInterceptors();
- list.add( new PasswordPolicyInterceptor() );
- service.setInterceptors( list );
-
- // 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.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;
- }
- }
/**
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddIT.java Wed Jan 6 18:26:43 2010
@@ -29,8 +29,7 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.UUID;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
@@ -59,32 +58,29 @@
import netscape.ldap.LDAPResponseListener;
import netscape.ldap.LDAPSearchConstraints;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
import org.apache.directory.server.constants.ServerDNConstants;
import org.apache.directory.server.core.CoreSession;
-import org.apache.directory.server.core.DefaultDirectoryService;
import org.apache.directory.server.core.DirectoryService;
-import org.apache.directory.server.core.authn.LdapPrincipal;
-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.LdapPrincipal;
+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.core.jndi.ServerLdapContext;
-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.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.AuthenticationLevel;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
+import org.apache.directory.shared.ldap.csn.Csn;
+import org.apache.directory.shared.ldap.csn.CsnFactory;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.directory.shared.ldap.name.LdapDN;
+import org.apache.directory.shared.ldap.schema.SchemaUtils;
+import org.apache.directory.shared.ldap.util.AttributeUtils;
import org.apache.directory.shared.ldap.util.StringTools;
-import org.apache.mina.util.AvailablePortFinder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
@@ -97,59 +93,85 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev: 674593 $
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.CLASS )
-@Factory ( AddIT.Factory.class )
+@RunWith ( FrameworkRunner.class )
+@CreateDS( allowAnonAccess=true, name="AddIT-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" )
+ } ),
+
+ @CreatePartition(
+ name = "directory",
+ suffix = "dc=directory,dc=apache,dc=org",
+ contextEntry = @ContextEntry(
+ entryLdif =
+ "dn: dc=directory,dc=apache,dc=org\n"+
+ "dc: directory\n"+
+ "objectClass: top\n"+
+ "objectClass: domain\n\n" ),
+ indexes =
+ {
+ @CreateIndex( attribute = "objectClass" ),
+ @CreateIndex( attribute = "dc" ),
+ @CreateIndex( attribute = "ou" )
+ } )
+ })
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
@ApplyLdifs( {
// Entry # 0
- "dn: cn=The Person,ou=system\n" +
- "objectClass: person\n" +
- "objectClass: top\n" +
- "cn: The Person\n" +
- "description: this is a person\n" +
- "sn: Person\n\n" +
+ "dn: cn=The Person,ou=system",
+ "objectClass: person",
+ "objectClass: top",
+ "cn: The Person",
+ "description: this is a person",
+ "sn: Person",
// 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" +
-
- // Entry example.com
- "dn: dc=example,dc=com\n" +
- "dc: example\n" +
- "objectClass: top\n" +
- "objectClass: domain\n\n" +
-
- // Entry directory.apache.org
- "dn: dc=directory,dc=apache,dc=org\n" +
- "dc: directory\n" +
- "objectClass: top\n" +
- "objectClass: domain\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 AddIT
+public class AddIT extends AbstractLdapTestUnit
{
private static final Logger LOG = LoggerFactory.getLogger( AddIT.class );
private static final String RDN = "cn=The Person";
@@ -157,64 +179,6 @@
private static final String BASE = "ou=system";
private static final String BASE_EXAMPLE_COM = "dc=example,dc=com";
private static final String BASE_DIRECTORY_APACHE_ORG = "dc=directory,dc=apache,dc=org";
-
-
- public static LdapServer ldapServer;
-
-
- /**
- * The factory
- *
- */
- 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( true );
- service.setShutdownHookEnabled( false );
-
- JdbmPartition example = new JdbmPartition();
- example.setCacheSize( 500 );
- example.setSuffix( BASE_EXAMPLE_COM );
- example.setId( "example" );
- 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" ) );
- example.setIndexedAttributes( indexedAttrs );
-
- service.addPartition( example );
-
- JdbmPartition directory = new JdbmPartition();
- directory.setCacheSize( 500 );
- directory.setSuffix( BASE_DIRECTORY_APACHE_ORG );
- directory.setId( "directory" );
- Set<Index<?, ServerEntry>> indexedAttrs2 = new HashSet<Index<?, ServerEntry>>();
- indexedAttrs2.add( new JdbmIndex<String, ServerEntry>( "ou" ) );
- indexedAttrs2.add( new JdbmIndex<String, ServerEntry>( "dc" ) );
- indexedAttrs2.add( new JdbmIndex<String, ServerEntry>( "objectClass" ) );
- directory.setIndexedAttributes( indexedAttrs2 );
-
- service.addPartition( directory );
-
- // 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.setAllowAnonymousAccess( true );
- ldapServer.addExtendedOperationHandler( new StoredProcedureExtendedOperationHandler() );
-
- return ldapServer;
- }
- }
-
/**
* This is the original defect as in JIRA DIREVE-216.
@@ -227,11 +191,9 @@
DirContext ctx = ( DirContext ) getWiredContext( ldapServer ).lookup( BASE );
// modify object classes, add two more
- Attributes attributes = new BasicAttributes( true );
- Attribute ocls = new BasicAttribute( "objectClass" );
- ocls.add( "organizationalPerson" );
- ocls.add( "inetOrgPerson" );
- attributes.put( ocls );
+ Attributes attributes = AttributeUtils.createAttributes(
+ "objectClass: organizationalPerson",
+ "objectClass: inetOrgPerson" );
DirContext person = ( DirContext ) ctx.lookup( RDN );
person.modifyAttributes( "", DirContext.ADD_ATTRIBUTE, attributes );
@@ -778,7 +740,7 @@
}
LdapDN userDn = new LdapDN( principalDn );
- userDn.normalize( service.getRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
+ userDn.normalize( service.getSchemaManager().getNormalizerMapping() );
LdapPrincipal principal = new LdapPrincipal( userDn, AuthenticationLevel.SIMPLE );
if ( dn == null )
@@ -1244,6 +1206,69 @@
assertTrue( userPasswordAttribute.contains( StringTools.getBytesUtf8( "ABC" ) ) );
assertFalse( res.hasMore() );
}
+
+
+ private UUID getUUIDFromBytes( byte[] data )
+ {
+ long msb = 0;
+ long lsb = 0;
+ for (int i=0; i<8; i++)
+ {
+ msb = (msb << 8) | (data[i] & 0xff);
+ }
+
+ for (int i=8; i<16; i++)
+ {
+ lsb = (lsb << 8) | (data[i] & 0xff);
+ }
+
+ return new UUID( msb, lsb );
+ }
+
+
+ @Test
+ public void testAddEntryUUIDAndCSNAttributes() throws Exception
+ {
+ LDAPConnection con = getWiredConnection( ldapServer );
+ LDAPAttributeSet attrs = new LDAPAttributeSet();
+ LDAPAttribute ocls = new LDAPAttribute( "objectclass", new String[]
+ { "top", "person" } );
+ attrs.add( ocls );
+ attrs.add( new LDAPAttribute( "sn", "Bush" ) );
+ attrs.add( new LDAPAttribute( "cn", "Kate Bush" ) );
+
+ String descr = "a British singer-songwriter with an expressive four-octave voice";
+ attrs.add( new LDAPAttribute( "description", descr ) );
+
+ UUID uuid = UUID.randomUUID();
+ attrs.add( new LDAPAttribute( SchemaConstants.ENTRY_UUID_AT, SchemaUtils.uuidToBytes( uuid ) ) );
+
+ CsnFactory csnFac = new CsnFactory( 0 );
+ Csn csn = csnFac.newInstance();
+ attrs.add( new LDAPAttribute( SchemaConstants.ENTRY_CSN_AT, csn.toString() ) );
+
+ String dn = "cn=Kate Bush," + BASE;
+ LDAPEntry kate = new LDAPEntry( dn, attrs );
+
+ con.add( kate );
+
+ // Analyze entry and description attribute
+ LDAPEntry addedEntry = con.read( dn, new String[]{ "*", "+"} );
+ assertNotNull( addedEntry );
+
+ LDAPAttribute attr = addedEntry.getAttribute( SchemaConstants.ENTRY_UUID_AT );
+ assertNotNull( attr );
+
+ assertEquals( uuid, getUUIDFromBytes( attr.getByteValueArray()[0] ) );
+
+ attr = addedEntry.getAttribute( SchemaConstants.ENTRY_CSN_AT );
+ assertNotNull( attr );
+ assertEquals( csn.toString(), new String( attr.getStringValueArray()[0] ) );
+
+ // Remove entry
+ con.delete( dn );
+ con.disconnect();
+ }
protected Attributes getPersonAttributes( String sn, String cn )
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddingEntriesWithSpecialCharactersInRDNIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddingEntriesWithSpecialCharactersInRDNIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddingEntriesWithSpecialCharactersInRDNIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddingEntriesWithSpecialCharactersInRDNIT.java Wed Jan 6 18:26:43 2010
@@ -28,18 +28,17 @@
import javax.naming.NamingException;
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.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.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.apache.directory.server.integ.ServerIntegrationUtils;
-import org.apache.directory.server.integ.SiRunner;
-import org.apache.directory.server.ldap.LdapServer;
import org.apache.directory.shared.ldap.name.LdapDN;
+import org.apache.directory.shared.ldap.util.AttributeUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -50,35 +49,32 @@
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-@RunWith( SiRunner.class )
-@CleanupLevel( Level.CLASS )
-public class AddingEntriesWithSpecialCharactersInRDNIT
+@RunWith( FrameworkRunner.class )
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
+public class AddingEntriesWithSpecialCharactersInRDNIT extends AbstractLdapTestUnit
{
- public static LdapServer ldapServer;
-
-
- protected Attributes getPersonAttributes( String sn, String cn )
+ private Attributes getPersonAttributes( String sn, String cn ) throws NamingException
{
- Attributes attrs = new BasicAttributes( true );
- Attribute ocls = new BasicAttribute( "objectClass" );
- ocls.add( "top" );
- ocls.add( "person" );
- attrs.put( ocls );
- attrs.put( "cn", cn );
- attrs.put( "sn", sn );
+ Attributes attrs = AttributeUtils.createAttributes(
+ "objectClass: top",
+ "objectClass: person",
+ "cn", cn,
+ "sn", sn );
return attrs;
}
- protected Attributes getOrgUnitAttributes( String ou )
+ private Attributes getOrgUnitAttributes( String ou ) throws NamingException
{
- Attributes attrs = new BasicAttributes( true );
- Attribute ocls = new BasicAttribute( "objectClass" );
- ocls.add( "top" );
- ocls.add( "organizationalUnit" );
- attrs.put( ocls );
- attrs.put( "ou", ou );
+ Attributes attrs = AttributeUtils.createAttributes(
+ "objectClass: top",
+ "objectClass: organizationalUnit",
+ "ou", ou );
return attrs;
}
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/BindIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/BindIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/BindIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/BindIT.java Wed Jan 6 18:26:43 2010
@@ -20,6 +20,10 @@
package org.apache.directory.server.operations.bind;
+import static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
import javax.naming.AuthenticationException;
import netscape.ldap.LDAPConnection;
@@ -27,18 +31,15 @@
import netscape.ldap.LDAPControl;
import netscape.ldap.LDAPException;
-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 static org.apache.directory.server.integ.ServerIntegrationUtils.getWiredContext;
-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.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.assertEquals;
-import static org.junit.Assert.fail;
-
/**
* Tests the server to make sure standard compare operations work properly.
@@ -46,41 +47,44 @@
* @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=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: uidObject\n" +
- "objectClass: referral\n" +
- "objectClass: top\n" +
- "uid: akarasuluref\n" +
- "userPassword: secret\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: uidObject",
+ "objectClass: referral",
+ "objectClass: top",
+ "uid: akarasuluref",
+ "userPassword: secret",
+ "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 BindIT
+@CreateDS( allowAnonAccess=true, name="BindIT-class")
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
+public class BindIT extends AbstractLdapTestUnit
{
- public static LdapServer ldapServer;
-
/**
* Test with bindDn which is not even found under any namingContext of the
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/MiscBindIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/MiscBindIT.java?rev=896599&r1=896598&r2=896599&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/MiscBindIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/MiscBindIT.java Wed Jan 6 18:26:43 2010
@@ -20,14 +20,18 @@
package org.apache.directory.server.operations.bind;
+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.HashMap;
import java.util.Hashtable;
import java.util.Map;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.naming.NoPermissionException;
import javax.naming.OperationNotSupportedException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
@@ -39,23 +43,19 @@
import javax.naming.directory.SearchResult;
import javax.naming.ldap.InitialLdapContext;
-import netscape.ldap.LDAPAttribute;
import netscape.ldap.LDAPConnection;
-import netscape.ldap.LDAPEntry;
import netscape.ldap.LDAPException;
import netscape.ldap.LDAPSearchResults;
import netscape.ldap.LDAPUrl;
-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.ApplyLdifs;
-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.LdapServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+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.MechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.SimpleMechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.cramMD5.CramMd5MechanismHandler;
@@ -63,24 +63,15 @@
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.StoredProcedureExtendedOperationHandler;
-import org.apache.directory.server.protocol.shared.transport.TcpTransport;
-import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition;
import org.apache.directory.shared.asn1.util.Asn1StringUtils;
import org.apache.directory.shared.ldap.constants.SupportedSaslMechanisms;
import org.apache.directory.shared.ldap.message.InternalControl;
import org.apache.directory.shared.ldap.util.ArrayUtils;
-import org.apache.mina.util.AvailablePortFinder;
import org.junit.After;
import org.junit.Before;
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.assertTrue;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-
/**
* A set of miscellaneous tests.
@@ -88,83 +79,59 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev: 682556 $
*/
-@RunWith ( SiRunner.class )
-@CleanupLevel ( Level.CLASS )
-@Factory ( MiscBindIT.Factory.class )
-@ApplyLdifs( {
- // Entry #0
- "dn: dc=aPache,dc=org\n" +
- "dc: aPache\n" +
- "objectClass: top\n" +
- "objectClass: domain\n\n"
- }
-)
-public class MiscBindIT
+@RunWith ( FrameworkRunner.class )
+@CreateDS( allowAnonAccess=true, name="SaslBindIT-class",
+ partitions =
+ {
+ @CreatePartition(
+ name = "example",
+ suffix = "dc=aPache,dc=org",
+ contextEntry = @ContextEntry(
+ entryLdif =
+ "dn: dc=aPache,dc=org\n" +
+ "dc: aPache\n" +
+ "objectClass: top\n" +
+ "objectClass: domain\n\n" ),
+ indexes =
+ {
+ @CreateIndex( attribute = "objectClass" ),
+ @CreateIndex( attribute = "dc" ),
+ @CreateIndex( attribute = "ou" )
+ } )
+ })
+@CreateLdapServer (
+ transports =
+ {
+ @CreateTransport( protocol = "LDAP" )
+ })
+public class MiscBindIT extends AbstractLdapTestUnit
{
- public static LdapServer ldapServer;
+ private boolean oldAnnonymousAccess;
-
- public static class Factory implements LdapServerFactory
+ @Before
+ public void init() throws Exception
{
- public LdapServer newInstance() throws Exception
- {
- DirectoryService service = new DefaultDirectoryService();
- IntegrationUtils.doDelete( service.getWorkingDirectory() );
- service.getChangeLog().setEnabled( true );
- service.setAllowAnonymousAccess( true );
- service.setShutdownHookEnabled( false );
-
- JdbmPartition apache = new JdbmPartition();
-
- // @TODO need to make this configurable for the system partition
- apache.setCacheSize( 500 );
- apache.setSuffix( "dc=aPache,dc=org" );
- apache.setId( "apache" );
- service.addPartition( apache );
-
- // 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.setAllowAnonymousAccess( 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.addExtendedOperationHandler( new StoredProcedureExtendedOperationHandler() );
- ldapServer.setSaslMechanismHandlers( mechanismHandlerMap );
+ // Setup SASL Mechanisms
+
+ Map<String, MechanismHandler> mechanismHandlerMap = new HashMap<String,MechanismHandler>();
+ mechanismHandlerMap.put( SupportedSaslMechanisms.PLAIN, new SimpleMechanismHandler() );
- return ldapServer;
- }
- }
-
-
-
- private boolean oldAnnonymousAccess;
-
-
- @Before
- public void recordAnnonymous() throws NamingException
- {
+ 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 );
oldAnnonymousAccess = ldapServer.getDirectoryService().isAllowAnonymousAccess();
}