aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoss Armstrong <joss.armstrong@ericsson.com>2019-01-17 10:21:13 +0000
committerTakamune Cho <takamune.cho@att.com>2019-01-17 21:58:56 +0000
commit19a3bc3313ea73b707499c1f003409aee3181255 (patch)
tree0da78781481f2e5d87929496bf691359e48ae5e2
parent01e7a30219bcb92f983d3f4eb9a061e108119257 (diff)
Fix intermittent time based test failures
Fix bug in test code causing intermittent failure and tidy up test code in package Issue-ID: APPC-1331 Change-Id: Ic03b189a797ed6b88c868ec21c79ef037224fcb7 Signed-off-by: Joss Armstrong <joss.armstrong@ericsson.com>
-rw-r--r--appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/JsonUtilTest.java14
-rw-r--r--appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/MessageFormatterTest.java21
-rw-r--r--appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/PathContextTest.java4
-rw-r--r--appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StreamHelperTest.java5
-rw-r--r--appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StringHelperTest.java31
-rw-r--r--appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TestStructuredPropertyHelper.java21
-rw-r--r--appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TimeTest.java56
-rw-r--r--appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java661
8 files changed, 414 insertions, 399 deletions
diff --git a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/JsonUtilTest.java b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/JsonUtilTest.java
index 9de45545c..0ec8dabb6 100644
--- a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/JsonUtilTest.java
+++ b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/JsonUtilTest.java
@@ -5,6 +5,8 @@
* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,18 +25,16 @@
package org.onap.appc.util;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.core.JsonParseException;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import java.io.FileNotFoundException;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import org.junit.Test;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.core.JsonParseException;
-import static org.junit.Assert.*;
public class JsonUtilTest {
diff --git a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/MessageFormatterTest.java b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/MessageFormatterTest.java
index fe7d1a532..0efce8f81 100644
--- a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/MessageFormatterTest.java
+++ b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/MessageFormatterTest.java
@@ -1,3 +1,24 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : APPC
+ * ================================================================================
+ * Copyright (C) 2019 Ericsson
+ * =============================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * ============LICENSE_END=========================================================
+ */
+
package org.onap.appc.util;
import static org.junit.Assert.assertEquals;
diff --git a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/PathContextTest.java b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/PathContextTest.java
index ef538d2e1..a862455e3 100644
--- a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/PathContextTest.java
+++ b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/PathContextTest.java
@@ -5,6 +5,8 @@
* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2018 Nokia Solutions and Networks
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,8 +24,8 @@
*/
package org.onap.appc.util;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
diff --git a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StreamHelperTest.java b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StreamHelperTest.java
index 73c32d644..300a77466 100644
--- a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StreamHelperTest.java
+++ b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StreamHelperTest.java
@@ -5,6 +5,8 @@
* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,8 +25,9 @@
package org.onap.appc.util;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import java.io.ByteArrayInputStream;
import org.junit.Test;
diff --git a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StringHelperTest.java b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StringHelperTest.java
index 1022440b0..5539630d2 100644
--- a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StringHelperTest.java
+++ b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/StringHelperTest.java
@@ -7,6 +7,8 @@
* Copyright (C) 2018 Nokia Solutions and Networks
* =============================================================================
* Modifications Copyright (C) 2018 IBM
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -55,41 +57,40 @@ public class StringHelperTest {
assertEquals(".*", StringHelper.convertToRegex(""));
assertEquals(".*", StringHelper.convertToRegex(" "));
}
-
+
@Test
public void convertToRegex_should_return_proper_regex_when_we_provide_a_proper_string_expression(){
- String expected=".*test\\.jpg.test123\\.jpeg$";
- assertEquals(expected,StringHelper.convertToRegex("*test.jpg+test123.jpeg"));
+ String expected = ".*test\\.jpg.test123\\.jpeg$";
+ assertEquals(expected, StringHelper.convertToRegex("*test.jpg+test123.jpeg"));
}
-
+
@Test
public void test_ResolveToType_with_null_as_input(){
assertNull(StringHelper.resolveToType(null));
}
-
+
@Test
public void test_ResolveToType_with_integer_as_input(){
- Integer expected=-112;
- assertEquals(expected,StringHelper.resolveToType("-112"));
+ Integer expected = -112;
+ assertEquals(expected, StringHelper.resolveToType("-112"));
}
-
+
@Test
public void test_ResolveToType_with_double_as_input(){
- Double expected=-112.12;
- assertEquals(expected,StringHelper.resolveToType("-112.12"));
+ Double expected = -112.12;
+ assertEquals(expected, StringHelper.resolveToType("-112.12"));
}
-
+
@Test
public void test_ResolveToType_with_boolean_as_input(){
- Boolean expected=true;
- assertEquals(expected,StringHelper.resolveToType("true"));
+ Boolean expected = true;
+ assertEquals(expected, StringHelper.resolveToType("true"));
}
-
+
@Test
public void test_ResolveToType_with_date_as_input(){
assertTrue(StringHelper.resolveToType("1994-11-05T08:15:30-05:00") instanceof Date);
}
-
@Test
public void getShortenedString_should_return_null_when_given_null(){
diff --git a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TestStructuredPropertyHelper.java b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TestStructuredPropertyHelper.java
index e61531a8b..8011d4e22 100644
--- a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TestStructuredPropertyHelper.java
+++ b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TestStructuredPropertyHelper.java
@@ -7,6 +7,8 @@
* Copyright (C) 2017 Amdocs
* =============================================================================
* Modifications Copyright (C) 2018 IBM.
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -25,8 +27,13 @@
package org.onap.appc.util;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@@ -199,7 +206,6 @@ public class TestStructuredPropertyHelper {
fail("Unknown provider " + node.toString());
}
}
- // System.out.println(nodes);
}
/**
@@ -232,9 +238,8 @@ public class TestStructuredPropertyHelper {
}
}
}
- // System.out.println(nodes);
}
-
+
@Test
public void testToStringWithValue()
{
@@ -242,10 +247,10 @@ public class TestStructuredPropertyHelper {
Node node = nodes.get(0);
node.setName("testName");
node.setValue("testValue");
- String str= node.toString();
+ String str = node.toString();
assertEquals("testName = testValue",str);
}
-
+
@Test
public void testEquals()
{
@@ -257,7 +262,7 @@ public class TestStructuredPropertyHelper {
node1.setValue("testValue");
assertTrue(node0.equals(node1));
}
-
+
@Test
public void testEqualsWithSameNameAndDifferentValue()
{
@@ -269,7 +274,7 @@ public class TestStructuredPropertyHelper {
node1.setValue("testValue2");
assertFalse(node0.equals(node1));
}
-
+
@Test
public void testEqualsWithSameValueAndDifferentName()
{
diff --git a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TimeTest.java b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TimeTest.java
index 3a73d7a2c..129a4aef1 100644
--- a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TimeTest.java
+++ b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/TimeTest.java
@@ -5,6 +5,8 @@
* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Modifications Copyright (C) 2018 IBM
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -29,6 +31,8 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.text.ParseException;
+import java.time.LocalDate;
+import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.util.Calendar;
@@ -46,6 +50,10 @@ import org.junit.Test;
public class TimeTest {
+ private final Date dateForTests = Date.from(LocalDate.of(2004, 2, 9)
+ .atStartOfDay(ZoneId.systemDefault()).toInstant());
+
+
@Test
public void testAddTime() {
@@ -78,10 +86,8 @@ public class TimeTest {
@Test
public void testGetCurrentUTCDate() {
- Date utcDate = Time.getCurrentUTCDate();
-
ZonedDateTime utc = ZonedDateTime.now(ZoneOffset.UTC);
-
+ Date utcDate = Date.from(utc.toInstant());
long epochSecs = utc.toEpochSecond();
long utcSecs = utcDate.getTime() / 1000;
@@ -94,78 +100,78 @@ public class TimeTest {
final Date dateNow = new Date();
assertTrue(Time.endOfDayLocal(dateNow) instanceof Date);
}
-
+
@Test
public void testGetDateByLocaleAndTimeZone() {
- final Date dateNow = new Date("19-Jul-2018");
+ final Date dateNow = new Date();
Locale locale = new Locale("fr");
TimeZone timeZone = TimeZone.getTimeZone("Europe/France");
assertNotNull(Time.getDateByLocaleAndTimeZone(dateNow,locale,timeZone));
assertTrue(Time.getDateByLocaleAndTimeZone(dateNow,locale,timeZone) instanceof String);
}
-
+
@Test
public void testUtcFormat() {
- final Date date = new Date("19-Jul-2018");
+ final Date date = new Date();
assertNotNull(Time.utcFormat(date));
assertTrue(Time.utcFormat(date) instanceof String);
}
-
+
//this test succeeds if localTime() does not throw an exception
@Test
public void testLocalTime() {
Time.localTime(1532083631);
}
-
+
@Test
public void testSetDate() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2018);
cal.set(Calendar.MONTH, 07);
cal.set(Calendar.DAY_OF_MONTH, 03);
- Calendar cal1= Time.setDate(cal, 2018, 07, 03);
+ Calendar cal1 = Time.setDate(cal, 2018, 07, 03);
assertEquals(cal, cal1);
}
-
+
@Test
public void testStartOfDayLocal() {
assertTrue(Time.startOfDayLocal() instanceof Date);
}
-
+
@Test
public void testTimeStamp() {
assertTrue(Time.timestamp() instanceof XMLGregorianCalendar);
}
-
+
@Test
public void testDateToStringConverterMillis() {
- String dateString=Time.dateToStringConverterMillis(new Date("02/09/2004"));
- String expected="2004-02-09 00:00:00:000";
+ String dateString = Time.dateToStringConverterMillis(dateForTests);
+ String expected = "2004-02-09 00:00:00:000";
assertEquals(expected, dateString);
}
-
+
@Test
public void testStringToDateConverterMillis() throws ParseException{
- Date date=Time.stringToDateConverterMillis("2004-02-09 00:00:00:000");
- Date expected=new Date("02/09/2004");
+ Date date = Time.stringToDateConverterMillis("2004-02-09 00:00:00:000");
+ Date expected = dateForTests;
assertEquals(expected, date);
}
-
+
@Test
public void testTruncateDate() throws ParseException{
- Date date=Time.truncDate(new Date("02/09/2004"));
- Date expected=new Date("02/09/2004");
+ Date date = Time.truncDate(dateForTests);
+ Date expected = dateForTests;
assertEquals(expected, date);
}
-
+
@Test
public void testToDate() throws ParseException, DatatypeConfigurationException{
- Date date=new Date("02/09/2004");
+ Date date = dateForTests;
GregorianCalendar c = new GregorianCalendar();
c.setTime(date);
XMLGregorianCalendar calendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);
- Date actual= Time.toDate(calendar);
- Date expected=new Date("02/09/2004");
+ Date actual = Time.toDate(calendar);
+ Date expected = dateForTests;
assertEquals(expected, actual);
}
}
diff --git a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java
index 87646d9c7..a3b896906 100644
--- a/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java
+++ b/appc-core/appc-common-bundle/src/test/java/org/onap/appc/util/UnmodifiablePropertiesTest.java
@@ -1,342 +1,319 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP : APPC
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * =============================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-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 {
-
- private static final String propKey1 = "testKey1";
- private static final String propKey2 = "testKey2";
- private static final String propValue1 = "testValue1";
- 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);
- private String desiredMessage = "Property cannot be modified!";
-
- @Before
- public void setUp() throws Exception {
- properties.setProperty(propKey1, propValue1);
- properties.setProperty(propKey2, propValue2);
- }
-
- @Test(expected = UnsupportedOperationException.class)
- public void testClear() {
- try {
- unmodifiableProperties.clear();
- } catch (UnsupportedOperationException exceptionMessage) {
- Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
- throw exceptionMessage;
- }
- }
-
- @Test(expected = UnsupportedOperationException.class)
- public void testClone() {
- try {
- unmodifiableProperties.clone();
- } catch (UnsupportedOperationException exceptionMessage) {
- Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
- throw exceptionMessage;
- }
- }
-
- @Test
- public final void testContainsObject() {
- Assert.assertTrue(unmodifiableProperties.contains(propValue2));
- Assert.assertFalse(unmodifiableProperties.contains(noValue));
- }
-
- @Test
- public final void testContainsKeyObject() {
- Assert.assertTrue(unmodifiableProperties.containsKey(propKey1));
- Assert.assertFalse(unmodifiableProperties.containsKey(noKey));
- }
-
- @Test
- public final void testContainsValueObject() {
- Assert.assertTrue(unmodifiableProperties.containsValue(propValue1));
- Assert.assertFalse(unmodifiableProperties.containsValue(noValue));
- }
-
- @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() {
- // Expect entrySet=[testKey2=testValue2, testKey1=testValue1].
- Assert.assertEquals("Should match my properties K/V entries in setUp", properties.entrySet(),
- unmodifiableProperties.entrySet());
- }
-
- @Test
- public final void testEqualsObject() {
- Assert.assertTrue(unmodifiableProperties.equals(properties));
- }
-
- @Test
- public final void testGetObject() {
- Assert.assertEquals(propValue2, unmodifiableProperties.get(propKey2));
- }
-
- @Test
- public final void testGetPropertyString() {
- Assert.assertEquals(propValue1, unmodifiableProperties.getProperty("testKey1"));
- }
-
- @Test
- public final void testGetPropertyStringString() {
- Assert.assertEquals(propValue2, unmodifiableProperties.getProperty(propKey2, noValue));
- Assert.assertEquals(propValue2, unmodifiableProperties.getProperty(noKey, propValue2));
- }
-
- @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 {
- unmodifiableProperties.put(propKey2, propValue1);
- } catch (UnsupportedOperationException exceptionMessage) {
- Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
- throw exceptionMessage;
- }
- }
-
- @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();
- } catch (UnsupportedOperationException exceptionMessage) {
- Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
- throw exceptionMessage;
- }
- }
-
- @Test(expected = UnsupportedOperationException.class)
- public final void testRemoveObject() {
- try {
- unmodifiableProperties.remove(propKey1);
- } catch (UnsupportedOperationException exceptionMessage) {
- Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
- throw exceptionMessage;
- }
- }
-
- @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 {
- unmodifiableProperties.setProperty(propKey1, propValue2);
- } catch (UnsupportedOperationException exceptionMessage) {
- Assert.assertEquals(desiredMessage, exceptionMessage.getMessage());
- throw exceptionMessage;
- }
- }
-
- @Test
- public final void testSize() {
- Assert.assertEquals(2, unmodifiableProperties.size());
- }
-
- @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());
- }
-
- @Test
- public final void testToString() {
- // toString=[{testKey2=testValue2, testKey1=testValue1}]
- Assert.assertEquals(properties.toString(), unmodifiableProperties.toString());
- }
-
- @Test
- public final void testValues() {
- Assert.assertEquals(properties.values().toString(), unmodifiableProperties.values().toString());
- }
-}
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APPC
+ * ================================================================================
+ * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
+ * =============================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.appc.util;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+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 {
+
+ private static final String propKey1 = "testKey1";
+ private static final String propKey2 = "testKey2";
+ private static final String propValue1 = "testValue1";
+ 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);
+ private String desiredMessage = "Property cannot be modified!";
+
+ @Rule
+ public ExpectedException expectedEx = ExpectedException.none();
+
+ @Before
+ public void setUp() throws Exception {
+ properties.setProperty(propKey1, propValue1);
+ properties.setProperty(propKey2, propValue2);
+ }
+
+ @Test
+ public void testClear() {
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.clear();
+ }
+
+ @Test
+ public void testClone() {
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.clone();
+ }
+
+ @Test
+ public final void testContainsObject() {
+ Assert.assertTrue(unmodifiableProperties.contains(propValue2));
+ Assert.assertFalse(unmodifiableProperties.contains(noValue));
+ }
+
+ @Test
+ public final void testContainsKeyObject() {
+ Assert.assertTrue(unmodifiableProperties.containsKey(propKey1));
+ Assert.assertFalse(unmodifiableProperties.containsKey(noKey));
+ }
+
+ @Test
+ public final void testContainsValueObject() {
+ Assert.assertTrue(unmodifiableProperties.containsValue(propValue1));
+ Assert.assertFalse(unmodifiableProperties.containsValue(noValue));
+ }
+
+ @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() {
+ // Expect entrySet=[testKey2=testValue2, testKey1=testValue1].
+ Assert.assertEquals("Should match my properties K/V entries in setUp", properties.entrySet(),
+ unmodifiableProperties.entrySet());
+ }
+
+ @Test
+ public final void testEqualsObject() {
+ Assert.assertTrue(unmodifiableProperties.equals(properties));
+ }
+
+ @Test
+ public final void testGetObject() {
+ Assert.assertEquals(propValue2, unmodifiableProperties.get(propKey2));
+ }
+
+ @Test
+ public final void testGetPropertyString() {
+ Assert.assertEquals(propValue1, unmodifiableProperties.getProperty("testKey1"));
+ }
+
+ @Test
+ public final void testGetPropertyStringString() {
+ Assert.assertEquals(propValue2, unmodifiableProperties.getProperty(propKey2, noValue));
+ Assert.assertEquals(propValue2, unmodifiableProperties.getProperty(noKey, propValue2));
+ }
+
+ @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);
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.load(mockInStream);
+ }
+
+ @Test
+ public final void testLoadReader() throws IOException {
+ String dummyPair = "key3=testKey3\nvalue3=testValue3";
+ StringReader reader = new StringReader(dummyPair);
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.load(reader);
+ }
+
+ @Test
+ public final void testLoadFromXMLInputStream() throws IOException {
+ InputStream mockInStream = Mockito.mock(InputStream.class);
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.loadFromXML(mockInStream);
+ }
+
+ @Test
+ public final void testPropertyNames() {
+ Enumeration<?> propNames = unmodifiableProperties.propertyNames();
+ Assert.assertEquals(propKey2, propNames.nextElement());
+ Assert.assertEquals(propKey1, propNames.nextElement());
+ }
+
+ @Test
+ public final void testPutObjectObject() {
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.put(propKey2, propValue1);
+ }
+
+ @Test
+ public final void testPutAllMapOfQextendsObjectQextendsObject() {
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.putAll(properties);
+ }
+
+ @Test
+ public final void testRehash() {
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.rehash();
+ }
+
+ @Test
+ public final void testRemoveObject() {
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.remove(propKey1);
+ }
+
+ @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
+ public final void testSetPropertyStringString() {
+ expectedEx.expect(UnsupportedOperationException.class);
+ expectedEx.expectMessage(desiredMessage);
+ unmodifiableProperties.setProperty(propKey1, propValue2);
+ }
+
+ @Test
+ public final void testSize() {
+ Assert.assertEquals(2, unmodifiableProperties.size());
+ }
+
+ @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());
+ }
+
+ @Test
+ public final void testToString() {
+ // toString=[{testKey2=testValue2, testKey1=testValue1}]
+ Assert.assertEquals(properties.toString(), unmodifiableProperties.toString());
+ }
+
+ @Test
+ public final void testValues() {
+ Assert.assertEquals(properties.values().toString(), unmodifiableProperties.values().toString());
+ }
+}