aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2019-07-18 11:41:19 +0300
committerIttay Stern <ittay.stern@att.com>2019-07-18 11:06:53 +0000
commit3bf5f113cd4dfefdbc27f01fd7ec7c5e39d48695 (patch)
tree052eadd96caf9c84722ddb1952ff0fb807cc307f /vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java
parent0f54454a7f6a26b42aa78c228d63a74f9a619a78 (diff)
Don't override SystemProperties without restoring it
This resolves NullPointerException in Dublin's Jenkins' SyncRestClientForHttpServerTest. Issue-ID: VID-503 (cherry picked from commit ef34f16650be1f251447a7b9a1d9f1369ca459de) Change-Id: I65fbed0a6f6214d9495d0cb6456b3a8e4f094a3d Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java')
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java27
1 files changed, 19 insertions, 8 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java b/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java
index 3d919d72d..756d17534 100644
--- a/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java
+++ b/vid-app-common/src/test/java/org/onap/vid/testUtils/TestUtils.java
@@ -50,6 +50,7 @@ import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.commons.beanutils.BeanUtils;
+import org.apache.commons.lang3.reflect.MethodUtils;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.json.JSONArray;
@@ -61,6 +62,7 @@ import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.onap.portalsdk.core.util.SystemProperties;
import org.onap.vid.asdc.beans.Service;
+import org.springframework.core.env.Environment;
import org.springframework.mock.env.MockEnvironment;
/**
@@ -252,18 +254,27 @@ public class TestUtils {
}
- //Please use resetSystemProperties after using this method, so other test won't be affected
- public static void mockSystemPropertyWithKeyValue(String key, String value) {
- MockEnvironment mockEnvironment = new MockEnvironment();
- mockEnvironment.setProperty(key, value);
+ public interface Test {
- SystemProperties systemProperties = new SystemProperties();
- systemProperties.setEnvironment(mockEnvironment);
+ void apply();
}
- public static void resetSystemProperties() {
+ public static void testWithSystemProperty(String key, String value, Test test) throws Exception {
SystemProperties systemProperties = new SystemProperties();
- systemProperties.setEnvironment(null);
+ //use reflection to invoke protected method
+ Environment originalEnvironment = (Environment) MethodUtils
+ .invokeMethod(systemProperties, true, "getEnvironment");
+
+ try {
+ Environment environment = mock(Environment.class);
+ systemProperties.setEnvironment(environment);
+ when(environment.getRequiredProperty(key)).thenReturn(value);
+ when(environment.containsProperty(key)).thenReturn(true);
+ test.apply();
+ }
+ finally {
+ systemProperties.setEnvironment(originalEnvironment);
+ }
}
}