summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn McClung <jm1364@att.com>2018-04-09 10:25:27 -0400
committerJohn McClung <jm1364@att.com>2018-04-09 14:47:27 +0000
commit435dd0a1615ab60fbe9d305966be7815b613be4e (patch)
tree2aeee8a128d05788505d62ee9a8140c067b7d5bb
parentacaef825011dc0153d677e32952cc325cd350f1e (diff)
Add junit coverage to UnmodifiableProperties class
Introduce junit-tests for EncryptionTool class Change-Id: Ia6a727ae5b224c152d2615a32f1b91aaeeb2eb60 Issue-ID: APPC-836 Signed-off-by: John McClung <jm1364@att.com>
-rw-r--r--appc-common/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java178
1 files changed, 173 insertions, 5 deletions
diff --git a/appc-common/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java b/appc-common/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java
index d238dc352..87646d9c7 100644
--- a/appc-common/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java
+++ b/appc-common/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java
@@ -23,7 +23,17 @@ package org.onap.appc.util;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-
+import org.mockito.Mockito;
+import org.hamcrest.CoreMatchers;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.io.StringReader;
+import java.util.Enumeration;
import java.util.Properties;
public class UnmodifiablePropertiesTest {
@@ -34,6 +44,7 @@ public class UnmodifiablePropertiesTest {
private static final String propValue2 = "testValue2";
private static final String noKey = "unusedKey";
private static final String noValue = "unusedValue";
+ private static final String propHeader = "test header";
private Properties properties = new Properties();
private UnmodifiableProperties unmodifiableProperties = new UnmodifiableProperties(properties);
@@ -84,10 +95,17 @@ public class UnmodifiablePropertiesTest {
}
@Test
+ public final void testElements() {
+ Enumeration<Object> propValues = unmodifiableProperties.elements();
+ Assert.assertEquals(propValue2, propValues.nextElement());
+ Assert.assertEquals(propValue1, propValues.nextElement());
+ }
+
+ @Test
public final void testEntrySet() {
- // Should match my properties K/V entries in setUp.
// Expect entrySet=[testKey2=testValue2, testKey1=testValue1].
- Assert.assertEquals(properties.entrySet(), unmodifiableProperties.entrySet());
+ Assert.assertEquals("Should match my properties K/V entries in setUp", properties.entrySet(),
+ unmodifiableProperties.entrySet());
}
@Test
@@ -112,10 +130,91 @@ public class UnmodifiablePropertiesTest {
}
@Test
+ public final void testHashCode() {
+ Assert.assertEquals("Should match my properties.hashcode() int.", properties.hashCode(),
+ unmodifiableProperties.hashCode());
+ }
+
+ @Test
public final void testIsEmpty() {
Assert.assertFalse(unmodifiableProperties.isEmpty());
}
+ @Test
+ public final void testKeys() {
+ Enumeration<Object> propKeys = unmodifiableProperties.keys();
+ Assert.assertEquals(propKey2, propKeys.nextElement());
+ Assert.assertEquals(propKey1, propKeys.nextElement());
+ }
+
+ @Test
+ public final void testKeySet() {
+ // Expect keySet=[testKey2, testKey1].
+ Assert.assertEquals("Should match my properties key entries in SetUp", properties.keySet(),
+ unmodifiableProperties.keySet());
+ }
+
+ @Test
+ public final void testListPrintStream() {
+ ByteArrayOutputStream propByteArray = new ByteArrayOutputStream();
+ PrintStream listOut = new PrintStream(propByteArray);
+ unmodifiableProperties.list(listOut);
+ String propList = new String(propByteArray.toByteArray());
+ Assert.assertThat(propList, CoreMatchers.containsString("testKey2=testValue2"));
+ Assert.assertThat(propList, CoreMatchers.containsString("testKey1=testValue1"));
+ }
+
+ @Test
+ public final void testListPrintWriter() {
+ StringWriter listOut = new StringWriter();
+ PrintWriter writer = new PrintWriter(listOut);
+ unmodifiableProperties.list(writer);
+ String propList = listOut.toString();
+ Assert.assertThat(propList, CoreMatchers.containsString("testKey2=testValue2"));
+ Assert.assertThat(propList, CoreMatchers.containsString("testKey1=testValue1"));
+ }
+
+ @Test
+ public final void testLoadInputStream() throws IOException {
+ InputStream mockInStream = Mockito.mock(InputStream.class);
+ try {
+ unmodifiableProperties.load(mockInStream);
+ } catch (IOException ex) {
+ } catch (UnsupportedOperationException exceptionMessage) {
+ Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
+ }
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
+ public final void testLoadReader() throws IOException {
+ String dummyPair = "key3=testKey3\nvalue3=testValue3";
+ StringReader reader = new StringReader(dummyPair);
+ try {
+ unmodifiableProperties.load(reader);
+ } catch (UnsupportedOperationException exceptionMessage) {
+ Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
+ throw exceptionMessage;
+ }
+ }
+
+ @Test
+ public final void testLoadFromXMLInputStream() throws IOException {
+ InputStream mockInStream = Mockito.mock(InputStream.class);
+ try {
+ unmodifiableProperties.loadFromXML(mockInStream);
+ } catch (IOException ex) {
+ } catch (UnsupportedOperationException exceptionMessage) {
+ Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
+ }
+ }
+
+ @Test
+ public final void testPropertyNames() {
+ Enumeration<?> propNames = unmodifiableProperties.propertyNames();
+ Assert.assertEquals(propKey2, propNames.nextElement());
+ Assert.assertEquals(propKey1, propNames.nextElement());
+ }
+
@Test(expected = UnsupportedOperationException.class)
public final void testPutObjectObject() {
try {
@@ -127,6 +226,16 @@ public class UnmodifiablePropertiesTest {
}
@Test(expected = UnsupportedOperationException.class)
+ public final void testPutAllMapOfQextendsObjectQextendsObject() {
+ try {
+ unmodifiableProperties.putAll(properties);
+ } catch (UnsupportedOperationException exceptionMessage) {
+ Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
+ throw exceptionMessage;
+ }
+ }
+
+ @Test(expected = UnsupportedOperationException.class)
public final void testRehash() {
try {
unmodifiableProperties.rehash();
@@ -146,6 +255,16 @@ public class UnmodifiablePropertiesTest {
}
}
+ @Test
+ public final void testSaveOutputStreamString() {
+ // Appl method is deprecated, but I still added this test since it is reachable.
+ OutputStream propByteArray = new ByteArrayOutputStream();
+ unmodifiableProperties.save(propByteArray, propHeader);
+ Assert.assertThat(propByteArray.toString(), CoreMatchers.startsWith("#test header"));
+ Assert.assertThat(propByteArray.toString(), CoreMatchers.containsString("testKey2=testValue2"));
+ Assert.assertThat(propByteArray.toString(), CoreMatchers.containsString("testKey1=testValue1"));
+ }
+
@Test(expected = UnsupportedOperationException.class)
public final void testSetPropertyStringString() {
try {
@@ -162,13 +281,62 @@ public class UnmodifiablePropertiesTest {
}
@Test
+ public final void testStoreOutputStreamString() throws IOException {
+ OutputStream propByteArray = new ByteArrayOutputStream();
+ unmodifiableProperties.store(propByteArray, propHeader);
+ // adds comment header and streams/appends properties file into propByteArray
+ // expected = "#test header\n#<Date>\ntestKey2=testValue2\ntestKey1=testValue1"
+ Assert.assertThat(propByteArray.toString(), CoreMatchers.startsWith("#test header"));
+ Assert.assertThat(propByteArray.toString(), CoreMatchers.containsString("testKey2=testValue2"));
+ Assert.assertThat(propByteArray.toString(), CoreMatchers.containsString("testKey1=testValue1"));
+ }
+
+ @Test
+ public final void testStoreWriterString() throws IOException {
+ StringWriter writer = new StringWriter();
+ unmodifiableProperties.store(writer, propHeader);
+ Assert.assertThat(writer.toString(), CoreMatchers.startsWith("#test header"));
+ Assert.assertThat(writer.toString(), CoreMatchers.containsString("testKey2=testValue2"));
+ Assert.assertThat(writer.toString(), CoreMatchers.containsString("testKey1=testValue1"));
+ }
+
+ @Test
+ public final void testStoreToXMLOutputStreamString() throws IOException {
+ OutputStream propByteArray = new ByteArrayOutputStream();
+ unmodifiableProperties.storeToXML(propByteArray, propHeader);
+ // adds XML comment header and streams/appends XML properties file into propByteArray
+ Assert.assertThat(propByteArray.toString(), CoreMatchers.containsString("<comment>test header</comment>"));
+ Assert.assertThat(propByteArray.toString(),
+ CoreMatchers.containsString("<entry key=\"testKey2\">testValue2</entry>"));
+ Assert.assertThat(propByteArray.toString(),
+ CoreMatchers.containsString("<entry key=\"testKey1\">testValue1</entry>"));
+ }
+
+ @Test
+ public final void testStoreToXMLOutputStreamStringString() throws IOException {
+ OutputStream propByteArray = new ByteArrayOutputStream();
+ unmodifiableProperties.storeToXML(propByteArray, propHeader, "UTF-8");
+ // adds XML comment header and streams/appends XML properties file into propByteArray
+ Assert.assertThat(propByteArray.toString(), CoreMatchers.containsString("<comment>test header</comment>"));
+ Assert.assertThat(propByteArray.toString(),
+ CoreMatchers.containsString("<entry key=\"testKey2\">testValue2</entry>"));
+ Assert.assertThat(propByteArray.toString(),
+ CoreMatchers.containsString("<entry key=\"testKey1\">testValue1</entry>"));
+ }
+
+ @Test
public final void testStringPropertyNames() {
- Assert.assertEquals(properties.stringPropertyNames(),unmodifiableProperties.stringPropertyNames());
+ Assert.assertEquals(properties.stringPropertyNames(), unmodifiableProperties.stringPropertyNames());
}
@Test
public final void testToString() {
// toString=[{testKey2=testValue2, testKey1=testValue1}]
- Assert.assertEquals(properties.toString(),unmodifiableProperties.toString());
+ Assert.assertEquals(properties.toString(), unmodifiableProperties.toString());
+ }
+
+ @Test
+ public final void testValues() {
+ Assert.assertEquals(properties.values().toString(), unmodifiableProperties.values().toString());
}
}