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 2009/11/17 18:38:54 UTC
svn commit: r881401 - in
/directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema:
MetaAttributeTypeHandlerIT.java MetaComparatorHandlerIT.java
Author: elecharny
Date: Tue Nov 17 17:38:53 2009
New Revision: 881401
URL: http://svn.apache.org/viewvc?rev=881401&view=rev
Log:
Fixed tests to work with the latest modifications on the Handlers
Modified:
directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java
directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaComparatorHandlerIT.java
Modified: directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java?rev=881401&r1=881400&r2=881401&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java Tue Nov 17 17:38:53 2009
@@ -263,83 +263,34 @@
assertFalse( isOnDisk( dn ) );
}
-
+
@Test
- public void testRenameAttributeType() throws Exception
+ public void testDeleteAttributeTypeWhenInUse() throws Exception
{
testAddAttributeTypeToEnabledSchema();
- LdapContext schemaRoot = getSchemaContext( service );
LdapDN dn = getAttributeTypeContainer( "apachemeta" );
dn.add( "m-oid=" + OID );
-
- LdapDN newdn = getAttributeTypeContainer( "apachemeta" );
- newdn.add( "m-oid=" + NEW_OID );
- schemaRoot.rename( dn, newdn );
-
- assertFalse( "old attributeType OID should be removed from the registry after being renamed",
- service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
+ addDependeeAttributeType();
try
{
- service.getSchemaManager().getAttributeTypeRegistry().lookup( OID );
- fail( "attributeType lookup should fail after renaming the attributeType" );
+ getSchemaContext( service ).destroySubcontext( dn );
+ fail( "should not be able to delete a attributeType in use" );
}
- catch( NamingException e )
+ catch( LdapOperationNotSupportedException e )
{
+ assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- assertTrue( service.getSchemaManager().getAttributeTypeRegistry().contains( NEW_OID ) );
- }
-
-
- @Test
- @Ignore
- public void testMoveAttributeType() throws Exception
- {
- testAddAttributeTypeToEnabledSchema();
-
- LdapDN dn = getAttributeTypeContainer( "apachemeta" );
- dn.add( "m-oid=" + OID );
-
- LdapDN newdn = getAttributeTypeContainer( "apache" );
- newdn.add( "m-oid=" + OID );
-
- getSchemaContext( service ).rename( dn, newdn );
-
- assertTrue( "attributeType OID should still be present",
- service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
-
- assertEquals( "attributeType schema should be set to apache not apachemeta",
- service.getSchemaManager().getAttributeTypeRegistry().getSchemaName( OID ), "apache" );
- }
-
-
- @Test
- @Ignore
- public void testMoveAttributeTypeAndChangeRdn() throws Exception
- {
- testAddAttributeTypeToEnabledSchema();
-
- LdapDN dn = getAttributeTypeContainer( "apachemeta" );
- dn.add( "m-oid=" + OID );
-
- LdapDN newdn = getAttributeTypeContainer( "apache" );
- newdn.add( "m-oid=" + NEW_OID );
-
- getSchemaContext( service ).rename( dn, newdn );
-
- assertFalse( "old attributeType OID should NOT be present",
+ assertTrue( "attributeType should still be in the registry after delete failure",
service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
-
- assertTrue( "new attributeType OID should be present",
- service.getSchemaManager().getAttributeTypeRegistry().contains( NEW_OID ) );
-
- assertEquals( "attributeType with new oid should have schema set to apache NOT apachemeta",
- service.getSchemaManager().getAttributeTypeRegistry().getSchemaName( NEW_OID ), "apache" );
}
-
+
+ // ----------------------------------------------------------------------
+ // Test Modify operation
+ // ----------------------------------------------------------------------
@Test
public void testModifyAttributeTypeWithModificationItems() throws Exception
{
@@ -401,146 +352,114 @@
// ----------------------------------------------------------------------
- // Test move, rename, and delete when a MR exists and uses the Normalizer
+ // Test Rename operation
// ----------------------------------------------------------------------
-
-
- private void addDependeeAttributeType() throws Exception
- {
- Attributes attrs = new BasicAttributes( true );
- Attribute oc = new BasicAttribute( "objectClass", "top" );
- oc.add( "metaTop" );
- oc.add( "metaAttributeType" );
- attrs.put( oc );
- attrs.put( "m-oid", DEPENDEE_OID );
- attrs.put( "m-syntax", SchemaConstants.INTEGER_SYNTAX );
- attrs.put( "m-description", DESCRIPTION0 );
- attrs.put( "m-equality", "caseIgnoreMatch" );
- attrs.put( "m-singleValue", "FALSE" );
- attrs.put( "m-usage", "directoryOperation" );
- attrs.put( "m-supAttributeType", OID );
-
- LdapDN dn = getAttributeTypeContainer( "apachemeta" );
- dn.add( "m-oid=" + DEPENDEE_OID );
- getSchemaContext( service ).createSubcontext( dn, attrs );
-
- assertTrue( service.getSchemaManager().getAttributeTypeRegistry().contains( DEPENDEE_OID ) );
- assertEquals( service.getSchemaManager().getAttributeTypeRegistry().getSchemaName( DEPENDEE_OID ), "apachemeta" );
- }
-
-
@Test
- public void testDeleteAttributeTypeWhenInUse() throws Exception
+ public void testRenameAttributeType() throws Exception
{
testAddAttributeTypeToEnabledSchema();
+ LdapContext schemaRoot = getSchemaContext( service );
LdapDN dn = getAttributeTypeContainer( "apachemeta" );
dn.add( "m-oid=" + OID );
- addDependeeAttributeType();
+
+ LdapDN newdn = getAttributeTypeContainer( "apachemeta" );
+ newdn.add( "m-oid=" + NEW_OID );
+ schemaRoot.rename( dn, newdn );
+
+ assertFalse( "old attributeType OID should be removed from the registry after being renamed",
+ service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
try
{
- getSchemaContext( service ).destroySubcontext( dn );
- fail( "should not be able to delete a attributeType in use" );
+ service.getSchemaManager().getAttributeTypeRegistry().lookup( OID );
+ fail( "attributeType lookup should fail after renaming the attributeType" );
}
- catch( LdapOperationNotSupportedException e )
+ catch( NamingException e )
{
- assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- assertTrue( "attributeType should still be in the registry after delete failure",
- service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
+ assertTrue( service.getSchemaManager().getAttributeTypeRegistry().contains( NEW_OID ) );
}
-
-
+
+
@Test
- @Ignore
- public void testMoveAttributeTypeWhenInUse() throws Exception
+ public void testRenameAttributeTypeWhenInUse() throws Exception
{
testAddAttributeTypeToEnabledSchema();
- addDependeeAttributeType();
-
+
LdapDN dn = getAttributeTypeContainer( "apachemeta" );
dn.add( "m-oid=" + OID );
-
- LdapDN newdn = getAttributeTypeContainer( "apache" );
- newdn.add( "m-oid=" + OID );
+ addDependeeAttributeType();
+
+ LdapDN newdn = getAttributeTypeContainer( "apachemeta" );
+ newdn.add( "m-oid=" + NEW_OID );
try
{
getSchemaContext( service ).rename( dn, newdn );
- fail( "should not be able to move a attributeType in use" );
+ fail( "should not be able to rename a attributeType in use" );
}
catch( LdapOperationNotSupportedException e )
{
assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- assertTrue( "attributeType should still be in the registry after move failure",
+ assertTrue( "attributeType should still be in the registry after rename failure",
service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
}
+ // ----------------------------------------------------------------------
+ // Test Move operation
+ // ----------------------------------------------------------------------
@Test
@Ignore
- public void testMoveAttributeTypeAndChangeRdnWhenInUse() throws Exception
+ public void testMoveAttributeType() throws Exception
{
testAddAttributeTypeToEnabledSchema();
- addDependeeAttributeType();
LdapDN dn = getAttributeTypeContainer( "apachemeta" );
dn.add( "m-oid=" + OID );
LdapDN newdn = getAttributeTypeContainer( "apache" );
- newdn.add( "m-oid=" + NEW_OID );
+ newdn.add( "m-oid=" + OID );
- try
- {
- getSchemaContext( service ).rename( dn, newdn );
- fail( "should not be able to move a attributeType in use" );
- }
- catch( LdapOperationNotSupportedException e )
- {
- assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
- }
+ getSchemaContext( service ).rename( dn, newdn );
- assertTrue( "attributeType should still be in the registry after move failure",
- service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
+ assertTrue( "attributeType OID should still be present",
+ service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
+
+ assertEquals( "attributeType schema should be set to apache not apachemeta",
+ service.getSchemaManager().getAttributeTypeRegistry().getSchemaName( OID ), "apache" );
}
-
+
@Test
- public void testRenameAttributeTypeWhenInUse() throws Exception
+ @Ignore
+ public void testMoveAttributeTypeAndChangeRdn() throws Exception
{
testAddAttributeTypeToEnabledSchema();
-
+
LdapDN dn = getAttributeTypeContainer( "apachemeta" );
dn.add( "m-oid=" + OID );
- addDependeeAttributeType();
-
- LdapDN newdn = getAttributeTypeContainer( "apachemeta" );
+
+ LdapDN newdn = getAttributeTypeContainer( "apache" );
newdn.add( "m-oid=" + NEW_OID );
- try
- {
- getSchemaContext( service ).rename( dn, newdn );
- fail( "should not be able to rename a attributeType in use" );
- }
- catch( LdapOperationNotSupportedException e )
- {
- assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
- }
+ getSchemaContext( service ).rename( dn, newdn );
- assertTrue( "attributeType should still be in the registry after rename failure",
+ assertFalse( "old attributeType OID should NOT be present",
service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
+
+ assertTrue( "new attributeType OID should be present",
+ service.getSchemaManager().getAttributeTypeRegistry().contains( NEW_OID ) );
+
+ assertEquals( "attributeType with new oid should have schema set to apache NOT apachemeta",
+ service.getSchemaManager().getAttributeTypeRegistry().getSchemaName( NEW_OID ), "apache" );
}
- // ----------------------------------------------------------------------
- // Let's try some freaky stuff
- // ----------------------------------------------------------------------
-
-
@Test
@Ignore
public void testMoveAttributeTypeToTop() throws Exception
@@ -615,6 +534,91 @@
}
+ @Test
+ @Ignore
+ public void testMoveAttributeTypeWhenInUse() throws Exception
+ {
+ testAddAttributeTypeToEnabledSchema();
+ addDependeeAttributeType();
+
+ LdapDN dn = getAttributeTypeContainer( "apachemeta" );
+ dn.add( "m-oid=" + OID );
+
+ LdapDN newdn = getAttributeTypeContainer( "apache" );
+ newdn.add( "m-oid=" + OID );
+
+ try
+ {
+ getSchemaContext( service ).rename( dn, newdn );
+ fail( "should not be able to move a attributeType in use" );
+ }
+ catch( LdapOperationNotSupportedException e )
+ {
+ assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
+ }
+
+ assertTrue( "attributeType should still be in the registry after move failure",
+ service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
+ }
+
+
+ @Test
+ @Ignore
+ public void testMoveAttributeTypeAndChangeRdnWhenInUse() throws Exception
+ {
+ testAddAttributeTypeToEnabledSchema();
+ addDependeeAttributeType();
+
+ LdapDN dn = getAttributeTypeContainer( "apachemeta" );
+ dn.add( "m-oid=" + OID );
+
+ LdapDN newdn = getAttributeTypeContainer( "apache" );
+ newdn.add( "m-oid=" + NEW_OID );
+
+ try
+ {
+ getSchemaContext( service ).rename( dn, newdn );
+ fail( "should not be able to move a attributeType in use" );
+ }
+ catch( LdapOperationNotSupportedException e )
+ {
+ assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
+ }
+
+ assertTrue( "attributeType should still be in the registry after move failure",
+ service.getSchemaManager().getAttributeTypeRegistry().contains( OID ) );
+ }
+
+
+ // ----------------------------------------------------------------------
+ // Test move, rename, and delete when a MR exists and uses the Normalizer
+ // ----------------------------------------------------------------------
+ private void addDependeeAttributeType() throws Exception
+ {
+ Attributes attrs = AttributeUtils.createAttributes(
+ "objectClass: top",
+ "objectClass: metaTop",
+ "objectClass: metaAttributeType",
+ "m-oid", DEPENDEE_OID,
+ "m-syntax", SchemaConstants.INTEGER_SYNTAX,
+ "m-description", DESCRIPTION0,
+ "m-equality: caseIgnoreMatch",
+ "m-singleValue: FALSE",
+ "m-usage: directryOperation",
+ "m-supAttributeType", OID );
+
+ LdapDN dn = getAttributeTypeContainer( "apachemeta" );
+ dn.add( "m-oid=" + DEPENDEE_OID );
+ getSchemaContext( service ).createSubcontext( dn, attrs );
+
+ assertTrue( service.getSchemaManager().getAttributeTypeRegistry().contains( DEPENDEE_OID ) );
+ assertEquals( service.getSchemaManager().getAttributeTypeRegistry().getSchemaName( DEPENDEE_OID ), "apachemeta" );
+ }
+
+
+ // ----------------------------------------------------------------------
+ // Let's try some freaky stuff
+ // ----------------------------------------------------------------------
/*
@Test
@Ignore
Modified: directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaComparatorHandlerIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaComparatorHandlerIT.java?rev=881401&r1=881400&r2=881401&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaComparatorHandlerIT.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaComparatorHandlerIT.java Tue Nov 17 17:38:53 2009
@@ -75,6 +75,17 @@
public static DirectoryService service;
public static SchemaManager schemaManager;
+ class DummyMR extends MatchingRule
+ {
+ public DummyMR()
+ {
+ super( OID );
+ addName( "dummy" );
+ }
+
+ private static final long serialVersionUID = 1L;
+ }
+
@Before
public void setup()
@@ -342,87 +353,40 @@
@Test
- public void testRenameComparator() throws Exception
+ public void testDeleteComparatorWhenInUse() throws Exception
{
LdapDN dn = getComparatorContainer( "apachemeta" );
dn.add( "m-oid" + "=" + OID );
+
testAddComparatorToEnabledSchema();
- LdapDN newdn = getComparatorContainer( "apachemeta" );
- newdn.add( "m-oid" + "=" + NEW_OID );
- getSchemaContext( service ).rename( dn, newdn );
-
- assertFalse( "old comparator OID should be removed from the registry after being renamed",
- schemaManager.getComparatorRegistry().contains( OID ) );
+ MatchingRule mr = new DummyMR();
+ schemaManager.register( mr );
+
+ // Pre-checks
+ assertTrue( isOnDisk( dn ) );
+ assertTrue( service.getSchemaManager().getComparatorRegistry().contains( OID ) );
+ assertTrue( service.getSchemaManager().getMatchingRuleRegistry().contains( mr.getOid() ) );
try
{
- schemaManager.getComparatorRegistry().lookup( OID );
- fail( "comparator lookup should fail after deleting the comparator" );
+ getSchemaContext( service ).destroySubcontext( dn );
+ fail( "should not be able to delete a comparator in use" );
}
- catch( NamingException e )
+ catch( LdapOperationNotSupportedException e )
{
+ assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- assertTrue( schemaManager.getComparatorRegistry().contains( NEW_OID ) );
- Class<?> clazz = schemaManager.getComparatorRegistry().lookup( NEW_OID ).getClass();
- assertEquals( clazz, StringComparator.class );
- }
-
-
- @Test
- @Ignore
- public void testMoveComparator() throws Exception
- {
- testAddComparatorToEnabledSchema();
-
- LdapDN dn = getComparatorContainer( "apachemeta" );
- dn.add( "m-oid" + "=" + OID );
-
- LdapDN newdn = getComparatorContainer( "apache" );
- newdn.add( "m-oid" + "=" + OID );
-
- getSchemaContext( service ).rename( dn, newdn );
-
- assertTrue( "comparator OID should still be present",
- schemaManager.getComparatorRegistry().contains( OID ) );
-
- assertEquals( "comparator schema should be set to apache not apachemeta",
- schemaManager.getComparatorRegistry().getSchemaName( OID ), "apache" );
-
- Class<?> clazz = schemaManager.getComparatorRegistry().lookup( OID ).getClass();
- assertEquals( clazz, StringComparator.class );
- }
-
-
- @Test
- @Ignore
- public void testMoveComparatorAndChangeRdn() throws Exception
- {
- testAddComparatorToEnabledSchema();
-
- LdapDN dn = getComparatorContainer( "apachemeta" );
- dn.add( "m-oid" + "=" + OID );
-
- LdapDN newdn = getComparatorContainer( "apache" );
- newdn.add( "m-oid" + "=" + NEW_OID );
-
- getSchemaContext( service ).rename( dn, newdn );
-
- assertFalse( "old comparator OID should NOT be present",
+ assertTrue( "comparator should still be in the registry after delete failure",
schemaManager.getComparatorRegistry().contains( OID ) );
-
- assertTrue( "new comparator OID should be present",
- schemaManager.getComparatorRegistry().contains( NEW_OID ) );
-
- assertEquals( "comparator with new oid should have schema set to apache NOT apachemeta",
- schemaManager.getComparatorRegistry().getSchemaName( NEW_OID ), "apache" );
-
- Class<?> clazz = schemaManager.getComparatorRegistry().lookup( NEW_OID ).getClass();
- assertEquals( clazz, StringComparator.class );
+ schemaManager.unregister( mr );
}
-
-
+
+
+ // ----------------------------------------------------------------------
+ // Test Modify operation
+ // ----------------------------------------------------------------------
@Test
public void testModifyComparatorWithModificationItems() throws Exception
{
@@ -469,49 +433,74 @@
assertEquals( clazz, BooleanComparator.class );
}
-
// ----------------------------------------------------------------------
- // Test move, rename, and delete when a MR exists and uses the Comparator
+ // Test Rename operation
// ----------------------------------------------------------------------
@Test
- public void testDeleteComparatorWhenInUse() throws Exception
+ public void testRenameComparator() throws Exception
{
LdapDN dn = getComparatorContainer( "apachemeta" );
dn.add( "m-oid" + "=" + OID );
-
testAddComparatorToEnabledSchema();
- MatchingRule mr = new DummyMR();
- schemaManager.register( mr );
+ LdapDN newdn = getComparatorContainer( "apachemeta" );
+ newdn.add( "m-oid" + "=" + NEW_OID );
+ getSchemaContext( service ).rename( dn, newdn );
+
+ assertFalse( "old comparator OID should be removed from the registry after being renamed",
+ schemaManager.getComparatorRegistry().contains( OID ) );
- // Pre-checks
- assertTrue( isOnDisk( dn ) );
- assertTrue( service.getSchemaManager().getComparatorRegistry().contains( OID ) );
- assertTrue( service.getSchemaManager().getMatchingRuleRegistry().contains( mr.getOid() ) );
+ try
+ {
+ schemaManager.getComparatorRegistry().lookup( OID );
+ fail( "comparator lookup should fail after deleting the comparator" );
+ }
+ catch( NamingException e )
+ {
+ }
+
+ assertTrue( schemaManager.getComparatorRegistry().contains( NEW_OID ) );
+ Class<?> clazz = schemaManager.getComparatorRegistry().lookup( NEW_OID ).getClass();
+ assertEquals( clazz, StringComparator.class );
+ }
+
+
+ @Test
+ public void testRenameComparatorWhenInUse() throws Exception
+ {
+ LdapDN dn = getComparatorContainer( "apachemeta" );
+ dn.add( "m-oid" + "=" + OID );
+ testAddComparatorToEnabledSchema();
+ schemaManager.getMatchingRuleRegistry().register( new DummyMR() );
+
+ LdapDN newdn = getComparatorContainer( "apachemeta" );
+ newdn.add( "m-oid" + "=" + NEW_OID );
try
{
- getSchemaContext( service ).destroySubcontext( dn );
- fail( "should not be able to delete a comparator in use" );
+ getSchemaContext( service ).rename( dn, newdn );
+ fail( "should not be able to rename a comparator in use" );
}
catch( LdapOperationNotSupportedException e )
{
assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- assertTrue( "comparator should still be in the registry after delete failure",
+ assertTrue( "comparator should still be in the registry after rename failure",
schemaManager.getComparatorRegistry().contains( OID ) );
schemaManager.getMatchingRuleRegistry().unregister( OID );
service.getSchemaManager().getOidRegistry().unregister( OID );
}
-
-
+
+
+ // ----------------------------------------------------------------------
+ // Test Move operation
+ // ----------------------------------------------------------------------
@Test
@Ignore
- public void testMoveComparatorWhenInUse() throws Exception
+ public void testMoveComparator() throws Exception
{
testAddComparatorToEnabledSchema();
- schemaManager.getMatchingRuleRegistry().register( new DummyMR() );
LdapDN dn = getComparatorContainer( "apachemeta" );
dn.add( "m-oid" + "=" + OID );
@@ -519,29 +508,24 @@
LdapDN newdn = getComparatorContainer( "apache" );
newdn.add( "m-oid" + "=" + OID );
- try
- {
- getSchemaContext( service ).rename( dn, newdn );
- fail( "should not be able to move a comparator in use" );
- }
- catch( LdapOperationNotSupportedException e )
- {
- assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
- }
+ getSchemaContext( service ).rename( dn, newdn );
- assertTrue( "comparator should still be in the registry after move failure",
+ assertTrue( "comparator OID should still be present",
schemaManager.getComparatorRegistry().contains( OID ) );
- schemaManager.getMatchingRuleRegistry().unregister( OID );
- service.getSchemaManager().getOidRegistry().unregister( OID );
+
+ assertEquals( "comparator schema should be set to apache not apachemeta",
+ schemaManager.getComparatorRegistry().getSchemaName( OID ), "apache" );
+
+ Class<?> clazz = schemaManager.getComparatorRegistry().lookup( OID ).getClass();
+ assertEquals( clazz, StringComparator.class );
}
@Test
@Ignore
- public void testMoveComparatorAndChangeRdnWhenInUse() throws Exception
+ public void testMoveComparatorAndChangeRdn() throws Exception
{
testAddComparatorToEnabledSchema();
- schemaManager.getMatchingRuleRegistry().register( new DummyMR() );
LdapDN dn = getComparatorContainer( "apachemeta" );
dn.add( "m-oid" + "=" + OID );
@@ -549,6 +533,38 @@
LdapDN newdn = getComparatorContainer( "apache" );
newdn.add( "m-oid" + "=" + NEW_OID );
+ getSchemaContext( service ).rename( dn, newdn );
+
+ assertFalse( "old comparator OID should NOT be present",
+ schemaManager.getComparatorRegistry().contains( OID ) );
+
+ assertTrue( "new comparator OID should be present",
+ schemaManager.getComparatorRegistry().contains( NEW_OID ) );
+
+ assertEquals( "comparator with new oid should have schema set to apache NOT apachemeta",
+ schemaManager.getComparatorRegistry().getSchemaName( NEW_OID ), "apache" );
+
+ Class<?> clazz = schemaManager.getComparatorRegistry().lookup( NEW_OID ).getClass();
+ assertEquals( clazz, StringComparator.class );
+ }
+
+
+ // ----------------------------------------------------------------------
+ // Test move, rename, and delete when a MR exists and uses the Comparator
+ // ----------------------------------------------------------------------
+ @Test
+ @Ignore
+ public void testMoveComparatorWhenInUse() throws Exception
+ {
+ testAddComparatorToEnabledSchema();
+ schemaManager.getMatchingRuleRegistry().register( new DummyMR() );
+
+ LdapDN dn = getComparatorContainer( "apachemeta" );
+ dn.add( "m-oid" + "=" + OID );
+
+ LdapDN newdn = getComparatorContainer( "apache" );
+ newdn.add( "m-oid" + "=" + OID );
+
try
{
getSchemaContext( service ).rename( dn, newdn );
@@ -565,35 +581,37 @@
service.getSchemaManager().getOidRegistry().unregister( OID );
}
-
+
@Test
- public void testRenameComparatorWhenInUse() throws Exception
+ @Ignore
+ public void testMoveComparatorAndChangeRdnWhenInUse() throws Exception
{
- LdapDN dn = getComparatorContainer( "apachemeta" );
- dn.add( "m-oid" + "=" + OID );
testAddComparatorToEnabledSchema();
schemaManager.getMatchingRuleRegistry().register( new DummyMR() );
- LdapDN newdn = getComparatorContainer( "apachemeta" );
+ LdapDN dn = getComparatorContainer( "apachemeta" );
+ dn.add( "m-oid" + "=" + OID );
+
+ LdapDN newdn = getComparatorContainer( "apache" );
newdn.add( "m-oid" + "=" + NEW_OID );
try
{
getSchemaContext( service ).rename( dn, newdn );
- fail( "should not be able to rename a comparator in use" );
+ fail( "should not be able to move a comparator in use" );
}
catch( LdapOperationNotSupportedException e )
{
assertEquals( e.getResultCode(), ResultCodeEnum.UNWILLING_TO_PERFORM );
}
- assertTrue( "comparator should still be in the registry after rename failure",
+ assertTrue( "comparator should still be in the registry after move failure",
schemaManager.getComparatorRegistry().contains( OID ) );
schemaManager.getMatchingRuleRegistry().unregister( OID );
service.getSchemaManager().getOidRegistry().unregister( OID );
}
-
+
// ----------------------------------------------------------------------
// Let's try some freaky stuff
// ----------------------------------------------------------------------
@@ -697,16 +715,4 @@
assertEquals( "comparator should be in apachemeta schema after move",
schemaManager.getComparatorRegistry().getSchemaName( OID ), "apachemeta" );
}
-
-
- class DummyMR extends MatchingRule
- {
- public DummyMR()
- {
- super( OID );
- addName( "dummy" );
- }
-
- private static final long serialVersionUID = 1L;
- }
}