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
@@ -34,10 +34,15 @@ /** * Severity Tester. * */ public class SeverityTest { public class SeverityTest extends MessagesTestCase { @DataProvider(name = "messageDescriptors") public Object[][] getMessageDescriptors() { return new Object[][]{ {CoreMessages.ERR_ABANDON_OP_NO_SUCH_OPERATION} }; } @DataProvider(name = "severities") public Object[][] getSeverities() { @@ -53,11 +58,32 @@ }; } @Test(dataProvider = "severities") public void testGetPropertyKeyFormSet(Severity severity) { Set s = Severity.getPropertyKeyFormSet(); assertTrue(s.contains(severity)); @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"} }; } @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 masks") @@ -74,11 +100,6 @@ }; } @Test(dataProvider = "severities and masks") public void testParseMask(Severity s, int mask) { assertEquals(Severity.parseMask(mask), s); } @DataProvider(name = "severities and strings") public Object[][] getSeveritiesAndStrings() { return new Object[][] { @@ -99,18 +120,22 @@ }; } @Test(dataProvider = "severities and pk names") public void testGetPropertyKeyFormSet(Severity severity, String name) { Set<String> s = Severity.getPropertyKeyFormSet(); assertTrue(s.contains(name)); } @Test(dataProvider = "severities and masks") public void testParseMask(Severity s, int mask) { assertEquals(Severity.parseMask(mask), s); } @Test(dataProvider = "severities and strings") public void testParseString(Severity sev, String s) { assertEquals(Severity.parseString(s), sev); } @DataProvider(name = "messageDescriptors") public Object[][] getMessageDescriptors() { return new Object[][] { {CoreMessages.ERR_ABANDON_OP_NO_SUCH_OPERATION} }; } @Test(dataProvider = "messageDescriptors") public void testParseMessageId(MessageDescriptor md) { assertEquals(Severity.parseMessageId(md.getId()), md.getSeverity()); @@ -121,40 +146,12 @@ assertEquals(s.getMask(), mask); } @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 = "severities and md names") public void testMessageDesciptorName(Severity s, String name) { assertEquals(s.messageDesciptorName(), name); } @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" } }; } @DataProvider(name = "severities and pk names") @Test(dataProvider = "severities and pk names") public void testPropertyKeyFormName(Severity sev, String s) { assertEquals(sev.propertyKeyFormName(), s); }