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

kenneth_suter
17.57.2007 430746c8f6080b9009c306f950954eead3c76b98
- Restored running of messages tests to precommit target
- Fixed broken SeverityTest
- Added test to check for duplicate keys in messages properties files
1 files added
5 files modified
333 ■■■■■ changed files
opendj-sdk/opends/build.xml 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/CategoryTest.java 2 ●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageDescriptorRegistryTest.java 2 ●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageTest.java 2 ●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/PropertiesFilesTest.java 104 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/SeverityTest.java 219 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/build.xml
@@ -1093,7 +1093,7 @@
    </condition>
    <!-- do not run tests dependent upon creation of the .zip file -->
    <condition property="test.packages" value="org.opends.server.*">
    <condition property="test.packages" value="org.opends.server.*,org.opends.messages.*">
      <and>
        <not>
          <or>
@@ -1109,7 +1109,7 @@
    </condition>
 
    <!-- run tests dependent upon creation of the .zip file -->
    <condition property="test.packages" value="org.opends.server.*,org.opends.quicksetup.*">
    <condition property="test.packages" value="org.opends.server.*,org.opends.messages.*,org.opends.quicksetup.*">
      <and>
        <not>
          <or>
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/CategoryTest.java
@@ -34,7 +34,7 @@
 * Category Tester.
 *
 */
public class CategoryTest
public class CategoryTest extends MessagesTestCase
{
    @DataProvider(name = "messageDescriptors")
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageDescriptorRegistryTest.java
@@ -45,7 +45,7 @@
 * MessageDescriptorRegistry Tester.
 *
 */
public class MessageDescriptorRegistryTest
public class MessageDescriptorRegistryTest extends MessagesTestCase
{
  @DataProvider(name = "message descriptors")
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageTest.java
@@ -42,7 +42,7 @@
/**
 * Message Tester.
 */
public class MessageTest extends DirectoryServerTestCase {
public class MessageTest extends MessagesTestCase {
  /** Locale for accessing a pseudo localized test messages file. */
  private static final Locale TEST_LOCALE = Locale.CHINA;
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/PropertiesFilesTest.java
New file
@@ -0,0 +1,104 @@
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Portions Copyright 2007 Sun Microsystems, Inc.
 */
package org.opends.messages;
import org.opends.server.TestCaseUtils;
import static org.testng.Assert.*;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.io.File;
import java.io.FilenameFilter;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Set;
import java.util.HashSet;
/**
 * Category Tester.
 *
 */
public class PropertiesFilesTest extends MessagesTestCase {
  @DataProvider(name = "messagePropertiesFiles")
  public Object[][] getMessagePropertiesFiles() {
    File propFilesDir = getPropertiesFilesDirectory();
    assertTrue(propFilesDir.exists(), "Directory " +
            propFilesDir.getAbsolutePath() + " does not exist");
    File[] fileList = propFilesDir.listFiles(new FilenameFilter() {
      public boolean accept(File dir, String name) {
        return name.endsWith(".properties");
      }
    });
    Object[][] propFiles = new Object[fileList.length][1];
    for (int i = 0; i < propFiles.length; i++) {
      propFiles[i] = new Object[] { fileList[i] };
    }
    return propFiles;
  }
  /**
   * Tests that a properties file does not have duplicate keys.  This
   * is not enforced by GenerateMessageFile because it uses
   * java.util.Properties to load and process the files which ignores
   * duplicate keys.
   *
   * @param propertiesFile file
   * @throws IOException if problems reading the file
   */
  @Test(dataProvider = "messagePropertiesFiles")
  public void testForDuplicateKeys(File propertiesFile) throws IOException {
    Set<String> keys = new HashSet<String>();
    BufferedReader reader = new BufferedReader(new FileReader(propertiesFile));
    String prevLine = null;
    String line;
    while (null != (line = reader.readLine())) {
      if (!(prevLine == null || prevLine.endsWith("\\")) && // not a value continuation
          !(line.startsWith("#")) && // not a comment
          (line.indexOf('=') > 0)) { // defines a key
        String key = line.substring(0, line.indexOf('='));
        assertFalse(keys.contains(key),
                "Key " + key + " is defined multiple places in " +
                        propertiesFile.getName());
        keys.add(key);
      }
      prevLine = line;
    }
  }
  private File getPropertiesFilesDirectory() {
    String buildRoot = System.getProperty(TestCaseUtils.PROPERTY_BUILD_ROOT);
    return new File(buildRoot,
            "src" + File.separator +
            "messages" + File.separator +
            "messages");
  }
}
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/SeverityTest.java
@@ -24,7 +24,7 @@
 *
 *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
 */
package org.opends.messages;
import static org.testng.Assert.*;
@@ -34,129 +34,126 @@
/**
 * Severity Tester.
 *
 */
public class SeverityTest
{
public class SeverityTest extends MessagesTestCase {
    @DataProvider(name = "severities")
    public Object[][] getSeverities() {
      return new Object[][] {
              { Severity.DEBUG },
              { Severity.FATAL_ERROR },
              { Severity.INFORMATION },
              { Severity.MILD_ERROR },
              { Severity.MILD_WARNING },
              { Severity.NOTICE },
              { Severity.SEVERE_ERROR },
              { Severity.SEVERE_WARNING }
      };
    }
  @DataProvider(name = "messageDescriptors")
  public Object[][] getMessageDescriptors() {
    return new Object[][]{
            {CoreMessages.ERR_ABANDON_OP_NO_SUCH_OPERATION}
    };
  }
    @Test(dataProvider = "severities")
    public void testGetPropertyKeyFormSet(Severity severity)
    {
      Set s = Severity.getPropertyKeyFormSet();
      assertTrue(s.contains(severity));
    }
  @DataProvider(name = "severities")
  public Object[][] getSeverities() {
    return new Object[][]{
            {Severity.DEBUG},
            {Severity.FATAL_ERROR},
            {Severity.INFORMATION},
            {Severity.MILD_ERROR},
            {Severity.MILD_WARNING},
            {Severity.NOTICE},
            {Severity.SEVERE_ERROR},
            {Severity.SEVERE_WARNING}
    };
  }
    @DataProvider(name = "severities and masks")
    public Object[][] getSeveritiesAndMasks() {
      return new Object[][] {
              { Severity.DEBUG, 0x00060000 },
              { Severity.FATAL_ERROR, 0x00050000 },
              { Severity.INFORMATION, 0x00000000 },
              { Severity.MILD_ERROR, 0x00030000 },
              { Severity.MILD_WARNING, 0x00010000 },
              { Severity.NOTICE, 0x00070000 },
              { Severity.SEVERE_ERROR, 0x00040000 },
              { Severity.SEVERE_WARNING, 0x00020000 }
      };
    }
  @DataProvider(name = "severities and pk names")
  public Object[][] getSeveritiesAndPropertyKeyNames() {
    return new Object[][]{
            {Severity.DEBUG, "DEBUG"},
            {Severity.FATAL_ERROR, "FATAL_ERR"},
            {Severity.INFORMATION, "INFO"},
            {Severity.MILD_ERROR, "MILD_ERR"},
            {Severity.MILD_WARNING, "MILD_WARN"},
            {Severity.NOTICE, "NOTICE"},
            {Severity.SEVERE_ERROR, "SEVERE_ERR"},
            {Severity.SEVERE_WARNING, "SEVERE_WARN"}
    };
  }
    @Test(dataProvider = "severities and masks")
    public void testParseMask(Severity s, int mask) {
      assertEquals(Severity.parseMask(mask), s);
    }
  @DataProvider(name = "severities and md names")
  public Object[][] getSeveritiesAndMessageDescriptorNames() {
    return new Object[][]{
            {Severity.DEBUG, "DEBUG"},
            {Severity.FATAL_ERROR, "ERR"},
            {Severity.INFORMATION, "INFO"},
            {Severity.MILD_ERROR, "ERR"},
            {Severity.MILD_WARNING, "WARN"},
            {Severity.NOTICE, "NOTE"},
            {Severity.SEVERE_ERROR, "ERR"},
            {Severity.SEVERE_WARNING, "WARN"}
    };
  }
    @DataProvider(name = "severities and strings")
    public Object[][] getSeveritiesAndStrings() {
      return new Object[][] {
              { Severity.DEBUG, "DEBUG" },
              { Severity.FATAL_ERROR, "FATAL_ERR" },
              { Severity.FATAL_ERROR, "FATAL_ERROR" },
              { Severity.INFORMATION, "INFO" },
              { Severity.INFORMATION, "INFORMATION" },
              { Severity.MILD_ERROR, "MILD_ERR" },
              { Severity.MILD_ERROR, "MILD_ERROR" },
              { Severity.MILD_WARNING, "MILD_WARN" },
              { Severity.MILD_WARNING, "MILD_WARNING" },
              { Severity.NOTICE, "NOTICE" },
              { Severity.SEVERE_ERROR, "SEVERE_ERR" },
              { Severity.SEVERE_ERROR, "SEVERE_ERROR" },
              { Severity.SEVERE_WARNING, "SEVERE_WARN" },
              { Severity.SEVERE_WARNING, "SEVERE_WARNING" }
      };
    }
  @DataProvider(name = "severities and masks")
  public Object[][] getSeveritiesAndMasks() {
    return new Object[][]{
            {Severity.DEBUG, 0x00060000},
            {Severity.FATAL_ERROR, 0x00050000},
            {Severity.INFORMATION, 0x00000000},
            {Severity.MILD_ERROR, 0x00030000},
            {Severity.MILD_WARNING, 0x00010000},
            {Severity.NOTICE, 0x00070000},
            {Severity.SEVERE_ERROR, 0x00040000},
            {Severity.SEVERE_WARNING, 0x00020000}
    };
  }
    @Test(dataProvider = "severities and strings")
    public void testParseString(Severity sev, String s) {
      assertEquals(Severity.parseString(s), sev);
    }
  @DataProvider(name = "severities and strings")
  public Object[][] getSeveritiesAndStrings() {
    return new Object[][]{
            {Severity.DEBUG, "DEBUG"},
            {Severity.FATAL_ERROR, "FATAL_ERR"},
            {Severity.FATAL_ERROR, "FATAL_ERROR"},
            {Severity.INFORMATION, "INFO"},
            {Severity.INFORMATION, "INFORMATION"},
            {Severity.MILD_ERROR, "MILD_ERR"},
            {Severity.MILD_ERROR, "MILD_ERROR"},
            {Severity.MILD_WARNING, "MILD_WARN"},
            {Severity.MILD_WARNING, "MILD_WARNING"},
            {Severity.NOTICE, "NOTICE"},
            {Severity.SEVERE_ERROR, "SEVERE_ERR"},
            {Severity.SEVERE_ERROR, "SEVERE_ERROR"},
            {Severity.SEVERE_WARNING, "SEVERE_WARN"},
            {Severity.SEVERE_WARNING, "SEVERE_WARNING"}
    };
  }
    @DataProvider(name = "messageDescriptors")
    public Object[][] getMessageDescriptors() {
      return new Object[][] {
              {CoreMessages.ERR_ABANDON_OP_NO_SUCH_OPERATION}
      };
    }
  @Test(dataProvider = "severities and pk names")
  public void testGetPropertyKeyFormSet(Severity severity, String name) {
    Set<String> s = Severity.getPropertyKeyFormSet();
    assertTrue(s.contains(name));
  }
    @Test(dataProvider = "messageDescriptors")
    public void testParseMessageId(MessageDescriptor md) {
      assertEquals(Severity.parseMessageId(md.getId()), md.getSeverity());
    }
  @Test(dataProvider = "severities and masks")
  public void testParseMask(Severity s, int mask) {
    assertEquals(Severity.parseMask(mask), s);
  }
    @Test(dataProvider = "severities and masks")
    public void testGetMask(Severity s, int mask) {
      assertEquals(s.getMask(), mask);
    }
  @Test(dataProvider = "severities and strings")
  public void testParseString(Severity sev, String s) {
    assertEquals(Severity.parseString(s), sev);
  }
    @DataProvider(name = "severities and md names")
    public Object[][] getSeveritiesAndMessageDescriptorNames() {
      return new Object[][] {
              { Severity.DEBUG, "DEBUG" },
              { Severity.FATAL_ERROR, "ERR" },
              { Severity.INFORMATION, "INFO" },
              { Severity.MILD_ERROR, "ERR" },
              { Severity.MILD_WARNING, "WARN" },
              { Severity.NOTICE, "NOTE" },
              { Severity.SEVERE_ERROR, "ERR" },
              { Severity.SEVERE_WARNING, "WARN" }
      };
    }
  @Test(dataProvider = "messageDescriptors")
  public void testParseMessageId(MessageDescriptor md) {
    assertEquals(Severity.parseMessageId(md.getId()), md.getSeverity());
  }
    @Test(dataProvider = "severities and md names")
    public void testMessageDesciptorName(Severity s, String name) {
      assertEquals(s.messageDesciptorName(), name);
    }
  @Test(dataProvider = "severities and masks")
  public void testGetMask(Severity s, int mask) {
    assertEquals(s.getMask(), mask);
  }
    @DataProvider(name = "severities and pk names")
    public Object[][] getSeveritiesAndPropertyKeyNames() {
      return new Object[][] {
              { Severity.DEBUG, "DEBUG" },
              { Severity.FATAL_ERROR, "FATAL_ERR" },
              { Severity.INFORMATION, "INFO" },
              { Severity.MILD_ERROR, "MILD_ERR" },
              { Severity.MILD_WARNING, "MILD_WARN" },
              { Severity.NOTICE, "NOTICE" },
              { Severity.SEVERE_ERROR, "SEVERE_ERR" },
              { Severity.SEVERE_WARNING, "SEVERE_WARN" }
      };
    }
  @Test(dataProvider = "severities and md names")
  public void testMessageDesciptorName(Severity s, String name) {
    assertEquals(s.messageDesciptorName(), name);
  }
    @DataProvider(name = "severities and pk names")
    public void testPropertyKeyFormName(Severity sev, String s) {
      assertEquals(sev.propertyKeyFormName(), s);
    }
  @Test(dataProvider = "severities and pk names")
  public void testPropertyKeyFormName(Severity sev, String s) {
    assertEquals(sev.propertyKeyFormName(), s);
  }
}