Return-Path: X-Original-To: apmail-directory-commits-archive@www.apache.org Delivered-To: apmail-directory-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D6C279751 for ; Fri, 18 Nov 2011 11:22:29 +0000 (UTC) Received: (qmail 59637 invoked by uid 500); 18 Nov 2011 11:22:29 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 59521 invoked by uid 500); 18 Nov 2011 11:22:29 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 59506 invoked by uid 99); 18 Nov 2011 11:22:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Nov 2011 11:22:29 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Nov 2011 11:22:25 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 6E07A2388A29 for ; Fri, 18 Nov 2011 11:22:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1203604 [4/8] - in /directory/apacheds/branches/apacheds-osgi: ./ all/ apache-felix/ component-hub/ component-hub/src/ component-hub/src/main/ component-hub/src/main/java/ component-hub/src/main/java/org/ component-hub/src/main/java/org/ap... Date: Fri, 18 Nov 2011 11:21:59 -0000 To: commits@directory.apache.org From: pamarcelot@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111118112205.6E07A2388A29@eris.apache.org> Modified: directory/apacheds/branches/apacheds-osgi/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSchemaHandlerIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-osgi/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSchemaHandlerIT.java?rev=1203604&r1=1203603&r2=1203604&view=diff ============================================================================== --- directory/apacheds/branches/apacheds-osgi/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSchemaHandlerIT.java (original) +++ directory/apacheds/branches/apacheds-osgi/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSchemaHandlerIT.java Fri Nov 18 11:21:55 2011 @@ -6,44 +6,40 @@ * 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. - * + * under the License. + * */ package org.apache.directory.server.core.schema; -import static org.apache.directory.server.core.integ.IntegrationUtils.getSchemaContext; 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 javax.naming.NameNotFoundException; -import javax.naming.NamingException; -import javax.naming.OperationNotSupportedException; -import javax.naming.directory.Attribute; -import javax.naming.directory.Attributes; -import javax.naming.directory.BasicAttribute; -import javax.naming.directory.DirContext; -import javax.naming.directory.ModificationItem; -import javax.naming.ldap.LdapContext; - +import org.apache.directory.ldap.client.api.LdapConnection; import org.apache.directory.server.core.annotations.CreateDS; import org.apache.directory.server.core.integ.FrameworkRunner; import org.apache.directory.server.core.integ.IntegrationUtils; import org.apache.directory.shared.ldap.model.constants.MetaSchemaConstants; import org.apache.directory.shared.ldap.model.constants.SchemaConstants; -import org.apache.directory.shared.ldap.model.ldif.LdifUtils; +import org.apache.directory.shared.ldap.model.entry.Attribute; +import org.apache.directory.shared.ldap.model.entry.DefaultEntry; +import org.apache.directory.shared.ldap.model.entry.DefaultModification; +import org.apache.directory.shared.ldap.model.entry.Entry; +import org.apache.directory.shared.ldap.model.entry.ModificationOperation; +import org.apache.directory.shared.ldap.model.exception.LdapException; import org.apache.directory.shared.ldap.model.name.Dn; +import org.apache.directory.shared.ldap.model.schema.SchemaManager; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -104,19 +100,24 @@ public class MetaSchemaHandlerIT extends /** Another test attribute : krb5principalName taken from the Krb5Kdc schema */ private static final String KRB5_PRINCIPAL_NAME_ATTR = "krb5PrincipalName"; + public static SchemaManager schemaManager; + private static LdapConnection connection; + @Before - public void checkSambaSchema() throws Exception + public void setup() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); + super.init(); + connection = IntegrationUtils.getAdminConnection( getService() ); + schemaManager = getService().getSchemaManager(); // check that there is a samba schema installed and that is is disabled - Attributes attributes = schemaRoot.getAttributes( "cn=samba" ); - assertNotNull( attributes ); - assertTrue( attributes.get( MetaSchemaConstants.M_DISABLED_AT ).contains( "TRUE" ) ); - attributes = schemaRoot.getAttributes( "ou=attributeTypes,cn=samba" ); - assertNotNull( attributes ); - assertTrue( attributes.get( SchemaConstants.OU_AT ).contains( "attributetypes" ) ); + Entry entry = connection.lookup( "cn=samba,ou=schema" ); + assertNotNull( entry ); + assertTrue( entry.get( MetaSchemaConstants.M_DISABLED_AT ).contains( "TRUE" ) ); + entry = connection.lookup( "ou=attributeTypes,cn=samba,ou=schema" ); + assertNotNull( entry ); + assertTrue( entry.get( SchemaConstants.OU_AT ).contains( "attributetypes" ) ); // Disable the NIS schema IntegrationUtils.disableSchema( getService(), "nis" ); @@ -125,30 +126,32 @@ public class MetaSchemaHandlerIT extends private void createDisabledBrokenSchema() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - + Dn dn = new Dn( "cn=broken,ou=schema" ); + // Create the schema - Attributes dummySchema = LdifUtils.createJndiAttributes( + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: broken", MetaSchemaConstants.M_DISABLED_AT, "TRUE" ); - schemaRoot.createSubcontext( "cn=broken", dummySchema ); + connection.add( dummySchema ); } private void createEnabledValidSchema( String schemaName ) throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); + Dn dn = new Dn( "cn=" + schemaName + ",ou=schema" ); // Create the schema - Attributes dummySchema = LdifUtils.createJndiAttributes( + Entry entry = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn", schemaName ); - schemaRoot.createSubcontext( "cn=" + schemaName, dummySchema ); + connection.add( entry ); } // ----------------------------------------------------------------------- @@ -170,19 +173,19 @@ public class MetaSchemaHandlerIT extends // check that the nis schema is not enabled assertTrue( IntegrationUtils.isDisabled( getService(), "nis" ) ); - // double check and make sure an attribute from that schema is + // double check and make sure an attribute from that schema is // not in the AttributeTypeRegistry - assertFalse( getService().getSchemaManager().getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); + assertFalse( schemaManager.getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); // now enable the test schema IntegrationUtils.enableSchema( getService(), "nis" ); - // now test that the schema is loaded + // now test that the schema is loaded assertTrue( IntegrationUtils.isEnabled( getService(), "nis" ) ); - // double check and make sure the test attribute from the + // double check and make sure the test attribute from the // test schema is now loaded and present within the attr registry - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); } @@ -203,13 +206,13 @@ public class MetaSchemaHandlerIT extends IntegrationUtils.enableSchema( getService(), "wrong" ); fail(); } - catch ( NameNotFoundException lnnfe ) + catch ( LdapException lnnfe ) { // Expected assertTrue( true ); } - // Test again that the schema is not loaded + // Test again that the schema is not loaded assertFalse( IntegrationUtils.isLoaded( getService(), "wrong" ) ); } @@ -229,9 +232,9 @@ public class MetaSchemaHandlerIT extends // Ceck that it's not enabled assertTrue( IntegrationUtils.isDisabled( getService(), "nis" ) ); - // double check and make sure an attribute from that schema is + // double check and make sure an attribute from that schema is // not in the AttributeTypeRegistry - assertFalse( getService().getSchemaManager().getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); + assertFalse( schemaManager.getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); // now enable the test schema IntegrationUtils.enableSchema( getService(), "nis" ); @@ -239,18 +242,18 @@ public class MetaSchemaHandlerIT extends // and enable it again (it should not do anything) IntegrationUtils.enableSchema( getService(), "nis" ); - // now test that the schema is loaded + // now test that the schema is loaded assertTrue( IntegrationUtils.isEnabled( getService(), "nis" ) ); - // double check and make sure the test attribute from the + // double check and make sure the test attribute from the // test schema is now loaded and present within the attr registry - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); } /** - * Checks that if we enable a schema which will break the registries, we get - * an error. + * Checks that if we enable a schema which will break the registries, we get + * an error. * * @throws Exception on error */ @@ -280,19 +283,19 @@ public class MetaSchemaHandlerIT extends // check that the krb5kdc schema is enabled assertTrue( IntegrationUtils.isEnabled( getService(), "krb5kdc" ) ); - // double check and make sure an attribute from that schema is + // double check and make sure an attribute from that schema is // in the AttributeTypeRegistry - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( KRB5_PRINCIPAL_NAME_ATTR ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( KRB5_PRINCIPAL_NAME_ATTR ) ); // now disable the krb5kdc schema IntegrationUtils.disableSchema( getService(), "krb5kdc" ); - // now test that the schema is not enabled + // now test that the schema is not enabled assertTrue( IntegrationUtils.isDisabled( getService(), "krb5kdc" ) ); - // double check and make sure the test attribute from the + // double check and make sure the test attribute from the // test schema is now loaded and present within the attr registry - assertFalse( getService().getSchemaManager().getAttributeTypeRegistry().contains( KRB5_PRINCIPAL_NAME_ATTR ) ); + assertFalse( schemaManager.getAttributeTypeRegistry().contains( KRB5_PRINCIPAL_NAME_ATTR ) ); } @@ -313,13 +316,13 @@ public class MetaSchemaHandlerIT extends IntegrationUtils.disableSchema( getService(), "wrong" ); fail(); } - catch ( NameNotFoundException lnnfe ) + catch ( LdapException lnnfe ) { // Expected assertTrue( true ); } - // Test again that the schema is not loaded + // Test again that the schema is not loaded assertFalse( IntegrationUtils.isLoaded( getService(), "wrong" ) ); } @@ -334,30 +337,30 @@ public class MetaSchemaHandlerIT extends public void testDisableSchemaAlreadyDisabled() throws Exception { // check that the nis schema is loaded - assertTrue( IntegrationUtils.isLoaded( getService(), "nis" ) ); + assertTrue( IntegrationUtils.isLoaded( getService(), "nis" ) ); // Check that it's not enabled assertTrue( IntegrationUtils.isDisabled( getService(), "nis" ) ); - // double check and make sure an attribute from that schema is + // double check and make sure an attribute from that schema is // not in the AttributeTypeRegistry - assertFalse( getService().getSchemaManager().getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); + assertFalse( schemaManager.getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); // now disable the test schema again IntegrationUtils.disableSchema( getService(), "nis" ); - // now test that the schema is not loaded + // now test that the schema is not loaded assertTrue( IntegrationUtils.isDisabled( getService(), "nis" ) ); - // double check and make sure the test attribute from the + // double check and make sure the test attribute from the // test schema is not loaded and present within the attr registry - assertFalse( getService().getSchemaManager().getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); + assertFalse( schemaManager.getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); } /** - * Checks that if we disable a schema which will break the registries, we get - * an error. + * Checks that if we disable a schema which will break the registries, we get + * an error. * * @throws Exception on error */ @@ -370,19 +373,19 @@ public class MetaSchemaHandlerIT extends // Check that it's enabled assertTrue( IntegrationUtils.isEnabled( getService(), "system" ) ); - // double check and make sure an attribute from that schema is + // double check and make sure an attribute from that schema is // in the AttributeTypeRegistry - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( "cn" ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( "cn" ) ); // now disable the system schema : it should break the registries, thus being rejected IntegrationUtils.disableSchema( getService(), "system" ); - // now test that the schema is not loaded + // now test that the schema is not loaded assertTrue( IntegrationUtils.isEnabled( getService(), "system" ) ); - // double check and make sure the test attribute from the + // double check and make sure the test attribute from the // test schema is loaded and present within the attr registry - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( "cn" ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( "cn" ) ); } // ----------------------------------------------------------------------- @@ -394,16 +397,14 @@ public class MetaSchemaHandlerIT extends @Test public void testAddEnabledValidSchema() throws Exception { - Dn dn = getSchemaContainer( "dummy" ); + Dn dn = new Dn( "cn=dummy,ou=schema" ); assertFalse( isOnDisk( dn ) ); - LdapContext schemaRoot = getSchemaContext( getService() ); - createEnabledValidSchema( "dummy" ); assertTrue( IntegrationUtils.isEnabled( getService(), "dummy" ) ); - assertNotNull( schemaRoot.lookup( "cn=dummy" ) ); + assertNotNull( connection.lookup( "cn=dummy,ou=schema" ) ); assertTrue( isOnDisk( dn ) ); } @@ -415,23 +416,23 @@ public class MetaSchemaHandlerIT extends @Test public void testAddEnabledSchemaWithExistingEnabledDeps() throws Exception { - Dn dn = getSchemaContainer( "dummy" ); + Dn dn = new Dn( "cn=dummy,ou=schema" ); assertFalse( isOnDisk( dn ) ); - LdapContext schemaRoot = getSchemaContext( getService() ); - Attributes dummySchema = LdifUtils.createJndiAttributes( - "objectClass: top", - "objectClass", MetaSchemaConstants.META_SCHEMA_OC, - "cn: dummy", - "m-dependencies: core", - "m-dependencies: system", - MetaSchemaConstants.M_DISABLED_AT, "FALSE"); + Entry dummySchema = new DefaultEntry( + dn, + "objectClass: top", + "objectClass", MetaSchemaConstants.META_SCHEMA_OC, + "cn: dummy", + "m-dependencies: core", + "m-dependencies: system", + MetaSchemaConstants.M_DISABLED_AT, "FALSE"); - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); assertTrue( IntegrationUtils.isEnabled( getService(), "dummy" ) ); - assertNotNull( schemaRoot.lookup( "cn=dummy" ) ); + assertNotNull( connection.lookup( "cn=dummy, ou=schema" ) ); assertTrue( isOnDisk( dn ) ); } @@ -443,12 +444,12 @@ public class MetaSchemaHandlerIT extends @Test public void testAddEnabledSchemaWithExistingDisabledDeps() throws Exception { - Dn dn = getSchemaContainer( "dummy" ); + Dn dn = new Dn( "cn=dummy,ou=schema" ); assertFalse( isOnDisk( dn ) ); - LdapContext schemaRoot = getSchemaContext( getService() ); - Attributes dummySchema = LdifUtils.createJndiAttributes( + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: dummy", @@ -458,12 +459,12 @@ public class MetaSchemaHandlerIT extends try { - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); fail(); } - catch ( OperationNotSupportedException lonse ) + catch ( LdapException lonse ) { - // expected + // expected } assertFalse( IntegrationUtils.isLoaded( getService(), "dummy" ) ); @@ -477,12 +478,12 @@ public class MetaSchemaHandlerIT extends @Test public void testAddEnabledSchemaWithNotExistingDeps() throws Exception { - Dn dn = getSchemaContainer( "dummy" ); + Dn dn = new Dn( "cn=dummy,ou=schema" ); assertFalse( isOnDisk( dn ) ); - LdapContext schemaRoot = getSchemaContext( getService() ); - Attributes dummySchema = LdifUtils.createJndiAttributes( + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: dummy", @@ -492,12 +493,12 @@ public class MetaSchemaHandlerIT extends try { - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); fail(); } - catch ( OperationNotSupportedException lonse ) + catch ( LdapException lonse ) { - // expected + // expected } assertFalse( IntegrationUtils.isLoaded( getService(), "dummy" ) ); @@ -514,8 +515,7 @@ public class MetaSchemaHandlerIT extends @Test public void testDeleteEnabledValidSchema() throws Exception { - Dn dn = getSchemaContainer( "dummy" ); - LdapContext schemaRoot = getSchemaContext( getService() ); + Dn dn = new Dn( "cn=dummy,ou=schema" ); // Create a schema we will delete createEnabledValidSchema( "dummy" ); @@ -523,18 +523,15 @@ public class MetaSchemaHandlerIT extends assertTrue( IntegrationUtils.isLoaded( getService(), "dummy" ) ); // Delete the schema - schemaRoot.destroySubcontext( "cn=dummy" ); + connection.delete( dn ); assertFalse( isOnDisk( dn ) ); assertFalse( IntegrationUtils.isLoaded( getService(), "dummy" ) ); } - - - /** - * Tests the addition of a new metaSchema object that is disabled + * Tests the addition of a new metaSchema object that is disabled * on addition and has no dependencies. * * @throws Exception on error @@ -543,22 +540,24 @@ public class MetaSchemaHandlerIT extends @Ignore public void testAddDisabledSchemaNoDeps() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - Attributes dummySchema = LdifUtils.createJndiAttributes( + Dn dn = new Dn( "cn=dummy,ou=schema" ); + + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: dummy", MetaSchemaConstants.M_DISABLED_AT, "TRUE" ); - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); assertFalse( IntegrationUtils.isEnabled( getService(), "dummy" ) ); - assertNotNull( schemaRoot.lookup( "cn=dummy" ) ); + assertNotNull( connection.lookup( "cn=dummy,ou=schema" ) ); } /** - * Tests the addition of a new metaSchema object that is disabled + * Tests the addition of a new metaSchema object that is disabled * on addition and has dependencies. * * @throws Exception on error @@ -567,8 +566,10 @@ public class MetaSchemaHandlerIT extends @Ignore public void testAddDisabledSchemaWithDeps() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - Attributes dummySchema = LdifUtils.createJndiAttributes( + Dn dn = new Dn( "cn=dummy,ou=schema" ); + + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: dummy", @@ -576,15 +577,15 @@ public class MetaSchemaHandlerIT extends "m-dependencies: nis", "m-dependencies: core" ); - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); assertFalse( IntegrationUtils.isEnabled( getService(), "dummy" ) ); - assertNotNull( schemaRoot.lookup( "cn=dummy" ) ); + assertNotNull( connection.lookup( "cn=dummy,ou=schema" ) ); } /** - * Tests the rejection of a new metaSchema object that is disabled + * Tests the rejection of a new metaSchema object that is disabled * on addition and has missing dependencies. * * @throws Exception on error @@ -593,8 +594,10 @@ public class MetaSchemaHandlerIT extends @Ignore public void testRejectDisabledSchemaAddWithMissingDeps() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - Attributes dummySchema = LdifUtils.createJndiAttributes( + Dn dn = new Dn( "cn=dummy,ou=schema" ); + + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: dummy", @@ -604,11 +607,11 @@ public class MetaSchemaHandlerIT extends try { - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); - } - catch( OperationNotSupportedException e ) + connection.add( dummySchema ); + } + catch( LdapException e ) { - // expected + // expected } assertFalse( IntegrationUtils.isEnabled( getService(), "dummy" ) ); @@ -616,16 +619,17 @@ public class MetaSchemaHandlerIT extends //noinspection EmptyCatchBlock try { - schemaRoot.lookup( "cn=dummy" ); + connection.lookup( "cn=dummy,ou=schema" ); fail( "schema should not be added to schema partition" ); } - catch( NamingException e ) + catch( LdapException e ) { } } + /** - * Tests the addition of a new metaSchema object that is enabled + * Tests the addition of a new metaSchema object that is enabled * on addition and has no dependencies. * * @throws Exception on error @@ -634,22 +638,24 @@ public class MetaSchemaHandlerIT extends @Ignore public void testAddEnabledSchemaNoDeps() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - Attributes dummySchema = LdifUtils.createJndiAttributes( + Dn dn = new Dn( "cn=dummy,ou=schema" ); + + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass: metaSchema", "cn: dummy" ); - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); assertTrue( IntegrationUtils.isEnabled( getService(), "dummy" ) ); - assertNotNull( schemaRoot.lookup( "cn=dummy" ) ); + assertNotNull( connection.lookup( "cn=dummy,ou=schema" ) ); } /** - * Tests the rejection of a metaSchema object add that is enabled + * Tests the rejection of a metaSchema object add that is enabled * on addition yet has disabled dependencies. * * @throws Exception on error @@ -658,8 +664,10 @@ public class MetaSchemaHandlerIT extends @Ignore public void testRejectEnabledSchemaAddWithDisabledDeps() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - Attributes dummySchema = LdifUtils.createJndiAttributes( + Dn dn = new Dn( "cn=dummy,ou=schema" ); + + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: dummy", @@ -667,12 +675,12 @@ public class MetaSchemaHandlerIT extends try { - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); fail( "should not be able to add enabled schema with deps on disabled schemas" ); } - catch( OperationNotSupportedException e ) + catch( LdapException e ) { - // expected + // expected } assertFalse( IntegrationUtils.isEnabled( getService(), "dummy" ) ); @@ -680,10 +688,10 @@ public class MetaSchemaHandlerIT extends //noinspection EmptyCatchBlock try { - schemaRoot.lookup( "cn=dummy" ); + connection.lookup( "cn=dummy,ou=schema" ); fail( "schema should not be added to schema partition" ); } - catch( NamingException e ) + catch( LdapException e ) { } } @@ -703,14 +711,14 @@ public class MetaSchemaHandlerIT extends @Ignore public void testDeleteSchemaNoDependents() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); + Dn dn = new Dn( "cn=dummy,ou=schema" ); - // add the dummy schema enabled + // add the dummy schema enabled testAddEnabledSchemaNoDeps(); assertTrue( IntegrationUtils.isEnabled( getService(), "dummy" ) ); // delete it now - schemaRoot.destroySubcontext( "cn=dummy" ); + connection.delete( dn ); assertFalse( IntegrationUtils.isEnabled( getService(), "dummy" ) ); } @@ -724,27 +732,23 @@ public class MetaSchemaHandlerIT extends @Ignore public void testRejectSchemaDeleteWithDependents() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - // add the dummy schema enabled testAddEnabledSchemaNoDeps(); assertTrue( IntegrationUtils.isEnabled( getService(), "dummy" ) ); // make the nis schema depend on the dummy schema - ModificationItem[] mods = new ModificationItem[1]; - mods[0] = new ModificationItem( DirContext.ADD_ATTRIBUTE, - new BasicAttribute( "m-dependencies", "dummy" ) ); - schemaRoot.modifyAttributes( "cn=nis", mods ); + connection.modify( "cn=nis,ou=schema", + new DefaultModification( ModificationOperation.ADD_ATTRIBUTE, "m-dependencies", "dummy" ) ); // attempt to delete it now & it should fail try { - schemaRoot.destroySubcontext( "cn=dummy" ); + connection.delete( "cn=dummy,ou=schema" ); fail( "should not be able to delete a schema with dependents" ); } - catch ( OperationNotSupportedException e ) + catch ( LdapException e ) { - // expected + // expected } assertTrue( IntegrationUtils.isEnabled( getService(), "dummy" ) ); @@ -752,7 +756,7 @@ public class MetaSchemaHandlerIT extends /** - * Tests the rejection of a new metaSchema object that is enabled + * Tests the rejection of a new metaSchema object that is enabled * on addition and missing dependencies. * * @throws Exception on error @@ -761,9 +765,10 @@ public class MetaSchemaHandlerIT extends @Ignore public void testRejectEnabledSchemaAddWithMisingDeps() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); + Dn dn = new Dn( "cn=dummy,ou=schema" ); - Attributes dummySchema = LdifUtils.createJndiAttributes( + Entry dummySchema = new DefaultEntry( + dn, "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: dummy", @@ -771,12 +776,12 @@ public class MetaSchemaHandlerIT extends try { - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); fail( "should not be able to add enabled schema with deps on missing schemas" ); } - catch( OperationNotSupportedException e ) + catch( LdapException e ) { - // expected + // expected } assertFalse( IntegrationUtils.isEnabled( getService(), "dummy" ) ); @@ -784,10 +789,10 @@ public class MetaSchemaHandlerIT extends //noinspection EmptyCatchBlock try { - schemaRoot.lookup( "cn=dummy" ); + connection.lookup( "cn=dummy,ou=schema" ); fail( "schema should not be added to schema partition" ); } - catch( NamingException e ) + catch( LdapException e ) { } } @@ -804,54 +809,52 @@ public class MetaSchemaHandlerIT extends @Ignore public void testDisableSchemaWithEnabledDependents() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - // let's enable the test schema and add the dummy schema // as enabled by default and dependends on the test schema // enables the test schema and samba - testEnableExistingSchema(); + testEnableExistingSchema(); - // adds enabled dummy schema that depends on the test schema - Attributes dummySchema = LdifUtils.createJndiAttributes( - "objectClass: top", + // adds enabled dummy schema that depends on the test schema + Dn dn = new Dn( "cn=dummy, ou=schema" ); + + Entry dummySchema = new DefaultEntry( + dn, + "objectClass: top", "objectClass", MetaSchemaConstants.META_SCHEMA_OC, "cn: dummy", "m-dependencies: nis" ); - schemaRoot.createSubcontext( "cn=dummy", dummySchema ); + connection.add( dummySchema ); // check that the nis schema is loaded and the dummy schema is loaded assertTrue( IntegrationUtils.isEnabled( getService(), "nis" ) ); assertTrue( IntegrationUtils.isEnabled( getService(), "dummy" ) ); - // double check and make sure an attribute from that schema is + // double check and make sure an attribute from that schema is // in the AttributeTypeRegistry - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); - // now try to disable the test schema which should fail + // now try to disable the test schema which should fail // since it's dependent, the dummy schema, is enabled - ModificationItem[] mods = new ModificationItem[1]; - Attribute attr = new BasicAttribute( "m-disabled", "TRUE" ); - mods[0] = new ModificationItem( DirContext.REPLACE_ATTRIBUTE, attr ); - try { - schemaRoot.modifyAttributes( "cn=nis", mods ); + connection.modify( "cn=nis,ou=schema", + new DefaultModification( ModificationOperation.REPLACE_ATTRIBUTE, "m-disabled", "TRUE" ) ); fail( "attempt to disable schema with enabled dependents should fail" ); } - catch ( OperationNotSupportedException e ) + catch ( LdapException e ) { - // expected + // expected } - // now test that both schema are still loaded + // now test that both schema are still loaded assertTrue( IntegrationUtils.isEnabled( getService(), "nis" ) ); assertTrue( IntegrationUtils.isEnabled( getService(), "dummy" ) ); - // double check and make sure the test attribute from the test + // double check and make sure the test attribute from the test // schema is still loaded and present within the attr registry - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( UID_NUMBER_ATTR ) ); } @@ -860,7 +863,7 @@ public class MetaSchemaHandlerIT extends // ----------------------------------------------------------------------- /** * Makes sure we can change the name of a schema with entities in it. - * Will use the samba schema which comes out of the box and nothing + * Will use the samba schema which comes out of the box and nothing * depends on. * * @throws Exception on error @@ -869,25 +872,24 @@ public class MetaSchemaHandlerIT extends @Ignore public void testSchemaRenameDisabledSchema() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - schemaRoot.rename( "cn=samba", "cn=foo" ); - assertNotNull( schemaRoot.lookup( "cn=foo" ) ); + connection.rename( "cn=samba,ou=schema", "cn=foo" ); + assertNotNull( connection.lookup( "cn=foo,ou=schema" ) ); // check that there is a samba schema installed and that is is disabled - Attributes attributes = schemaRoot.getAttributes( "cn=foo" ); - assertNotNull( attributes ); - assertTrue( attributes.get( MetaSchemaConstants.M_DISABLED_AT ).contains( "TRUE" ) ); - attributes = schemaRoot.getAttributes( "ou=attributeTypes,cn=foo" ); - assertNotNull( attributes ); - assertTrue( attributes.get( SchemaConstants.OU_AT ).contains( "attributetypes" ) ); + Entry entry = connection.lookup( "cn=foo,ou=schema" ); + assertNotNull( entry ); + assertTrue( entry.get( MetaSchemaConstants.M_DISABLED_AT ).contains( "TRUE" ) ); + entry = connection.lookup( "ou=attributeTypes,cn=foo,ou=schema" ); + assertNotNull( entry ); + assertTrue( entry.get( SchemaConstants.OU_AT ).contains( "attributetypes" ) ); //noinspection EmptyCatchBlock try { - schemaRoot.lookup( "cn=samba" ); + connection.lookup( "cn=samba,ou=schema" ); fail( "the samba schema should not be present after a rename to foo" ); } - catch( NameNotFoundException e ) + catch( LdapException e ) { } } @@ -904,26 +906,25 @@ public class MetaSchemaHandlerIT extends @Ignore public void testRejectSchemaRenameWithDeps() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); try { - schemaRoot.rename( "cn=nis", "cn=foo" ); + connection.rename( "cn=nis,ou=schema", "cn=foo" ); fail( "should not be able to rename nis which has samba as it's dependent" ); } - catch ( OperationNotSupportedException onse ) + catch ( LdapException onse ) { - // expected + // expected } - assertNotNull( schemaRoot.lookup( "cn=nis" ) ); + assertNotNull( connection.lookup( "cn=nis,ou=schema" ) ); //noinspection EmptyCatchBlock try { - schemaRoot.lookup( "cn=foo" ); + connection.lookup( "cn=foo,ou=schema" ); fail( "the foo schema should not be present after rejecting the rename" ); } - catch( NameNotFoundException e ) + catch( LdapException e ) { } } @@ -931,7 +932,7 @@ public class MetaSchemaHandlerIT extends /** * Makes sure we can change the name of a schema with entities in it. - * Will use the samba schema which comes out of the box and nothing + * Will use the samba schema which comes out of the box and nothing * depends on. * * @throws Exception on error @@ -940,24 +941,22 @@ public class MetaSchemaHandlerIT extends @Ignore public void testSchemaRenameEnabledSchema() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - IntegrationUtils.enableSchema( getService(), "samba" ); - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( "sambaNTPassword" ) ); - assertEquals( "samba", getService().getSchemaManager().getAttributeTypeRegistry().getSchemaName( "sambaNTPassword" ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( "sambaNTPassword" ) ); + assertEquals( "samba", schemaManager.getAttributeTypeRegistry().getSchemaName( "sambaNTPassword" ) ); - schemaRoot.rename( "cn=samba", "cn=foo" ); - assertNotNull( schemaRoot.lookup( "cn=foo" ) ); - assertTrue( getService().getSchemaManager().getAttributeTypeRegistry().contains( "sambaNTPassword" ) ); - assertEquals( "foo", getService().getSchemaManager().getAttributeTypeRegistry().getSchemaName( "sambaNTPassword" ) ); + connection.rename( "cn=samba,ou=schema", "cn=foo" ); + assertNotNull( connection.lookup( "cn=foo, ou=schema" ) ); + assertTrue( schemaManager.getAttributeTypeRegistry().contains( "sambaNTPassword" ) ); + assertEquals( "foo", schemaManager.getAttributeTypeRegistry().getSchemaName( "sambaNTPassword" ) ); //noinspection EmptyCatchBlock try { - schemaRoot.lookup( "cn=samba" ); + connection.lookup( "cn=samba, ou=schema" ); fail( "the samba schema should not be present after a rename to foo" ); } - catch( NameNotFoundException e ) + catch( LdapException e ) { } } @@ -967,7 +966,7 @@ public class MetaSchemaHandlerIT extends // Dependency Modify Tests // ----------------------------------------------------------------------- /** - * Checks to make sure the addition of an undefined schema to the dependencies + * Checks to make sure the addition of an undefined schema to the dependencies * of an existing schema fail with an UNWILLING_TO_PERFORM result code. * * @throws Exception on error @@ -976,28 +975,23 @@ public class MetaSchemaHandlerIT extends @Ignore public void testRejectAddBogusDependency() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - - ModificationItem[] mods = new ModificationItem[1]; - Attribute attr = new BasicAttribute( "m-dependencies", "bogus" ); - mods[0] = new ModificationItem( DirContext.ADD_ATTRIBUTE, attr ); - try { - schemaRoot.modifyAttributes( "cn=nis", mods ); + connection.modify( "cn=nis,ou=schema", + new DefaultModification( ModificationOperation.ADD_ATTRIBUTE, "m-dependencies", "bogus" )); fail( "Should not be able to add bogus dependency to schema" ); } - catch ( OperationNotSupportedException onse ) + catch ( LdapException onse ) { - // expected + // expected } } /** - * Checks to make sure the addition of an defined yet disabled schema to the - * dependencies of an existing enabled schema fails with an UNWILLING_TO_PERFORM - * result code. You must enable the dependency to add it or disable the schema + * Checks to make sure the addition of an defined yet disabled schema to the + * dependencies of an existing enabled schema fails with an UNWILLING_TO_PERFORM + * result code. You must enable the dependency to add it or disable the schema * depending on it to add it. * * @throws Exception on error @@ -1006,27 +1000,24 @@ public class MetaSchemaHandlerIT extends @Ignore public void testRejectAddOfDisabledDependencyToEnabledSchema() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); IntegrationUtils.enableSchema( getService(), "nis" ); - ModificationItem[] mods = new ModificationItem[1]; - Attribute attr = new BasicAttribute( "m-dependencies", "mozilla" ); - mods[0] = new ModificationItem( DirContext.ADD_ATTRIBUTE, attr ); try { - schemaRoot.modifyAttributes( "cn=nis", mods ); + connection.modify( "cn=nis,ou=schema", + new DefaultModification( ModificationOperation.ADD_ATTRIBUTE, "m-dependencies", "mozilla" ) ); fail( "Should not be able to add disabled dependency to schema" ); } - catch ( OperationNotSupportedException onse ) + catch ( LdapException onse ) { - // expected + // expected } } /** - * Checks to make sure the addition of an defined yet disabled schema to the - * dependencies of an existing disabled schema succeeds. + * Checks to make sure the addition of an defined yet disabled schema to the + * dependencies of an existing disabled schema succeeds. * * @throws Exception on error */ @@ -1034,19 +1025,17 @@ public class MetaSchemaHandlerIT extends @Ignore public void testAddOfDisabledDependencyToDisabledSchema() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - ModificationItem[] mods = new ModificationItem[1]; - Attribute attr = new BasicAttribute( "m-dependencies", "mozilla" ); - mods[0] = new ModificationItem( DirContext.ADD_ATTRIBUTE, attr ); - schemaRoot.modifyAttributes( "cn=nis", mods ); - Attributes attrs = schemaRoot.getAttributes( "cn=nis" ); - Attribute dependencies = attrs.get( "m-dependencies" ); + connection.modify( "cn=nis,ou=schema", + new DefaultModification( ModificationOperation.ADD_ATTRIBUTE, "m-dependencies", "mozilla" ) ); + + Entry entry = connection.lookup( "cn=nis,ou=schema" ); + Attribute dependencies = entry.get( "m-dependencies" ); assertTrue( dependencies.contains( "mozilla" ) ); } /** - * Checks to make sure the addition of an defined yet enabled schema to the + * Checks to make sure the addition of an defined yet enabled schema to the * dependencies of an existing disabled schema succeeds. * * @throws Exception on error @@ -1055,13 +1044,10 @@ public class MetaSchemaHandlerIT extends @Ignore public void testAddOfEnabledDependencyToDisabledSchema() throws Exception { - LdapContext schemaRoot = getSchemaContext( getService() ); - ModificationItem[] mods = new ModificationItem[1]; - Attribute attr = new BasicAttribute( "m-dependencies", "java" ); - mods[0] = new ModificationItem( DirContext.ADD_ATTRIBUTE, attr ); - schemaRoot.modifyAttributes( "cn=nis", mods ); - Attributes attrs = schemaRoot.getAttributes( "cn=nis" ); - Attribute dependencies = attrs.get( "m-dependencies" ); + connection.modify( "cn=nis,ou=schema", + new DefaultModification( ModificationOperation.ADD_ATTRIBUTE, "m-dependencies", "java" ) ); + Entry entry = connection.lookup( "cn=nis,ou=schema" ); + Attribute dependencies = entry.get( "m-dependencies" ); assertTrue( dependencies.contains( "java" ) ); } } Modified: directory/apacheds/branches/apacheds-osgi/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandlerIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-osgi/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandlerIT.java?rev=1203604&r1=1203603&r2=1203604&view=diff ============================================================================== --- directory/apacheds/branches/apacheds-osgi/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandlerIT.java (original) +++ directory/apacheds/branches/apacheds-osgi/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandlerIT.java Fri Nov 18 11:21:55 2011 @@ -20,7 +20,6 @@ package org.apache.directory.server.core.schema; -import static org.apache.directory.server.core.integ.IntegrationUtils.getSchemaContext; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -29,26 +28,22 @@ import static org.junit.Assert.fail; import java.io.ByteArrayOutputStream; import java.io.InputStream; -import javax.naming.InvalidNameException; -import javax.naming.NameNotFoundException; -import javax.naming.OperationNotSupportedException; -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.ModificationItem; - +import org.apache.directory.ldap.client.api.LdapConnection; import org.apache.directory.server.core.annotations.CreateDS; import org.apache.directory.server.core.integ.FrameworkRunner; +import org.apache.directory.server.core.integ.IntegrationUtils; +import org.apache.directory.shared.ldap.model.entry.DefaultEntry; +import org.apache.directory.shared.ldap.model.entry.DefaultModification; +import org.apache.directory.shared.ldap.model.entry.Entry; +import org.apache.directory.shared.ldap.model.entry.Modification; +import org.apache.directory.shared.ldap.model.entry.ModificationOperation; import org.apache.directory.shared.ldap.model.exception.LdapException; -import org.apache.directory.shared.ldap.model.ldif.LdifUtils; import org.apache.directory.shared.ldap.model.name.Dn; +import org.apache.directory.shared.ldap.model.name.Rdn; import org.apache.directory.shared.ldap.model.schema.LdapSyntax; import org.apache.directory.shared.ldap.model.schema.SchemaManager; import org.apache.directory.shared.ldap.model.schema.SyntaxChecker; import org.apache.directory.shared.ldap.model.schema.syntaxCheckers.OctetStringSyntaxChecker; -import org.apache.directory.shared.ldap.util.JndiUtils; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -68,12 +63,14 @@ public class MetaSyntaxCheckerHandlerIT private static final String OID = "1.3.6.1.4.1.18060.0.4.0.0.100000"; private static final String NEW_OID = "1.3.6.1.4.1.18060.0.4.0.0.100001"; - public static SchemaManager schemaManager; - + private static LdapConnection connection; + private static SchemaManager schemaManager; @Before - public void setup() + public void setup() throws Exception { + super.init(); + connection = IntegrationUtils.getAdminConnection( getService() ); schemaManager = getService().getSchemaManager(); } @@ -84,13 +81,18 @@ public class MetaSyntaxCheckerHandlerIT @Test public void testAddSyntaxCheckerToEnabledSchema() throws Exception { - Attributes attrs = LdifUtils.createJndiAttributes( "objectClass: top", "objectClass: metaTop", - "objectClass: metaSyntaxChecker", "m-fqcn", OctetStringSyntaxChecker.class.getName(), "m-oid", OID, + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); + + Entry entry = new DefaultEntry( + dn, + "objectClass: top", + "objectClass: metaTop", + "objectClass: metaSyntaxChecker", + "m-fqcn", OctetStringSyntaxChecker.class.getName(), + "m-oid", OID, "m-description: A test syntaxChecker" ); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); - getSchemaContext( getService() ).createSubcontext( JndiUtils.toName( dn ), attrs ); + connection.add( entry ); assertTrue( schemaManager.getSyntaxCheckerRegistry().contains( OID ) ); assertEquals( schemaManager.getSyntaxCheckerRegistry().getSchemaName( OID ), "apachemeta" ); @@ -103,14 +105,19 @@ public class MetaSyntaxCheckerHandlerIT @Test public void testAddSyntaxCheckerToDisabledSchema() throws Exception { - Attributes attrs = LdifUtils.createJndiAttributes( "objectClass: top", "objectClass: metaTop", - "objectClass: metaSyntaxChecker", "m-fqcn", OctetStringSyntaxChecker.class.getName(), "m-oid", OID, + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=nis,ou=schema" ); + + Entry entry = new DefaultEntry( + dn, + "objectClass: top", + "objectClass: metaTop", + "objectClass: metaSyntaxChecker", + "m-fqcn", OctetStringSyntaxChecker.class.getName(), + "m-oid", OID, "m-description: A test syntaxChecker" ); // nis is by default inactive - Dn dn = getSyntaxCheckerContainer( "nis" ); - dn = dn.add( "m-oid" + "=" + OID ); - getSchemaContext( getService() ).createSubcontext( JndiUtils.toName( dn ), attrs ); + connection.add( entry ); assertFalse( "adding new syntaxChecker to disabled schema should not register it into the registries", schemaManager.getSyntaxCheckerRegistry().contains( OID ) ); @@ -121,20 +128,23 @@ public class MetaSyntaxCheckerHandlerIT @Test public void testAddSyntaxCheckerToUnloadedSchema() throws Exception { - Attributes attrs = LdifUtils.createJndiAttributes( "objectClass: top", "objectClass: metaTop", - "objectClass: metaSyntaxChecker", "m-fqcn", OctetStringSyntaxChecker.class.getName(), "m-oid", OID, + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=notloaded,ou=schema" ); + Entry entry = new DefaultEntry( + dn, + "objectClass: top", + "objectClass: metaTop", + "objectClass: metaSyntaxChecker", + "m-fqcn", OctetStringSyntaxChecker.class.getName(), + "m-oid", OID, "m-description: A test syntaxChecker" ); // nis is by default inactive - Dn dn = getSyntaxCheckerContainer( "notloaded" ); - dn = dn.add( "m-oid" + "=" + OID ); - try { - getSchemaContext( getService() ).createSubcontext( JndiUtils.toName( dn ), attrs ); + connection.add( entry ); fail( "Should not be there" ); } - catch ( NameNotFoundException nnfe ) + catch ( LdapException le ) { // Expected result. } @@ -156,14 +166,19 @@ public class MetaSyntaxCheckerHandlerIT out.write( in.read() ); } - Attributes attrs = LdifUtils.createJndiAttributes( "objectClass: top", "objectClass: metaTop", - "objectClass: metaSyntaxChecker", "m-fqcn", - "org.apache.directory.shared.ldap.model.schema.syntaxCheckers.DummySyntaxChecker", "m-bytecode", out - .toByteArray(), "m-oid", OID, "m-description: A test syntaxChecker" ); - - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); - getSchemaContext( getService() ).createSubcontext( JndiUtils.toName( dn ), attrs ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); + + Entry entry = new DefaultEntry( + dn, + "objectClass: top", + "objectClass: metaTop", + "objectClass: metaSyntaxChecker", + "m-fqcn", "org.apache.directory.shared.ldap.model.schema.syntaxCheckers.DummySyntaxChecker", + "m-bytecode", out.toByteArray(), + "m-oid", OID, + "m-description: A test syntaxChecker" ); + + connection.add( entry ); assertTrue( schemaManager.getSyntaxCheckerRegistry().contains( OID ) ); assertEquals( schemaManager.getSyntaxCheckerRegistry().getSchemaName( OID ), "apachemeta" ); @@ -184,14 +199,19 @@ public class MetaSyntaxCheckerHandlerIT out.write( in.read() ); } - Attributes attrs = LdifUtils.createJndiAttributes("objectClass: top", "objectClass: metaTop", - "objectClass: metaSyntaxChecker", "m-fqcn", - "org.apache.directory.shared.ldap.model.schema.syntaxCheckers.DummySyntaxChecker", "m-bytecode", out - .toByteArray(), "m-oid", OID, "m-description: A test syntaxChecker"); - - Dn dn = getSyntaxCheckerContainer( "nis" ); - dn = dn.add( "m-oid" + "=" + OID ); - getSchemaContext( getService() ).createSubcontext( JndiUtils.toName( dn ), attrs ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=nis,ou=schema" ); + + Entry entry = new DefaultEntry( + dn, + "objectClass: top", + "objectClass: metaTop", + "objectClass: metaSyntaxChecker", + "m-fqcn", "org.apache.directory.shared.ldap.model.schema.syntaxCheckers.DummySyntaxChecker", + "m-bytecode", out.toByteArray(), + "m-oid", OID, + "m-description: A test syntaxChecker"); + + connection.add( entry ); assertFalse( schemaManager.getSyntaxCheckerRegistry().contains( OID ) ); assertTrue( isOnDisk( dn ) ); @@ -201,15 +221,15 @@ public class MetaSyntaxCheckerHandlerIT @Test public void testDeleteSyntaxCheckerFromEnabledSchema() throws Exception { - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); + testAddSyntaxCheckerToEnabledSchema(); assertTrue( "syntaxChecker should be removed from the registry after being deleted", schemaManager .getSyntaxCheckerRegistry().contains( OID ) ); assertTrue( isOnDisk( dn ) ); - getSchemaContext( getService() ).destroySubcontext( JndiUtils.toName( dn ) ); + connection.delete( dn ); assertFalse( "syntaxChecker should be removed from the registry after being deleted", schemaManager .getSyntaxCheckerRegistry().contains( OID ) ); @@ -230,15 +250,15 @@ public class MetaSyntaxCheckerHandlerIT @Test public void testDeleteSyntaxCheckerFromDisabledSchema() throws Exception { - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); + testAddSyntaxCheckerToEnabledSchema(); assertTrue( "syntaxChecker should be removed from the registry after being deleted", schemaManager .getSyntaxCheckerRegistry().contains( OID ) ); assertTrue( isOnDisk( dn ) ); - getSchemaContext( getService() ).destroySubcontext( JndiUtils.toName( dn ) ); + connection.delete( dn ); assertFalse( "syntaxChecker should be removed from the registry after being deleted", schemaManager .getSyntaxCheckerRegistry().contains( OID ) ); @@ -260,13 +280,12 @@ public class MetaSyntaxCheckerHandlerIT @Ignore public void testRenameSyntaxChecker() throws Exception { - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); + testAddSyntaxCheckerToEnabledSchema(); - Dn newdn = getSyntaxCheckerContainer( "apachemeta" ); - newdn = newdn.add( "m-oid" + "=" + NEW_OID ); - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( newdn ) ); + Rdn rdn = new Rdn( "m-oid=" + NEW_OID ); + connection.rename( dn, rdn ); assertFalse( "old syntaxChecker OID should be removed from the registry after being renamed", schemaManager .getSyntaxCheckerRegistry().contains( OID ) ); @@ -293,13 +312,11 @@ public class MetaSyntaxCheckerHandlerIT { testAddSyntaxCheckerToEnabledSchema(); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); - Dn newdn = getSyntaxCheckerContainer( "apache" ); - newdn = newdn.add( "m-oid" + "=" + OID ); + Dn newDn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apache,ou=schema" ); - getSchemaContext( getService() ).rename( JndiUtils.toName(dn), JndiUtils.toName( newdn ) ); + connection.move( dn, newDn ); assertTrue( "syntaxChecker OID should still be present", schemaManager.getSyntaxCheckerRegistry() .contains( OID ) ); @@ -318,13 +335,11 @@ public class MetaSyntaxCheckerHandlerIT { testAddSyntaxCheckerToEnabledSchema(); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); - Dn newdn = getSyntaxCheckerContainer( "apache" ); - newdn = newdn.add( "m-oid" + "=" + NEW_OID ); + Dn newDn = new Dn( "m-oid=" + NEW_OID + ",ou=syntaxCheckers,cn=apache,ou=schema" ); - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( newdn ) ); + connection.moveAndRename( dn, newDn ); assertFalse( "old syntaxChecker OID should NOT be present", schemaManager.getSyntaxCheckerRegistry().contains( OID ) ); @@ -346,13 +361,11 @@ public class MetaSyntaxCheckerHandlerIT { testAddSyntaxCheckerToEnabledSchema(); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); - ModificationItem[] mods = new ModificationItem[1]; - Attribute attr = new BasicAttribute( "m-fqcn", BogusSyntaxChecker.class.getName() ); - mods[0] = new ModificationItem( DirContext.REPLACE_ATTRIBUTE, attr ); - getSchemaContext( getService() ).modifyAttributes( JndiUtils.toName( dn ), mods ); + Modification mod = new DefaultModification( + ModificationOperation.REPLACE_ATTRIBUTE, "m-fqcn", BogusSyntaxChecker.class.getName() ); + connection.modify( dn, mod ); assertTrue( "syntaxChecker OID should still be present", schemaManager.getSyntaxCheckerRegistry() .contains( OID ) ); @@ -371,12 +384,11 @@ public class MetaSyntaxCheckerHandlerIT { testAddSyntaxCheckerToEnabledSchema(); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); - Attributes mods = new BasicAttributes( true ); - mods.put( "m-fqcn", BogusSyntaxChecker.class.getName() ); - getSchemaContext( getService() ).modifyAttributes( JndiUtils.toName( dn ), DirContext.REPLACE_ATTRIBUTE, mods ); + Modification mod = new DefaultModification( + ModificationOperation.REPLACE_ATTRIBUTE, "m-fqcn", BogusSyntaxChecker.class.getName() ); + connection.modify( dn, mod ); assertTrue( "syntaxChecker OID should still be present", schemaManager.getSyntaxCheckerRegistry() .contains( OID ) ); @@ -395,38 +407,41 @@ public class MetaSyntaxCheckerHandlerIT @Test public void testDeleteSyntaxCheckerWhenInUse() throws Exception { - Dn scDn = getSyntaxCheckerContainer( "apachemeta" ); - scDn = scDn.add( "m-oid" + "=" + OID ); + Dn scDn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); // Create a new SyntaxChecker testAddSyntaxCheckerToEnabledSchema(); assertTrue( isOnDisk( scDn ) ); - assertTrue( getService().getSchemaManager().getSyntaxCheckerRegistry().contains( OID ) ); + assertTrue( schemaManager.getSyntaxCheckerRegistry().contains( OID ) ); // Create a Syntax using this comparator - Attributes attrs = LdifUtils.createJndiAttributes( "objectClass: top", "objectClass: metaTop", - "objectClass: metaSyntax", "m-oid", OID, "m-description: test" ); + Dn sDn = new Dn( "m-oid=" + OID + ",ou=syntaxes,cn=apachemeta,ou=schema" ); - Dn sDn = getSyntaxContainer( "apachemeta" ); - sDn = sDn.add( "m-oid" + "=" + OID ); + Entry entry = new DefaultEntry( + sDn, + "objectClass: top", + "objectClass: metaTop", + "objectClass: metaSyntax", + "m-oid", OID, + "m-description: test" ); // Pre-checks assertFalse( isOnDisk( sDn ) ); - assertFalse( getService().getSchemaManager().getLdapSyntaxRegistry().contains( OID ) ); + assertFalse( schemaManager.getLdapSyntaxRegistry().contains( OID ) ); // Syntax Addition - getSchemaContext( getService() ).createSubcontext( JndiUtils.toName( sDn ), attrs ); + connection.add( entry ); // Post-checks assertTrue( isOnDisk( sDn ) ); - assertTrue( getService().getSchemaManager().getLdapSyntaxRegistry().contains( OID ) ); + assertTrue( schemaManager.getLdapSyntaxRegistry().contains( OID ) ); try { - getSchemaContext( getService() ).destroySubcontext( JndiUtils.toName( scDn ) ); + connection.delete( scDn ); fail( "should not be able to delete a syntaxChecker in use" ); } - catch ( OperationNotSupportedException e ) + catch ( LdapException e ) { } @@ -442,18 +457,15 @@ public class MetaSyntaxCheckerHandlerIT testAddSyntaxCheckerToEnabledSchema(); schemaManager.getLdapSyntaxRegistry().register( new DummySyntax() ); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); - - Dn newdn = getSyntaxCheckerContainer( "apache" ); - newdn = newdn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); + Dn newDn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apache,ou=schema" ); try { - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( newdn ) ); + connection.move( dn, newDn ); fail( "should not be able to move a syntaxChecker in use" ); } - catch ( OperationNotSupportedException e ) + catch ( LdapException e ) { } @@ -471,18 +483,15 @@ public class MetaSyntaxCheckerHandlerIT testAddSyntaxCheckerToEnabledSchema(); schemaManager.getLdapSyntaxRegistry().register( new DummySyntax() ); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); - - Dn newdn = getSyntaxCheckerContainer( "apache" ); - newdn = newdn.add( "m-oid" + "=" + NEW_OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); + Dn newDn = new Dn( "m-oid=" + NEW_OID + ",ou=syntaxCheckers,cn=apache,ou=schema" ); try { - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( newdn ) ); + connection.move( dn, newDn ); fail( "should not be able to move a syntaxChecker in use" ); } - catch ( OperationNotSupportedException e ) + catch ( LdapException e ) { } @@ -497,20 +506,19 @@ public class MetaSyntaxCheckerHandlerIT @Ignore public void testRenameSyntaxCheckerWhenInUse() throws Exception { - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); + testAddSyntaxCheckerToEnabledSchema(); schemaManager.getLdapSyntaxRegistry().register( new DummySyntax() ); - Dn newdn = getSyntaxCheckerContainer( "apachemeta" ); - newdn = newdn.add( "m-oid" + "=" + NEW_OID ); + Rdn rdn = new Rdn( "m-oid=" + NEW_OID ); try { - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( newdn ) ); + connection.rename( dn, rdn ); fail( "should not be able to rename a syntaxChecker in use" ); } - catch ( OperationNotSupportedException e ) + catch ( LdapException e ) { } @@ -531,18 +539,16 @@ public class MetaSyntaxCheckerHandlerIT { testAddSyntaxCheckerToEnabledSchema(); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); - Dn top = new Dn(); - top.add( "m-oid" + "=" + OID ); + Dn top = new Dn( "m-oid=" + OID ); try { - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( top ) ); + connection.move( dn, top ); fail( "should not be able to move a syntaxChecker up to ou=schema" ); } - catch ( InvalidNameException e ) + catch ( LdapException e ) { } @@ -557,18 +563,16 @@ public class MetaSyntaxCheckerHandlerIT { testAddSyntaxCheckerToEnabledSchema(); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); - Dn newdn = new Dn( "ou=comparators,cn=apachemeta" ); - newdn = newdn.add( "m-oid" + "=" + OID ); + Dn newDn = new Dn( "m-oid=" + OID + ",ou=comparators,cn=apachemeta,ou=schema" ); try { - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( newdn ) ); + connection.move( dn, newDn ); fail( "should not be able to move a syntaxChecker into comparators container" ); } - catch ( InvalidNameException e ) + catch ( LdapException e ) { } @@ -583,14 +587,12 @@ public class MetaSyntaxCheckerHandlerIT { testAddSyntaxCheckerToEnabledSchema(); - Dn dn = getSyntaxCheckerContainer( "apachemeta" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); // nis is inactive by default - Dn newdn = getSyntaxCheckerContainer( "nis" ); - newdn = newdn.add( "m-oid" + "=" + OID ); + Dn newDn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=nis,ou=schema" ); - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( newdn ) ); + connection.move( dn, newDn ); assertFalse( "syntaxChecker OID should no longer be present", schemaManager.getSyntaxCheckerRegistry() .contains( OID ) ); @@ -604,16 +606,14 @@ public class MetaSyntaxCheckerHandlerIT testAddSyntaxCheckerToDisabledSchema(); // nis is inactive by default - Dn dn = getSyntaxCheckerContainer( "nis" ); - dn = dn.add( "m-oid" + "=" + OID ); + Dn dn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=nis,ou=schema" ); assertFalse( "syntaxChecker OID should NOT be present when added to disabled nis schema", schemaManager .getSyntaxCheckerRegistry().contains( OID ) ); - Dn newdn = getSyntaxCheckerContainer( "apachemeta" ); - newdn = newdn.add( "m-oid" + "=" + OID ); + Dn newDn = new Dn( "m-oid=" + OID + ",ou=syntaxCheckers,cn=apachemeta,ou=schema" ); - getSchemaContext( getService() ).rename( JndiUtils.toName( dn ), JndiUtils.toName( newdn ) ); + connection.move( dn, newDn ); assertTrue( "syntaxChecker OID should be present when moved to enabled schema", schemaManager .getSyntaxCheckerRegistry().contains( OID ) );