Author: elecharny
Date: Fri Dec 4 17:53:10 2009
New Revision: 887298
URL: http://svn.apache.org/viewvc?rev=887298&view=rev
Log:
Added some extra tests for the load( SchemaName... ) method, with corner cases and error cases
Modified:
directory/shared/branches/shared-schema/ldap-schema-loader/src/test/java/org/apache/directory/server/schema/SchemaManagerTest.java
Modified: directory/shared/branches/shared-schema/ldap-schema-loader/src/test/java/org/apache/directory/server/schema/SchemaManagerTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-schema/ldap-schema-loader/src/test/java/org/apache/directory/server/schema/SchemaManagerTest.java?rev=887298&r1=887297&r2=887298&view=diff
==============================================================================
--- directory/shared/branches/shared-schema/ldap-schema-loader/src/test/java/org/apache/directory/server/schema/SchemaManagerTest.java
(original)
+++ directory/shared/branches/shared-schema/ldap-schema-loader/src/test/java/org/apache/directory/server/schema/SchemaManagerTest.java
Fri Dec 4 17:53:10 2009
@@ -576,7 +576,7 @@
//-------------------------------------------------------------------------
- // Test the load( String... schemaname) method
+ // Test the load( String... schemaName) method
//-------------------------------------------------------------------------
/**
* test loading the "system" schema
@@ -887,4 +887,115 @@
assertNull( schemaManager.getRegistries().getLoadedSchema( "cosine" ) );
}
+
+ /**
+ * Test loading a wrong schema
+ */
+ @Test
+ public void testLoadWrongSchema() throws Exception
+ {
+ LdifSchemaLoader loader = new LdifSchemaLoader( schemaRepository );
+ SchemaManager schemaManager = new DefaultSchemaManager( loader );
+
+ schemaManager.loadWithDeps( "bad" );
+
+ assertTrue( schemaManager.getErrors().isEmpty() );
+ assertEquals( 0, schemaManager.getAttributeTypeRegistry().size() );
+ assertEquals( 0, schemaManager.getComparatorRegistry().size() );
+ assertEquals( 0, schemaManager.getMatchingRuleRegistry().size() );
+ assertEquals( 0, schemaManager.getNormalizerRegistry().size() );
+ assertEquals( 0, schemaManager.getObjectClassRegistry().size() );
+ assertEquals( 0, schemaManager.getSyntaxCheckerRegistry().size() );
+ assertEquals( 0, schemaManager.getLdapSyntaxRegistry().size() );
+ assertEquals( 0, schemaManager.getOidRegistry().size() );
+
+ assertEquals( 0, schemaManager.getRegistries().getLoadedSchemas().size() );
+ }
+
+
+ /**
+ * test loading the "InetOrgPerson" and "core" schema, which depends on "system" and
"cosine"
+ */
+ @Test
+ public void testLoadCoreAndInetOrgPerson() throws Exception
+ {
+ LdifSchemaLoader loader = new LdifSchemaLoader( schemaRepository );
+ SchemaManager schemaManager = new DefaultSchemaManager( loader );
+
+ schemaManager.loadWithDeps( "core", "InetOrgPerson" );
+
+ assertTrue( schemaManager.getErrors().isEmpty() );
+ assertEquals( 142, schemaManager.getAttributeTypeRegistry().size() );
+ assertEquals( 35, schemaManager.getComparatorRegistry().size() );
+ assertEquals( 35, schemaManager.getMatchingRuleRegistry().size() );
+ assertEquals( 35, schemaManager.getNormalizerRegistry().size() );
+ assertEquals( 50, schemaManager.getObjectClassRegistry().size() );
+ assertEquals( 59, schemaManager.getSyntaxCheckerRegistry().size() );
+ assertEquals( 59, schemaManager.getLdapSyntaxRegistry().size() );
+ assertEquals( 286, schemaManager.getOidRegistry().size() );
+
+ assertEquals( 4, schemaManager.getRegistries().getLoadedSchemas().size() );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "system" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "core" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "cosine" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "InetOrgPerson" ) );
+ }
+
+
+ /**
+ * test loading the "InetOrgPerson", "core" and a bad schema
+ */
+ @Test
+ public void testLoadCoreInetOrgPersonAndBad() throws Exception
+ {
+ LdifSchemaLoader loader = new LdifSchemaLoader( schemaRepository );
+ SchemaManager schemaManager = new DefaultSchemaManager( loader );
+
+ schemaManager.loadWithDeps( "core", "bad", "InetOrgPerson" );
+
+ assertTrue( schemaManager.getErrors().isEmpty() );
+ assertEquals( 142, schemaManager.getAttributeTypeRegistry().size() );
+ assertEquals( 35, schemaManager.getComparatorRegistry().size() );
+ assertEquals( 35, schemaManager.getMatchingRuleRegistry().size() );
+ assertEquals( 35, schemaManager.getNormalizerRegistry().size() );
+ assertEquals( 50, schemaManager.getObjectClassRegistry().size() );
+ assertEquals( 59, schemaManager.getSyntaxCheckerRegistry().size() );
+ assertEquals( 59, schemaManager.getLdapSyntaxRegistry().size() );
+ assertEquals( 286, schemaManager.getOidRegistry().size() );
+
+ assertEquals( 4, schemaManager.getRegistries().getLoadedSchemas().size() );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "system" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "core" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "cosine" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "InetOrgPerson" ) );
+ }
+
+
+ /**
+ * test loading the "InetOrgPerson", "core" and a disabled schema
+ */
+ @Test
+ public void testLoadCoreInetOrgPersonAndNis() throws Exception
+ {
+ LdifSchemaLoader loader = new LdifSchemaLoader( schemaRepository );
+ SchemaManager schemaManager = new DefaultSchemaManager( loader );
+
+ schemaManager.loadWithDeps( "core", "nis", "InetOrgPerson" );
+
+ assertTrue( schemaManager.getErrors().isEmpty() );
+ assertEquals( 142, schemaManager.getAttributeTypeRegistry().size() );
+ assertEquals( 35, schemaManager.getComparatorRegistry().size() );
+ assertEquals( 35, schemaManager.getMatchingRuleRegistry().size() );
+ assertEquals( 35, schemaManager.getNormalizerRegistry().size() );
+ assertEquals( 50, schemaManager.getObjectClassRegistry().size() );
+ assertEquals( 59, schemaManager.getSyntaxCheckerRegistry().size() );
+ assertEquals( 59, schemaManager.getLdapSyntaxRegistry().size() );
+ assertEquals( 286, schemaManager.getOidRegistry().size() );
+
+ assertEquals( 4, schemaManager.getRegistries().getLoadedSchemas().size() );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "system" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "core" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "cosine" ) );
+ assertNotNull( schemaManager.getRegistries().getLoadedSchema( "InetOrgPerson" ) );
+ }
}
|