aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/test')
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/PapConstantsTest.java33
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/comm/MultiPdpStatusListenerTest.java4
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/parameters/CommonTestData.java44
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpParameters.java95
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpRequestParameters.java76
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpStateChangeParameters.java51
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpUpdateParameters.java51
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/rest/CommonPapRestServer.java40
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java11
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/rest/TestStatisticsRestControllerV1.java28
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java19
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java30
-rw-r--r--main/src/test/resources/parameters/MinimumParameters.json10
-rw-r--r--main/src/test/resources/parameters/PapConfigParameters.json24
-rw-r--r--main/src/test/resources/parameters/PapConfigParameters_InvalidName.json10
15 files changed, 450 insertions, 76 deletions
diff --git a/main/src/test/java/org/onap/policy/pap/main/PapConstantsTest.java b/main/src/test/java/org/onap/policy/pap/main/PapConstantsTest.java
new file mode 100644
index 00000000..9509d03b
--- /dev/null
+++ b/main/src/test/java/org/onap/policy/pap/main/PapConstantsTest.java
@@ -0,0 +1,33 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP PAP
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.pap.main;
+
+import org.junit.Test;
+import org.powermock.reflect.Whitebox;
+
+public class PapConstantsTest {
+
+ @Test
+ public void test() throws Exception {
+ // verify that constructor does not throw an exception
+ Whitebox.invokeConstructor(PapConstants.class);
+ }
+}
diff --git a/main/src/test/java/org/onap/policy/pap/main/comm/MultiPdpStatusListenerTest.java b/main/src/test/java/org/onap/policy/pap/main/comm/MultiPdpStatusListenerTest.java
index d0dba808..9cef0c95 100644
--- a/main/src/test/java/org/onap/policy/pap/main/comm/MultiPdpStatusListenerTest.java
+++ b/main/src/test/java/org/onap/policy/pap/main/comm/MultiPdpStatusListenerTest.java
@@ -31,9 +31,9 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.Test;
import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
+import org.onap.policy.models.pdp.concepts.PdpResponseDetails;
+import org.onap.policy.models.pdp.concepts.PdpStatus;
import org.onap.policy.pap.main.comm.MultiPdpStatusListener;
-import org.onap.policy.pdp.common.models.PdpResponseDetails;
-import org.onap.policy.pdp.common.models.PdpStatus;
public class MultiPdpStatusListenerTest {
private static final CommInfrastructure INFRA = CommInfrastructure.NOOP;
diff --git a/main/src/test/java/org/onap/policy/pap/main/parameters/CommonTestData.java b/main/src/test/java/org/onap/policy/pap/main/parameters/CommonTestData.java
index 8054194b..9d0a1abb 100644
--- a/main/src/test/java/org/onap/policy/pap/main/parameters/CommonTestData.java
+++ b/main/src/test/java/org/onap/policy/pap/main/parameters/CommonTestData.java
@@ -21,6 +21,7 @@
package org.onap.policy.pap.main.parameters;
+import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import org.onap.policy.common.parameters.ParameterGroup;
@@ -72,7 +73,7 @@ public class CommonTestData {
map.put("name", name);
map.put("restServerParameters", getRestServerParametersMap(false));
- map.put("pdpGroupDeploymentParameters", getPdpGroupDeploymentParametersMap());
+ map.put("pdpParameters", getPdpParametersMap());
return map;
}
@@ -99,6 +100,47 @@ public class CommonTestData {
}
/**
+ * Returns a property map for a PdpParameters map for test cases.
+ * @return a property map suitable for constructing an object
+ */
+ public Map<String,Object> getPdpParametersMap() {
+ Map<String,Object> map = new TreeMap<>();
+
+ map.put("updateParameters", getPdpUpdateParametersMap());
+ map.put("stateChangeParameters", getPdpStateChangeParametersMap());
+
+ return map;
+ }
+
+ /**
+ * Returns a property map for a PdpUpdateParameters map for test cases.
+ * @return a property map suitable for constructing an object
+ */
+ public Map<String,Object> getPdpUpdateParametersMap() {
+ return getPdpRequestParametersMap();
+ }
+
+ /**
+ * Returns a property map for a PdpStateChangeParameters map for test cases.
+ * @return a property map suitable for constructing an object
+ */
+ public Map<String,Object> getPdpStateChangeParametersMap() {
+ return getPdpRequestParametersMap();
+ }
+
+ /**
+ * Returns a property map for a PdpParameters map for test cases.
+ * @return a property map suitable for constructing an object
+ */
+ public Map<String,Object> getPdpRequestParametersMap() {
+ Map<String, Object> map = new HashMap<>();
+ map.put("maxRetryCount", "1");
+ map.put("maxWaitMs", "2");
+
+ return map;
+ }
+
+ /**
* Returns a property map for a PdpGroupDeploymentParameters map for test cases.
*
* @return a property map suitable for constructing an object
diff --git a/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpParameters.java b/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpParameters.java
new file mode 100644
index 00000000..05bcc103
--- /dev/null
+++ b/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpParameters.java
@@ -0,0 +1,95 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP PAP
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.pap.main.parameters;
+
+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 java.util.Map;
+import org.junit.Test;
+import org.onap.policy.common.parameters.GroupValidationResult;
+
+public class TestPdpParameters {
+ private static CommonTestData testData = new CommonTestData();
+
+ @Test
+ public void testGetters() {
+ PdpParameters params = testData.toObject(testData.getPdpParametersMap(), PdpParameters.class);
+
+ PdpUpdateParameters update = params.getUpdateParameters();
+ assertNotNull(update);
+ assertEquals(1, update.getMaxRetryCount());
+
+ PdpStateChangeParameters state = params.getStateChangeParameters();
+ assertNotNull(state);
+ assertEquals(2, state.getMaxWaitMs());
+ }
+
+ @Test
+ public void testValidate() {
+ // valid
+ Map<String, Object> map = testData.getPdpParametersMap();
+ GroupValidationResult result = testData.toObject(map, PdpParameters.class).validate();
+ assertNull(result.getResult());
+ assertTrue(result.isValid());
+
+ // no update params
+ map = testData.getPdpParametersMap();
+ map.remove("updateParameters");
+ result = testData.toObject(map, PdpParameters.class).validate();
+ assertFalse(result.isValid());
+ assertTrue(result.getResult().contains("field 'updateParameters'".replace('\'', '"')));
+ assertTrue(result.getResult().contains("is null"));
+
+ // invalid update params
+ map = testData.getPdpParametersMap();
+ @SuppressWarnings("unchecked")
+ Map<String, Object> updmap = (Map<String, Object>) map.get("updateParameters");
+ updmap.put("maxRetryCount", "-2");
+ result = testData.toObject(map, PdpParameters.class).validate();
+ assertFalse(result.isValid());
+ assertTrue(result.getResult().contains("parameter group 'PdpUpdateParameters'".replace('\'', '"')));
+ assertTrue(result.getResult().contains(
+ "field 'maxRetryCount' type 'int' value '-2' INVALID, must be >= 0".replace('\'', '"')));
+
+ // no state-change params
+ map = testData.getPdpParametersMap();
+ map.remove("stateChangeParameters");
+ result = testData.toObject(map, PdpParameters.class).validate();
+ assertFalse(result.isValid());
+
+ // invalid state-change params
+ map = testData.getPdpParametersMap();
+ @SuppressWarnings("unchecked")
+ Map<String, Object> statemap = (Map<String, Object>) map.get("stateChangeParameters");
+ statemap.put("maxRetryCount", "-3");
+ result = testData.toObject(map, PdpParameters.class).validate();
+ assertFalse(result.isValid());
+ System.out.println(result.getResult());
+ assertTrue(result.getResult().contains("parameter group 'PdpStateChangeParameters'".replace('\'', '"')));
+ assertTrue(result.getResult().contains(
+ "field 'maxRetryCount' type 'int' value '-3' INVALID, must be >= 0".replace('\'', '"')));
+ }
+
+}
diff --git a/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpRequestParameters.java b/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpRequestParameters.java
new file mode 100644
index 00000000..e852442f
--- /dev/null
+++ b/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpRequestParameters.java
@@ -0,0 +1,76 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP PAP
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.pap.main.parameters;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.utils.coder.Coder;
+import org.onap.policy.common.utils.coder.StandardCoder;
+
+public class TestPdpRequestParameters {
+ private static final Coder coder = new StandardCoder();
+
+ @Test
+ public void test() throws Exception {
+ PdpRequestParameters params = makeParams(10, 20);
+ assertEquals(10, params.getMaxRetryCount());
+ assertEquals(20, params.getMaxWaitMs());
+ }
+
+ @Test
+ public void testValidate() throws Exception {
+ // valid, zeroes
+ PdpRequestParameters params = makeParams(0, 0);
+ GroupValidationResult result = params.validate();
+ assertNull(result.getResult());
+ assertTrue(result.isValid());
+
+ // valid
+ params = makeParams(100, 110);
+ result = params.validate();
+ assertNull(result.getResult());
+ assertTrue(result.isValid());
+
+ // invalid retry count
+ params = makeParams(-1, 120);
+ result = params.validate();
+ assertFalse(result.isValid());
+ assertTrue(result.getResult().contains(
+ "field 'maxRetryCount' type 'int' value '-1' INVALID, must be >= 0".replace('\'', '"')));
+
+ // invalid wait time
+ params = makeParams(130, -1);
+ result = params.validate();
+ assertFalse(result.isValid());
+ assertTrue(result.getResult()
+ .contains("field 'maxWaitMs' type 'long' value '-1' INVALID, must be >= 0".replace('\'', '"')));
+ }
+
+ private PdpRequestParameters makeParams(int maxRetry, long maxWait) throws Exception {
+ String json = "{'name':'abc', 'maxRetryCount':" + maxRetry + ", 'maxWaitMs':" + maxWait + "}";
+ return coder.decode(json.replace('\'', '"'), PdpRequestParameters.class);
+ }
+}
diff --git a/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpStateChangeParameters.java b/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpStateChangeParameters.java
new file mode 100644
index 00000000..5744303f
--- /dev/null
+++ b/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpStateChangeParameters.java
@@ -0,0 +1,51 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP PAP
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.pap.main.parameters;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.utils.coder.Coder;
+import org.onap.policy.common.utils.coder.StandardCoder;
+
+/**
+ * As {@link TestPdpRequestParameters} tests the "getXxx()" methods, all we need to verify
+ * here is that the object is valid after loading from JSON.
+ */
+public class TestPdpStateChangeParameters {
+ private static final Coder coder = new StandardCoder();
+
+ @Test
+ public void testValidate() throws Exception {
+ // valid, zeroes
+ PdpStateChangeParameters params = makeParams(10, 20);
+ GroupValidationResult result = params.validate();
+ assertNull(result.getResult());
+ assertTrue(result.isValid());
+ }
+
+ private PdpStateChangeParameters makeParams(int maxRetry, long maxWait) throws Exception {
+ String json = "{'maxRetryCount':" + maxRetry + ", 'maxWaitMs':" + maxWait + "}";
+ return coder.decode(json.replace('\'', '"'), PdpStateChangeParameters.class);
+ }
+}
diff --git a/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpUpdateParameters.java b/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpUpdateParameters.java
new file mode 100644
index 00000000..6866c401
--- /dev/null
+++ b/main/src/test/java/org/onap/policy/pap/main/parameters/TestPdpUpdateParameters.java
@@ -0,0 +1,51 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP PAP
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.pap.main.parameters;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.utils.coder.Coder;
+import org.onap.policy.common.utils.coder.StandardCoder;
+
+/**
+ * As {@link TestPdpRequestParameters} tests the "getXxx()" methods, all we need to verify
+ * here is that the object is valid after loading from JSON.
+ */
+public class TestPdpUpdateParameters {
+ private static final Coder coder = new StandardCoder();
+
+ @Test
+ public void testValidate() throws Exception {
+ // valid, zeroes
+ PdpUpdateParameters params = makeParams(10, 20);
+ GroupValidationResult result = params.validate();
+ assertNull(result.getResult());
+ assertTrue(result.isValid());
+ }
+
+ private PdpUpdateParameters makeParams(int maxRetry, long maxWait) throws Exception {
+ String json = "{'maxRetryCount':" + maxRetry + ", 'maxWaitMs':" + maxWait + "}";
+ return coder.decode(json.replace('\'', '"'), PdpUpdateParameters.class);
+ }
+}
diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/CommonPapRestServer.java b/main/src/test/java/org/onap/policy/pap/main/rest/CommonPapRestServer.java
index 25ab1c37..32eb3b2c 100644
--- a/main/src/test/java/org/onap/policy/pap/main/rest/CommonPapRestServer.java
+++ b/main/src/test/java/org/onap/policy/pap/main/rest/CommonPapRestServer.java
@@ -26,7 +26,6 @@ import static org.junit.Assert.assertTrue;
import java.io.File;
import java.security.SecureRandom;
-import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.function.Function;
@@ -37,15 +36,20 @@ import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import org.glassfish.jersey.client.ClientProperties;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
+import org.onap.policy.common.gson.GsonMessageBodyHandler;
import org.onap.policy.common.utils.coder.Coder;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.network.NetworkUtil;
+import org.onap.policy.common.utils.services.Registry;
+import org.onap.policy.pap.main.PapConstants;
import org.onap.policy.pap.main.PolicyPapException;
+import org.onap.policy.pap.main.parameters.CommonTestData;
import org.onap.policy.pap.main.startstop.Main;
import org.onap.policy.pap.main.startstop.PapActivator;
import org.powermock.reflect.Whitebox;
@@ -119,7 +123,7 @@ public class CommonPapRestServer {
startMain();
}
- activatorWasAlive = PapActivator.getCurrent().isAlive();
+ activatorWasAlive = Registry.get(PapConstants.REG_PAP_ACTIVATOR, PapActivator.class).isAlive();
}
/**
@@ -127,7 +131,7 @@ public class CommonPapRestServer {
*/
@After
public void tearDown() {
- Whitebox.setInternalState(PapActivator.getCurrent(), "alive", activatorWasAlive);
+ markActivator(activatorWasAlive);
}
/**
@@ -149,20 +153,11 @@ public class CommonPapRestServer {
* @throws Exception if an error occurs
*/
private static void makeConfigFile() throws Exception {
- Map<String, Object> restParams = new HashMap<>();
- restParams.put("host", "0.0.0.0");
- restParams.put("port", port);
- restParams.put("userName", "healthcheck");
- restParams.put("password", "zb!XztG34");
- restParams.put("https", true);
-
- Map<String, Object> pdpGroupDeploy = new HashMap<>();
- pdpGroupDeploy.put("waitResponseMs", "0");
+ Map<String, Object> config = new CommonTestData().getPapParameterGroupMap("PapGroup");
- Map<String, Object> config = new HashMap<>();
- config.put("name", "PapGroup");
- config.put("restServerParameters", restParams);
- config.put("pdpGroupDeploymentParameters", pdpGroupDeploy);
+ @SuppressWarnings("unchecked")
+ Map<String, Object> restParams = (Map<String, Object>) config.get("restServerParameters");
+ restParams.put("port", port);
File file = new File("src/test/resources/parameters/TestConfigParams.json");
file.deleteOnExit();
@@ -176,6 +171,8 @@ public class CommonPapRestServer {
* @throws Exception if an error occurs
*/
private static void startMain() throws Exception {
+ Registry.newRegistry();
+
// make sure port is available
if (NetworkUtil.isTcpPortOpen("localhost", port, 1, 1L)) {
throw new IllegalStateException("port " + port + " is still in use");
@@ -218,7 +215,13 @@ public class CommonPapRestServer {
* Mark the activator as dead, but leave its REST server running.
*/
protected void markActivatorDead() {
- Whitebox.setInternalState(PapActivator.getCurrent(), "alive", false);
+ markActivator(false);
+ }
+
+ private void markActivator(boolean wasAlive) {
+ Object manager = Whitebox.getInternalState(Registry.get(PapConstants.REG_PAP_ACTIVATOR, PapActivator.class),
+ "serviceManager");
+ Whitebox.setInternalState(manager, "running", wasAlive);
}
/**
@@ -272,6 +275,9 @@ public class CommonPapRestServer {
ClientBuilder.newBuilder().sslContext(sc).hostnameVerifier((host, session) -> true);
final Client client = clientBuilder.build();
+ client.property(ClientProperties.METAINF_SERVICES_LOOKUP_DISABLE, "true");
+ client.register(GsonMessageBodyHandler.class);
+
if (includeAuth) {
final HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic("healthcheck", "zb!XztG34");
client.register(feature);
diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java
index d4e4f81a..b600711f 100644
--- a/main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java
+++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java
@@ -21,8 +21,6 @@
package org.onap.policy.pap.main.rest;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
import org.junit.Test;
@@ -30,14 +28,7 @@ public class TestPapStatisticsManager {
@Test
public void test() {
- PapStatisticsManager mgr = PapStatisticsManager.getInstance();
- assertNotNull(mgr);
-
- // should return the same manager
- assertSame(mgr, PapStatisticsManager.getInstance());
-
- // work with a new object so we don't have to worry about initial counts
- mgr = new PapStatisticsManager();
+ PapStatisticsManager mgr = new PapStatisticsManager();
// try each update
diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestStatisticsRestControllerV1.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestStatisticsRestControllerV1.java
index 9874389e..1894fd7b 100644
--- a/main/src/test/java/org/onap/policy/pap/main/rest/TestStatisticsRestControllerV1.java
+++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestStatisticsRestControllerV1.java
@@ -22,13 +22,11 @@
package org.onap.policy.pap.main.rest;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Modifier;
import javax.ws.rs.client.Invocation;
-import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.common.utils.services.Registry;
+import org.onap.policy.pap.main.PapConstants;
/**
* Class to perform unit test of {@link PapRestServer}.
@@ -39,18 +37,6 @@ public class TestStatisticsRestControllerV1 extends CommonPapRestServer {
private static final String STATISTICS_ENDPOINT = "statistics";
- /**
- * Set up.
- *
- * @throws Exception if an error occurs
- */
- @Before
- public void setUp() throws Exception {
- super.setUp();
-
- PapStatisticsManager.getInstance().resetAllStatistics();
- }
-
@Test
public void testSwagger() throws Exception {
super.testSwagger(STATISTICS_ENDPOINT);
@@ -76,21 +62,15 @@ public class TestStatisticsRestControllerV1 extends CommonPapRestServer {
markActivatorDead();
- PapStatisticsManager.getInstance().resetAllStatistics();
+ Registry.get(PapConstants.REG_STATISTICS_MANAGER, PapStatisticsManager.class).resetAllStatistics();
Invocation.Builder invocationBuilder = sendRequest(STATISTICS_ENDPOINT);
StatisticsReport report = invocationBuilder.get(StatisticsReport.class);
validateStatisticsReport(report, 0, 500);
}
- @Test
- public void testPapStatisticsConstructorIsProtected() throws Exception {
- final Constructor<PapStatisticsManager> constructor = PapStatisticsManager.class.getDeclaredConstructor();
- assertTrue(Modifier.isProtected(constructor.getModifiers()));
- }
-
private void updateDistributionStatistics() {
- PapStatisticsManager mgr = PapStatisticsManager.getInstance();
+ PapStatisticsManager mgr = Registry.get(PapConstants.REG_STATISTICS_MANAGER, PapStatisticsManager.class);
mgr.updateTotalPdpCount();
mgr.updateTotalPdpGroupCount();
diff --git a/main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java b/main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java
index 37da7e9b..650e8243 100644
--- a/main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java
+++ b/main/src/test/java/org/onap/policy/pap/main/startstop/TestMain.java
@@ -22,10 +22,14 @@
package org.onap.policy.pap.main.startstop;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.common.utils.services.Registry;
+import org.onap.policy.pap.main.PapConstants;
import org.onap.policy.pap.main.PolicyPapException;
import org.onap.policy.pap.main.parameters.CommonTestData;
@@ -38,15 +42,23 @@ public class TestMain {
private Main main;
/**
+ * Set up.
+ */
+ @Before
+ public void setUp() {
+ Registry.newRegistry();
+ }
+
+ /**
* Shuts "main" down.
* @throws Exception if an error occurs
*/
@After
public void tearDown() throws Exception {
// shut down activator
- PapActivator activator = PapActivator.getCurrent();
+ PapActivator activator = Registry.getOrDefault(PapConstants.REG_PAP_ACTIVATOR, PapActivator.class, null);
if (activator != null && activator.isAlive()) {
- activator.terminate();
+ activator.stop();
}
}
@@ -58,6 +70,9 @@ public class TestMain {
assertTrue(main.getParameters().isValid());
assertEquals(CommonTestData.PAP_GROUP_NAME, main.getParameters().getName());
+ // ensure items were added to the registry
+ assertNotNull(Registry.get(PapConstants.REG_PAP_ACTIVATOR, PapActivator.class));
+
main.shutdown();
}
diff --git a/main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java b/main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java
index 059ea0b4..cfa2ae92 100644
--- a/main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java
+++ b/main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java
@@ -24,7 +24,7 @@ package org.onap.policy.pap.main.startstop;
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.io.FileInputStream;
@@ -32,10 +32,13 @@ import java.util.Properties;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.common.utils.services.Registry;
+import org.onap.policy.pap.main.PapConstants;
import org.onap.policy.pap.main.PolicyPapException;
import org.onap.policy.pap.main.parameters.CommonTestData;
import org.onap.policy.pap.main.parameters.PapParameterGroup;
import org.onap.policy.pap.main.parameters.PapParameterHandler;
+import org.onap.policy.pap.main.rest.PapStatisticsManager;
/**
@@ -54,13 +57,15 @@ public class TestPapActivator {
*/
@Before
public void setUp() throws Exception {
+ Registry.newRegistry();
+
final String[] papConfigParameters =
{"-c", "parameters/PapConfigParameters.json", "-p", "parameters/topic.properties"};
final PapCommandLineArguments arguments = new PapCommandLineArguments(papConfigParameters);
final PapParameterGroup parGroup = new PapParameterHandler().getParameters(arguments);
Properties props = new Properties();
- String propFile = arguments.getFullConfigurationFilePath();
+ String propFile = arguments.getFullPropertyFilePath();
try (FileInputStream stream = new FileInputStream(propFile)) {
props.load(stream);
}
@@ -75,37 +80,36 @@ public class TestPapActivator {
@After
public void teardown() throws Exception {
if (activator != null && activator.isAlive()) {
- activator.terminate();
+ activator.stop();
}
}
@Test
public void testPapActivator() throws PolicyPapException {
assertFalse(activator.isAlive());
- activator.initialize();
+ activator.start();
assertTrue(activator.isAlive());
assertTrue(activator.getParameterGroup().isValid());
assertEquals(CommonTestData.PAP_GROUP_NAME, activator.getParameterGroup().getName());
+ // ensure items were added to the registry
+ assertNotNull(Registry.get(PapConstants.REG_PDP_MODIFY_LOCK, Object.class));
+ assertNotNull(Registry.get(PapConstants.REG_STATISTICS_MANAGER, PapStatisticsManager.class));
+
// repeat - should throw an exception
- assertThatIllegalStateException().isThrownBy(() -> activator.initialize());
+ assertThatIllegalStateException().isThrownBy(() -> activator.start());
assertTrue(activator.isAlive());
assertTrue(activator.getParameterGroup().isValid());
}
@Test
- public void testGetCurrent_testSetCurrent() {
- assertSame(activator, PapActivator.getCurrent());
- }
-
- @Test
public void testTerminate() throws Exception {
- activator.initialize();
- activator.terminate();
+ activator.start();
+ activator.stop();
assertFalse(activator.isAlive());
// repeat - should throw an exception
- assertThatIllegalStateException().isThrownBy(() -> activator.terminate());
+ assertThatIllegalStateException().isThrownBy(() -> activator.stop());
assertFalse(activator.isAlive());
}
}
diff --git a/main/src/test/resources/parameters/MinimumParameters.json b/main/src/test/resources/parameters/MinimumParameters.json
index 34a8f802..b35acec5 100644
--- a/main/src/test/resources/parameters/MinimumParameters.json
+++ b/main/src/test/resources/parameters/MinimumParameters.json
@@ -5,5 +5,15 @@
"port":6969,
"userName":"healthcheck",
"password":"zb!XztG34"
+ },
+ "pdpParameters": {
+ "updateParameters": {
+ "maxRetryCount": 1,
+ "maxWaitMs": 1
+ },
+ "stateChangeParameters": {
+ "maxRetryCount": 1,
+ "maxWaitMs": 1
+ }
}
}
diff --git a/main/src/test/resources/parameters/PapConfigParameters.json b/main/src/test/resources/parameters/PapConfigParameters.json
index 08d4f4a5..a510964f 100644
--- a/main/src/test/resources/parameters/PapConfigParameters.json
+++ b/main/src/test/resources/parameters/PapConfigParameters.json
@@ -1,10 +1,20 @@
{
- "name":"PapGroup",
- "restServerParameters":{
- "host":"0.0.0.0",
- "port":6969,
- "userName":"healthcheck",
- "password":"zb!XztG34",
- "https":true
+ "name": "PapGroup",
+ "restServerParameters": {
+ "host": "0.0.0.0",
+ "port": 6969,
+ "userName": "healthcheck",
+ "password": "zb!XztG34",
+ "https": true
+ },
+ "pdpParameters": {
+ "updateParameters": {
+ "maxRetryCount": 1,
+ "maxWaitMs": 1
+ },
+ "stateChangeParameters": {
+ "maxRetryCount": 1,
+ "maxWaitMs": 1
+ }
}
}
diff --git a/main/src/test/resources/parameters/PapConfigParameters_InvalidName.json b/main/src/test/resources/parameters/PapConfigParameters_InvalidName.json
index 80fb8232..7b53b880 100644
--- a/main/src/test/resources/parameters/PapConfigParameters_InvalidName.json
+++ b/main/src/test/resources/parameters/PapConfigParameters_InvalidName.json
@@ -5,5 +5,15 @@
"port":6969,
"userName":"healthcheck",
"password":"zb!XztG34"
+ },
+ "pdpParameters": {
+ "updateParameters": {
+ "maxRetryCount": 1,
+ "maxWaitMs": 1
+ },
+ "stateChangeParameters": {
+ "maxRetryCount": 1,
+ "maxWaitMs": 1
+ }
}
}