From 430746c8f6080b9009c306f950954eead3c76b98 Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Fri, 17 Aug 2007 21:57:02 +0000
Subject: [PATCH] - Restored running of messages tests to precommit target - Fixed broken SeverityTest - Added test to check for duplicate keys in messages properties files
---
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageDescriptorRegistryTest.java | 2
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/PropertiesFilesTest.java | 104 +++++++++++++++++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/SeverityTest.java | 219 ++++++++++++++++++------------------
opendj-sdk/opends/build.xml | 4
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/CategoryTest.java | 2
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageTest.java | 2
6 files changed, 217 insertions(+), 116 deletions(-)
diff --git a/opendj-sdk/opends/build.xml b/opendj-sdk/opends/build.xml
index fa45d3c..d408843 100644
--- a/opendj-sdk/opends/build.xml
+++ b/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>
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/CategoryTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/CategoryTest.java
index 6bc6b50..70c8f83 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/CategoryTest.java
+++ b/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")
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageDescriptorRegistryTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageDescriptorRegistryTest.java
index 49aec35..aebf0ad 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageDescriptorRegistryTest.java
+++ b/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")
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageTest.java
index 31ab31c..bd5ea25 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/MessageTest.java
+++ b/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;
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/PropertiesFilesTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/PropertiesFilesTest.java
new file mode 100644
index 0000000..7d46180
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/PropertiesFilesTest.java
@@ -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");
+ }
+
+}
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/SeverityTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/SeverityTest.java
index c6a1c00..fd4b070 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/messages/SeverityTest.java
+++ b/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);
+ }
}
--
Gitblit v1.10.0