mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

matthew_swift
28.47.2010 f2160f4bd1c8ac67e5a86a6710d431e8932877f9
sdk/tests/unit-tests-testng/src/org/opends/sdk/schema/SubstitutionSyntaxTestCase.java
@@ -28,7 +28,7 @@
import static org.opends.sdk.schema.SchemaConstants.*;
import static org.opends.sdk.schema.SchemaConstants.SYNTAX_IA5_STRING_OID;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
@@ -45,26 +45,10 @@
   * {@inheritDoc}
   */
  @Override
  protected Syntax getRule()
  {
    // Use IA5String syntax as our substitute.
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSubstitutionSyntax("9.9.9", "Unimplemented Syntax",
        SYNTAX_IA5_STRING_OID, false);
    return builder.toSchema().getSyntax("9.9.9");
  }
  /**
   * {@inheritDoc}
   */
  @Override
  @DataProvider(name = "acceptableValues")
  public Object[][] createAcceptableValues()
  {
    return new Object[][] { { "12345678", true },
        { "12345678\u2163", false }, };
    return new Object[][] { { "12345678", true }, { "12345678\u2163", false }, };
  }
@@ -72,7 +56,7 @@
  @Test
  public void testSelfSubstitute1()
  {
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSyntax("( 1.3.6.1.4.1.1466.115.121.1.15 "
        + " DESC 'Replacing DirectorySyntax'  "
        + " X-SUBST '1.3.6.1.4.1.1466.115.121.1.15' )", true);
@@ -84,22 +68,60 @@
  @Test
  public void testSelfSubstitute2()
  {
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSubstitutionSyntax("1.3.6.1.4.1.1466.115.121.1.15",
        "Replacing DirectorySyntax", "1.3.6.1.4.1.1466.115.121.1.15",
        true);
        "Replacing DirectorySyntax", "1.3.6.1.4.1.1466.115.121.1.15", true);
    Assert.assertFalse(builder.toSchema().getWarnings().isEmpty());
  }
  @Test(expectedExceptions = ConflictingSchemaElementException.class)
  public void testSubstituteCore1() throws ConflictingSchemaElementException
  {
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSyntax("( 1.3.6.1.4.1.1466.115.121.1.26 "
        + " DESC 'Replacing DirectorySyntax'  " + " X-SUBST '9.9.9' )", false);
  }
  @Test
  public void testSubstituteCore1Override()
  {
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSyntax("( 1.3.6.1.4.1.1466.115.121.1.26 "
        + " DESC 'Replacing DirectorySyntax'  " + " X-SUBST '9.9.9' )", true);
  }
  @Test(expectedExceptions = ConflictingSchemaElementException.class)
  public void testSubstituteCore2() throws ConflictingSchemaElementException
  {
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSubstitutionSyntax("1.3.6.1.4.1.1466.115.121.1.26",
        "Replacing DirectorySyntax", "9.9.9", false);
  }
  @Test
  public void testSubstituteCore2Override()
  {
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSubstitutionSyntax("1.3.6.1.4.1.1466.115.121.1.26",
        "Replacing DirectorySyntax", "9.9.9", true);
  }
  @Test
  public void testUndefinedSubstitute1()
  {
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSyntax("( 1.3.6.1.4.1.1466.115.121.1.15 "
        + " DESC 'Replacing DirectorySyntax'  " + " X-SUBST '1.1.1' )",
        true);
        + " DESC 'Replacing DirectorySyntax'  " + " X-SUBST '1.1.1' )", true);
    Assert.assertFalse(builder.toSchema().getWarnings().isEmpty());
  }
@@ -108,7 +130,7 @@
  @Test
  public void testUndefinedSubstitute2()
  {
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSubstitutionSyntax("1.3.6.1.4.1.1466.115.121.1.15",
        "Replacing DirectorySyntax", "1.1.1", true);
    Assert.assertFalse(builder.toSchema().getWarnings().isEmpty());
@@ -116,45 +138,16 @@
  @Test(expectedExceptions = ConflictingSchemaElementException.class)
  public void testSubstituteCore1()
      throws ConflictingSchemaElementException
  /**
   * {@inheritDoc}
   */
  @Override
  protected Syntax getRule()
  {
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSyntax("( 1.3.6.1.4.1.1466.115.121.1.26 "
        + " DESC 'Replacing DirectorySyntax'  " + " X-SUBST '9.9.9' )",
        false);
  }
  @Test(expectedExceptions = ConflictingSchemaElementException.class)
  public void testSubstituteCore2()
      throws ConflictingSchemaElementException
  {
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSubstitutionSyntax("1.3.6.1.4.1.1466.115.121.1.26",
        "Replacing DirectorySyntax", "9.9.9", false);
  }
  @Test
  public void testSubstituteCore1Override()
  {
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSyntax("( 1.3.6.1.4.1.1466.115.121.1.26 "
        + " DESC 'Replacing DirectorySyntax'  " + " X-SUBST '9.9.9' )",
        true);
  }
  @Test
  public void testSubstituteCore2Override()
  {
    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSubstitutionSyntax("1.3.6.1.4.1.1466.115.121.1.26",
        "Replacing DirectorySyntax", "9.9.9", true);
    // Use IA5String syntax as our substitute.
    final SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema());
    builder.addSubstitutionSyntax("9.9.9", "Unimplemented Syntax",
        SYNTAX_IA5_STRING_OID, false);
    return builder.toSchema().getSyntax("9.9.9");
  }
}