directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elecha...@apache.org
Subject svn commit: r729630 - in /directory/apacheds/trunk/server-xml/src: main/resources/serverJdbmPartition.xml test/java/org/apache/directory/server/SpringServerTest.java
Date Sat, 27 Dec 2008 12:53:14 GMT
Author: elecharny
Date: Sat Dec 27 04:53:14 2008
New Revision: 729630

URL: http://svn.apache.org/viewvc?rev=729630&view=rev
Log:
Added a unit test for the JDBM configuration

Added:
    directory/apacheds/trunk/server-xml/src/main/resources/serverJdbmPartition.xml
Modified:
    directory/apacheds/trunk/server-xml/src/test/java/org/apache/directory/server/SpringServerTest.java

Added: directory/apacheds/trunk/server-xml/src/main/resources/serverJdbmPartition.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-xml/src/main/resources/serverJdbmPartition.xml?rev=729630&view=auto
==============================================================================
--- directory/apacheds/trunk/server-xml/src/main/resources/serverJdbmPartition.xml (added)
+++ directory/apacheds/trunk/server-xml/src/main/resources/serverJdbmPartition.xml Sat Dec
27 04:53:14 2008
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+
+<spring:beans xmlns:spring="http://xbean.apache.org/schemas/spring/1.0" 
+              xmlns:s="http://www.springframework.org/schema/beans"
+              xmlns="http://apacheds.org/config/1.0">
+
+  <defaultDirectoryService id="directoryService" instanceId="default"
+                           workingDirectory="example.com"
+                           allowAnonymousAccess="true"
+                           accessControlEnabled="false"
+                           denormalizeOpAttrsEnabled="false"
+                           maxPDUSize="2000000">
+    <systemPartition>
+      <!-- use the following partitionConfiguration to override defaults for -->
+      <!-- the system partition                                              -->
+      <jdbmPartition id="system" cacheSize="100" suffix="ou=system" optimizerEnabled="true"
syncOnWrite="true">
+        <indexedAttributes>
+          <jdbmIndex attributeId="apacheNdn" cacheSize="100"/>
+          <jdbmIndex attributeId="apacheUpdn" cacheSize="100"/>
+          <jdbmIndex attributeId="apacheExistance" cacheSize="100"/>
+          <jdbmIndex attributeId="apacheHierarchy" cacheSize="100"/>
+          <jdbmIndex attributeId="apacheOneAlias" cacheSize="10"/>
+          <jdbmIndex attributeId="apacheSubAlias" cacheSize="10"/>
+          <jdbmIndex attributeId="apacheAlias" cacheSize="10"/>
+          <jdbmIndex attributeId="objectClass" cacheSize="100"/>
+          <jdbmIndex attributeId="ou" cacheSize="100"/>
+          <jdbmIndex attributeId="uid" cacheSize="100"/>
+        </indexedAttributes>
+      </jdbmPartition>
+    </systemPartition>
+
+    <partitions>
+      <!-- NOTE: when specifying new partitions you need not include those   -->
+      <!-- attributes below with OID's which are the system indices, if left -->
+      <!-- out they will be automatically configured for you with defaults.  -->
+      <jdbmPartition id="example" cacheSize="100" suffix="dc=example,dc=com" optimizerEnabled="true"
+                     syncOnWrite="true">
+        <indexedAttributes>
+          <jdbmIndex attributeId="apacheNdn" cacheSize="100"/>
+          <jdbmIndex attributeId="apacheUpdn" cacheSize="100"/>
+          <jdbmIndex attributeId="apacheExistance" cacheSize="100"/>
+          <jdbmIndex attributeId="apacheHierarchy" cacheSize="100"/>
+          <jdbmIndex attributeId="apacheOneAlias" cacheSize="10"/>
+          <jdbmIndex attributeId="apacheSubAlias" cacheSize="10"/>
+          <jdbmIndex attributeId="apacheAlias" cacheSize="10"/>
+          <jdbmIndex attributeId="objectClass" cacheSize="100" numDupLimit="100" wkDirPath="/tmp"/>
+          <jdbmIndex attributeId="dc" cacheSize="100"/>
+          <jdbmIndex attributeId="ou" cacheSize="100"/>
+          <jdbmIndex attributeId="krb5PrincipalName" cacheSize="100"/>
+          <jdbmIndex attributeId="uid" cacheSize="100"/>
+        </indexedAttributes>
+      </jdbmPartition>
+    </partitions>
+
+    <interceptors>
+      <normalizationInterceptor/>
+      <authenticationInterceptor/>
+      <referralInterceptor/>
+      <aciAuthorizationInterceptor/>
+      <defaultAuthorizationInterceptor/>
+      <exceptionInterceptor/>
+      <operationalAttributeInterceptor/>
+
+      <!-- Uncomment to enable the password policy interceptor
+      <passwordPolicyInterceptor/>
+      <keyDerivationInterceptor/>
+      -->
+
+      <schemaInterceptor/>
+      <subentryInterceptor/>
+      <collectiveAttributeInterceptor/>
+      <eventInterceptor/>
+      <triggerInterceptor/>
+
+      <!-- Uncomment to enable replication interceptor
+      <replicationInterceptor>
+        <configuration>
+          <replicationConfiguration serverPort="10390" peerReplicas="instance_b@localhost:10392">
+            <replicaId>
+              <replicaId id="instance_a"/>
+            </replicaId>
+          </replicationConfiguration>
+        </configuration>
+      </replicationInterceptor>
+      -->
+    </interceptors>
+  </defaultDirectoryService>
+
+<!--  missing  atou=users,dc=example,dc=com
+  <changePasswordServer ipPort="60464" nbThreads="8">
+    <directoryService>#directoryService</directoryService>
+  </changePasswordServer>
+-->
+<!--  missing atou=users,dc=example,dc=com
+  <kdcServer ipPort="60088" nbThreads="8">
+    <directoryService>#directoryService</directoryService>
+  </kdcServer>
+-->
+  <ntpServer ipPort="60123" nbThreads="8"/>
+<!--  missing atou=users,dc=example,dc=com
+  <dnsServer ipPort="8053" nbThreads="8">
+    <directoryService>#directoryService</directoryService>
+  </dnsServer>
+-->
+
+  <ldapService id="ldapsService"
+              enabled="true"
+              tcpPort="10636"
+              enableLdaps="true"
+              nbTcpThreads="8">
+    <directoryService>#directoryService</directoryService>
+  </ldapService>
+
+  <ldapService id="ldapService"
+              tcpPort="10389"
+              allowAnonymousAccess="false"
+              saslHost="ldap.example.com"
+              saslPrincipal="ldap/ldap.example.com@EXAMPLE.COM"
+              searchBaseDn="ou=users,ou=system"
+              maxTimeLimit="15000"
+              maxSizeLimit="1000"
+              nbTcpThreads="8">
+
+    <directoryService>#directoryService</directoryService>
+
+    <!-- The list of supported authentication mechanisms.                   -->
+    <saslMechanismHandlers>
+      <simpleMechanismHandler mech-name="SIMPLE"/>
+      <cramMd5MechanismHandler mech-name="CRAM-MD5" />
+      <digestMd5MechanismHandler mech-name="DIGEST-MD5" />
+      <gssapiMechanismHandler mech-name="GSSAPI" />
+      <ntlmMechanismHandler mech-name="NTLM" ntlmProviderFqcn="com.foo.Bar"/>
+      <ntlmMechanismHandler mech-name="GSS-SPNEGO" ntlmProviderFqcn="com.foo.Bar"/>
+    </saslMechanismHandlers>
+
+    <!-- The desired quality-of-protection, used by DIGEST-MD5 and GSSAPI.  -->
+    <saslQop>
+      <s:value>auth</s:value>
+      <s:value>auth-int</s:value>
+      <s:value>auth-conf</s:value>
+    </saslQop>
+
+    <!-- The realms serviced by this SASL host, used by DIGEST-MD5 and GSSAPI. -->
+    <saslRealms>
+      <s:value>example.com</s:value>
+      <s:value>apache.org</s:value>
+    </saslRealms>
+
+    <!-- the collection of extended operation handlers to install           -->
+    <extendedOperationHandlers>
+      <startTlsHandler/>
+      <gracefulShutdownHandler/>
+      <launchDiagnosticUiHandler/>
+      <!-- The Stored Procedure Extended Operation is not stable yet and it may cause
security risks.-->
+      <!--storedProcedureExtendedOperationHandler/-->
+    </extendedOperationHandlers>
+  </ldapService>
+
+
+  <apacheDS id="apacheDS"
+            synchPeriodMillis="15000"
+            allowAnonymousAccess="false">
+
+    <directoryService>#directoryService</directoryService>
+    <ldapService>#ldapService</ldapService>
+    <ldapsService>#ldapsService</ldapsService>
+  </apacheDS>
+
+  <!-- another bean I didn't convert -->
+  <spring:bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
+    <spring:property name="customEditors">
+      <spring:map>
+        <spring:entry key="javax.naming.directory.Attributes">
+          <spring:bean class="org.apache.directory.server.core.configuration.AttributesPropertyEditor"/>
+        </spring:entry>
+      </spring:map>
+    </spring:property>
+  </spring:bean>
+</spring:beans>

Modified: directory/apacheds/trunk/server-xml/src/test/java/org/apache/directory/server/SpringServerTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-xml/src/test/java/org/apache/directory/server/SpringServerTest.java?rev=729630&r1=729629&r2=729630&view=diff
==============================================================================
--- directory/apacheds/trunk/server-xml/src/test/java/org/apache/directory/server/SpringServerTest.java
(original)
+++ directory/apacheds/trunk/server-xml/src/test/java/org/apache/directory/server/SpringServerTest.java
Sat Dec 27 04:53:14 2008
@@ -41,6 +41,7 @@
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 
 /**
@@ -165,4 +166,36 @@
         
         assertEquals( 0, expectedReplicas.size() );
     }
+
+    
+    /**
+     * Test a server.xml for JdbmPartition configuration
+     */
+    @Test
+    public void testSpringServerJdbmPartition() throws Exception {
+        ClassLoader classLoader = this.getClass().getClassLoader();
+        URL configURL = classLoader.getResource( "serverJdbmPartition.xml" );
+
+        File configF = new File( configURL.toURI() );
+        ApplicationContext factory = new FileSystemXmlApplicationContext( configF.toURI().toURL().toString()
);
+        ApacheDS apacheDS = ( ApacheDS ) factory.getBean( "apacheDS" );
+        File workingDirFile = new File( configF.getParentFile(), "work" );
+        apacheDS.getDirectoryService().setWorkingDirectory( workingDirFile );
+        
+        // Now, launch the server, and check that the ObjectClass index has been created
in /tmp
+        apacheDS.startup();
+        
+        File tmpOCdb = new File( "/tmp/objectClass.db");
+        assertTrue( tmpOCdb.exists() );
+
+        File tmpOClg = new File( "/tmp/objectClass.lg");
+        assertTrue( tmpOClg.exists() );
+        
+        // Shutdown and cleanup
+        apacheDS.shutdown();
+        
+        // Clean the /tmp/objectClass.* files
+        tmpOCdb.delete();
+        tmpOClg.delete();
+    }
 }



Mime
View raw message