From 0aa4dc91310ba40961f5f09009588881d708f17c Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 03 Jun 2016 14:32:11 +0000
Subject: [PATCH] OPENDJ-3037 Use SchemaBuilder.addSchema(Entry, boolean) in SchemaConfigManager
---
opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java | 65 ++++++++++++++++++--------------
1 files changed, 36 insertions(+), 29 deletions(-)
diff --git a/opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java b/opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java
index c29cfd7..a28f211 100644
--- a/opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java
+++ b/opendj-server-legacy/src/test/java/org/opends/server/tasks/AddSchemaFileTaskTestCase.java
@@ -20,7 +20,11 @@
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.schema.CoreSchema;
import org.forgerock.opendj.ldap.schema.MatchingRule;
import org.forgerock.opendj.ldap.schema.Schema;
import org.forgerock.opendj.ldap.schema.SchemaBuilder;
@@ -28,8 +32,8 @@
import org.opends.server.backends.SchemaTestMatchingRuleImpl;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.SchemaConfigManager;
-import org.opends.server.schema.SchemaConstants;
-import org.forgerock.opendj.ldap.DN;
+import org.opends.server.types.DirectoryException;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -39,9 +43,11 @@
* Tests invocation of the import and export tasks, but does not aim to
* thoroughly test the underlying backend implementations.
*/
-public class AddSchemaFileTaskTestCase
- extends TasksTestCase
+@SuppressWarnings("javadoc")
+public class AddSchemaFileTaskTestCase extends TasksTestCase
{
+ private static List<MatchingRule> matchingRulesToRemove = new ArrayList<>();
+
/**
* Make sure that the Directory Server is running.
*
@@ -53,17 +59,29 @@
TestCaseUtils.startServer();
}
- private MatchingRule getMatchingRule(String name, String oid, boolean isObsolete)
+ @AfterClass
+ public void deregisterMatchingRules() throws Exception
{
- Schema schema =
- new SchemaBuilder(Schema.getCoreSchema())
- .buildMatchingRule(oid)
- .syntaxOID(SchemaConstants.SYNTAX_DIRECTORY_STRING_OID)
- .names(name)
- .implementation(new SchemaTestMatchingRuleImpl())
- .obsolete(isObsolete)
- .addToSchema().toSchema();
- return schema.getMatchingRule(oid);
+ for (MatchingRule matchingRule : matchingRulesToRemove)
+ {
+ org.opends.server.types.Schema schema = DirectoryServer.getSchema();
+ schema.deregisterMatchingRuleUse(schema.getMatchingRuleUse(matchingRule));
+ schema.deregisterMatchingRule(matchingRule);
+ }
+ }
+
+ private void registerNewMatchingRule(String name, String oid) throws DirectoryException
+ {
+ MatchingRule matchingRule = new SchemaBuilder(Schema.getCoreSchema())
+ .buildMatchingRule(oid)
+ .syntaxOID(CoreSchema.getDirectoryStringSyntax().getOID())
+ .names(name)
+ .implementation(new SchemaTestMatchingRuleImpl())
+ .addToSchema()
+ .toSchema()
+ .getMatchingRule(oid);
+ DirectoryServer.getSchema().registerMatchingRule(matchingRule, false);
+ matchingRulesToRemove.add(matchingRule);
}
/**
@@ -85,8 +103,7 @@
Thread.sleep(2);
- MatchingRule matchingRule = getMatchingRule("testAddValidSchemaFileMatch", "1.3.6.1.4.1.26027.1.999.23", false);
- DirectoryServer.getSchema().registerMatchingRule(matchingRule, false);
+ registerNewMatchingRule("testAddValidSchemaFileMatch", "1.3.6.1.4.1.26027.1.999.23");
String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
@@ -134,8 +151,6 @@
beforeModifyTimestamp);
}
-
-
/**
* Attempts to add multiple new files to the server schema where the files
* exist and have valid contents.
@@ -154,13 +169,7 @@
DirectoryServer.getSchema().getYoungestModificationTime();
Thread.sleep(2);
-
- String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
-
- MatchingRule matchingRule1 =
- getMatchingRule("testAddMultipleValidSchemaFiles1Match", "1.3.6.1.4.1.26027.1.999.24", false);
-
- DirectoryServer.getSchema().registerMatchingRule(matchingRule1, false);
+ registerNewMatchingRule("testAddMultipleValidSchemaFiles1Match", "1.3.6.1.4.1.26027.1.999.24");
String[] fileLines1 =
{
@@ -187,13 +196,11 @@
"APPLIES testAddMultipleValidSchemaFiles1AT )"
};
+ String schemaDirectory = SchemaConfigManager.getSchemaDirectoryPath();
File validFile1 = new File(schemaDirectory, "05-multiple-valid-1.ldif");
writeLines(validFile1, fileLines1);
-
- MatchingRule matchingRule2 =
- getMatchingRule("testAddMultipleValidSchemaFiles2Match", "1.3.6.1.4.1.26027.1.999.25", false);
- DirectoryServer.getSchema().registerMatchingRule(matchingRule2, false);
+ registerNewMatchingRule("testAddMultipleValidSchemaFiles2Match", "1.3.6.1.4.1.26027.1.999.25");
String[] fileLines2 =
{
--
Gitblit v1.10.0