summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/DmaapSimParameterGroup.java2
-rw-r--r--models-sim/policy-models-simulators/src/main/java/org/onap/policy/models/simulators/SimulatorParameters.java14
-rw-r--r--models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/MainTest.java2
-rw-r--r--models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/SimulatorParametersTest.java46
-rw-r--r--models-sim/policy-models-simulators/src/test/resources/emptyRestServer.json11
-rw-r--r--models-sim/policy-models-simulators/src/test/resources/invalidDmaapName.json10
-rw-r--r--models-sim/policy-models-simulators/src/test/resources/invalidDmaapProvider.json (renamed from models-sim/policy-models-simulators/src/test/resources/invalidDmaapParameters.json)0
-rw-r--r--models-sim/policy-models-simulators/src/test/resources/invalidGrpcServer.json (renamed from models-sim/policy-models-simulators/src/test/resources/invalidGrpcParameters.json)0
-rw-r--r--models-sim/policy-models-simulators/src/test/resources/invalidTopicSweep.json10
9 files changed, 84 insertions, 11 deletions
diff --git a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/DmaapSimParameterGroup.java b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/DmaapSimParameterGroup.java
index 4e2841a08..9719ae93f 100644
--- a/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/DmaapSimParameterGroup.java
+++ b/models-sim/models-sim-dmaap/src/main/java/org/onap/policy/models/sim/dmaap/parameters/DmaapSimParameterGroup.java
@@ -25,10 +25,12 @@ import lombok.Getter;
import org.onap.policy.common.parameters.ParameterGroupImpl;
import org.onap.policy.common.parameters.annotations.Min;
import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
/**
* Class to hold all parameters needed for the DMaaP simulator component.
*/
+@NotNull
@NotBlank
@Getter
public class DmaapSimParameterGroup extends ParameterGroupImpl {
diff --git a/models-sim/policy-models-simulators/src/main/java/org/onap/policy/models/simulators/SimulatorParameters.java b/models-sim/policy-models-simulators/src/main/java/org/onap/policy/models/simulators/SimulatorParameters.java
index c22527165..4b60d5e45 100644
--- a/models-sim/policy-models-simulators/src/main/java/org/onap/policy/models/simulators/SimulatorParameters.java
+++ b/models-sim/policy-models-simulators/src/main/java/org/onap/policy/models/simulators/SimulatorParameters.java
@@ -27,6 +27,8 @@ import lombok.Getter;
import org.onap.policy.common.endpoints.parameters.TopicParameters;
import org.onap.policy.common.parameters.BeanValidationResult;
import org.onap.policy.common.parameters.BeanValidator;
+import org.onap.policy.common.parameters.ObjectValidationResult;
+import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.models.sim.dmaap.parameters.DmaapSimParameterGroup;
/**
@@ -76,7 +78,17 @@ public class SimulatorParameters {
BeanValidationResult result = new BeanValidator().validateTop(containerName, this);
if (dmaapProvider != null) {
- result.addResult(dmaapProvider.validate());
+ // do not want full validation of the provider, so validate the relevant
+ // fields ourselves
+ BeanValidationResult subResult = new BeanValidationResult("dmaapProvider", dmaapProvider);
+ subResult.validateNotNull("name", dmaapProvider.getName());
+ if (dmaapProvider.getTopicSweepSec() < 1) {
+ ObjectValidationResult fieldResult =
+ new ObjectValidationResult("topicSweepSec", dmaapProvider.getTopicSweepSec(),
+ ValidationStatus.INVALID, "is below the minimum value: 1");
+ subResult.addResult(fieldResult);
+ }
+ result.addResult(subResult);
}
if (grpcServer != null) {
diff --git a/models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/MainTest.java b/models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/MainTest.java
index abc27f428..f5598e2e1 100644
--- a/models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/MainTest.java
+++ b/models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/MainTest.java
@@ -109,7 +109,7 @@ public class MainTest {
@Test
public void testConstructor() throws Exception {
- assertThatIllegalArgumentException().isThrownBy(() -> new Main("invalidDmaapParameters.json"))
+ assertThatIllegalArgumentException().isThrownBy(() -> new Main("invalidDmaapProvider.json"))
.withMessage("invalid simulator parameters");
}
diff --git a/models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/SimulatorParametersTest.java b/models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/SimulatorParametersTest.java
index f8d7433d2..8094ca419 100644
--- a/models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/SimulatorParametersTest.java
+++ b/models-sim/policy-models-simulators/src/test/java/org/onap/policy/models/simulators/SimulatorParametersTest.java
@@ -20,6 +20,7 @@
package org.onap.policy.models.simulators;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@@ -34,23 +35,50 @@ public class SimulatorParametersTest {
@Test
public void testValidate() throws CoderException {
-
- // everything populated
SimulatorParameters params = new StandardCoder().decode(new File("src/test/resources/simParameters.json"),
SimulatorParameters.class);
assertNull(params.validate("ValidParams").getResult());
+ }
- // invalid dmaap provider
- params = new StandardCoder().decode(new File("src/test/resources/invalidDmaapParameters.json"),
- SimulatorParameters.class);
+ @Test
+ public void testValidateEmptyRestServer() throws CoderException {
+ SimulatorParameters params = new StandardCoder()
+ .decode(new File("src/test/resources/emptyRestServer.json"), SimulatorParameters.class);
+ assertNull(params.validate("ValidParams").getResult());
+ }
+
+ @Test
+ public void testValidateInvalidDmaapProvider() throws CoderException {
+ SimulatorParameters params = new StandardCoder()
+ .decode(new File("src/test/resources/invalidDmaapProvider.json"), SimulatorParameters.class);
BeanValidationResult result = params.validate("InvalidDmaapParams");
assertFalse(result.isValid());
assertNotNull(result.getResult());
+ }
- // invalid grpc server
- params = new StandardCoder().decode(new File("src/test/resources/invalidGrpcParameters.json"),
- SimulatorParameters.class);
- result = params.validate("InvalidGrpcParams");
+ @Test
+ public void testValidateInvalidDmaapName() throws CoderException {
+ SimulatorParameters params = new StandardCoder().decode(
+ new File("src/test/resources/invalidDmaapName.json"), SimulatorParameters.class);
+ BeanValidationResult result = params.validate("InvalidDmaapParams");
+ assertFalse(result.isValid());
+ assertThat(result.getResult()).contains("item \"name\" value \"null\"");
+ }
+
+ @Test
+ public void testValidateInvalidTopicSweep() throws CoderException {
+ SimulatorParameters params = new StandardCoder().decode(
+ new File("src/test/resources/invalidTopicSweep.json"), SimulatorParameters.class);
+ BeanValidationResult result = params.validate("InvalidDmaapParams");
+ assertFalse(result.isValid());
+ assertThat(result.getResult()).contains("topicSweepSec");
+ }
+
+ @Test
+ public void testValidateInvalidGrpcServer() throws CoderException {
+ SimulatorParameters params = new StandardCoder()
+ .decode(new File("src/test/resources/invalidGrpcServer.json"), SimulatorParameters.class);
+ BeanValidationResult result = params.validate("InvalidGrpcParams");
assertFalse(result.isValid());
assertNotNull(result.getResult());
}
diff --git a/models-sim/policy-models-simulators/src/test/resources/emptyRestServer.json b/models-sim/policy-models-simulators/src/test/resources/emptyRestServer.json
new file mode 100644
index 000000000..4a86253da
--- /dev/null
+++ b/models-sim/policy-models-simulators/src/test/resources/emptyRestServer.json
@@ -0,0 +1,11 @@
+{
+ "dmaapProvider": {
+ "name": "DMaaP simulator",
+ "topicSweepSec": 300,
+ "restServerParameters": {}
+ },
+ "restServers": [],
+ "topicSinks": [],
+ "topicSources": [],
+ "topicServers": []
+}
diff --git a/models-sim/policy-models-simulators/src/test/resources/invalidDmaapName.json b/models-sim/policy-models-simulators/src/test/resources/invalidDmaapName.json
new file mode 100644
index 000000000..889c4c844
--- /dev/null
+++ b/models-sim/policy-models-simulators/src/test/resources/invalidDmaapName.json
@@ -0,0 +1,10 @@
+{
+ "dmaapProvider": {
+ "name": null,
+ "topicSweepSec":300
+ },
+ "restServers": [],
+ "topicSinks": [],
+ "topicSources": [],
+ "topicServers": []
+}
diff --git a/models-sim/policy-models-simulators/src/test/resources/invalidDmaapParameters.json b/models-sim/policy-models-simulators/src/test/resources/invalidDmaapProvider.json
index ff6790144..ff6790144 100644
--- a/models-sim/policy-models-simulators/src/test/resources/invalidDmaapParameters.json
+++ b/models-sim/policy-models-simulators/src/test/resources/invalidDmaapProvider.json
diff --git a/models-sim/policy-models-simulators/src/test/resources/invalidGrpcParameters.json b/models-sim/policy-models-simulators/src/test/resources/invalidGrpcServer.json
index 86e425364..86e425364 100644
--- a/models-sim/policy-models-simulators/src/test/resources/invalidGrpcParameters.json
+++ b/models-sim/policy-models-simulators/src/test/resources/invalidGrpcServer.json
diff --git a/models-sim/policy-models-simulators/src/test/resources/invalidTopicSweep.json b/models-sim/policy-models-simulators/src/test/resources/invalidTopicSweep.json
new file mode 100644
index 000000000..11a37d5c4
--- /dev/null
+++ b/models-sim/policy-models-simulators/src/test/resources/invalidTopicSweep.json
@@ -0,0 +1,10 @@
+{
+ "dmaapProvider": {
+ "name": "DMaaP simulator",
+ "topicSweepSec":0
+ },
+ "restServers": [],
+ "topicSinks": [],
+ "topicSources": [],
+ "topicServers": []
+}