From ea9338f20259f92ccb818876e27cd83908cef0d0 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 04 Dec 2013 16:23:38 +0000
Subject: [PATCH] Backport fix for OPENDJ-1200: Upgrade tool loses one ds-cfg-character-set value

---
 opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaBuilderTestCase.java |   46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaBuilderTestCase.java b/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaBuilderTestCase.java
index 4659a65..add66e4 100644
--- a/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaBuilderTestCase.java
+++ b/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaBuilderTestCase.java
@@ -21,7 +21,7 @@
  * CDDL HEADER END
  *
  *
- *      Portions copyright 2012 ForgeRock AS.
+ *      Portions copyright 2012-2013 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.schema;
 
@@ -210,6 +210,9 @@
         assertThat(schema.getObjectClasses()).isEmpty();
         assertThat(schema.getSyntaxes()).isEmpty();
         assertThat(schema.getWarnings()).isEmpty();
+        assertThat(schema.getDefaultSyntax()).isEqualTo(CoreSchema.getOctetStringSyntax());
+        assertThat(schema.getDefaultMatchingRule()).isEqualTo(
+                CoreSchema.getOctetStringMatchingRule());
         // Could go on...
     }
 
@@ -1960,7 +1963,46 @@
         assertThat(sc.getNameForms()).isNotNull();
         assertThat(sc.getNameForms()).isEmpty();
 
-
         connection.close();
     }
+
+    @Test
+    public void testDefaultSyntax() {
+        final Schema schema =
+                new SchemaBuilder(Schema.getCoreSchema()).toSchema().asNonStrictSchema();
+        assertThat(schema.getDefaultSyntax()).isEqualTo(CoreSchema.getOctetStringSyntax());
+        assertThat(schema.getAttributeType("dummy").getSyntax()).isEqualTo(
+                CoreSchema.getOctetStringSyntax());
+    }
+
+    @Test
+    public void testOverrideDefaultSyntax() {
+        final Schema schema =
+                new SchemaBuilder(Schema.getCoreSchema()).defaultSyntax(
+                        CoreSchema.getDirectoryStringSyntax()).toSchema().asNonStrictSchema();
+        assertThat(schema.getDefaultSyntax()).isEqualTo(CoreSchema.getDirectoryStringSyntax());
+        assertThat(schema.getAttributeType("dummy").getSyntax()).isEqualTo(
+                CoreSchema.getDirectoryStringSyntax());
+    }
+
+    @Test
+    public void testDefaultMatchingRule() {
+        final Schema schema =
+                new SchemaBuilder(Schema.getCoreSchema()).toSchema().asNonStrictSchema();
+        assertThat(schema.getDefaultMatchingRule()).isEqualTo(
+                CoreSchema.getOctetStringMatchingRule());
+        assertThat(schema.getAttributeType("dummy").getEqualityMatchingRule()).isEqualTo(
+                CoreSchema.getOctetStringMatchingRule());
+    }
+
+    @Test
+    public void testOverrideMatchingRule() {
+        final Schema schema =
+                new SchemaBuilder(Schema.getCoreSchema()).defaultMatchingRule(
+                        CoreSchema.getCaseIgnoreMatchingRule()).toSchema().asNonStrictSchema();
+        assertThat(schema.getDefaultMatchingRule()).isEqualTo(CoreSchema.getCaseIgnoreMatchingRule());
+        assertThat(schema.getAttributeType("dummy").getEqualityMatchingRule()).isEqualTo(
+                CoreSchema.getCaseIgnoreMatchingRule());
+    }
+
 }

--
Gitblit v1.10.0