aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2021-04-27 15:08:59 -0400
committerJim Hahn <jrh3@att.com>2021-04-29 14:49:33 -0400
commita05cc62b6426d31c23f60dbe4a6f367331431ea4 (patch)
treebb38e4b81c133004ab9541c15db030750957f5f3
parentadfc3ee02f3194a143bcea430e5e3aeb99a23206 (diff)
Remove GroupValidationResult
Removed GroupValidationResult, replacing it with BeanValidationResult. Modified the ParameterGroup subclasses to use BeanValidator, adding annotations where needed to trigger the validations that had been automatically performed by GroupValidationResult. Issue-ID: POLICY-2059 Change-Id: Ib5c0dc0ac3762e68307e63f5ce29efb49208e55d Signed-off-by: Jim Hahn <jrh3@att.com>
-rw-r--r--forwarding/src/main/java/org/onap/policy/distribution/forwarding/parameters/PolicyForwarderParameters.java70
-rw-r--r--main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java194
-rw-r--r--main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java6
-rw-r--r--main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterGroup.java40
-rw-r--r--main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterHandler.java27
-rw-r--r--main/src/test/java/org/onap/policy/distribution/main/parameters/TestPluginHandlerParameters.java23
-rw-r--r--main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyDecoderParameters.java41
-rw-r--r--main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyForwarderParameters.java42
-rw-r--r--main/src/test/java/org/onap/policy/distribution/main/parameters/TestReceptionHandlerParameters.java39
-rw-r--r--main/src/test/resources/expectedValidationResults/InvalidDecoderAndForwarderParameters.txt37
-rw-r--r--main/src/test/resources/expectedValidationResults/InvalidReceptionHandlerParameters.txt11
-rw-r--r--main/src/test/resources/expectedValidationResults/InvalidRestServerParameters.txt12
-rw-r--r--plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java5
-rw-r--r--plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/file/FileSystemReceptionHandlerConfigurationParameterGroup.java26
-rw-r--r--plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/file/TestFileSystemReceptionHandlerConfigurationParameterGroup.java12
-rw-r--r--plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java7
-rw-r--r--reception/src/main/java/org/onap/policy/distribution/reception/parameters/PluginHandlerParameters.java53
-rw-r--r--reception/src/main/java/org/onap/policy/distribution/reception/parameters/PolicyDecoderParameters.java71
-rw-r--r--reception/src/main/java/org/onap/policy/distribution/reception/parameters/ReceptionHandlerParameters.java101
-rw-r--r--reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPluginHandlerParameters.java21
-rw-r--r--reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPolicyDecoderParameters.java19
-rw-r--r--reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestReceptionHandlerParameters.java31
22 files changed, 270 insertions, 618 deletions
diff --git a/forwarding/src/main/java/org/onap/policy/distribution/forwarding/parameters/PolicyForwarderParameters.java b/forwarding/src/main/java/org/onap/policy/distribution/forwarding/parameters/PolicyForwarderParameters.java
index e5c757b1..bc8041a4 100644
--- a/forwarding/src/main/java/org/onap/policy/distribution/forwarding/parameters/PolicyForwarderParameters.java
+++ b/forwarding/src/main/java/org/onap/policy/distribution/forwarding/parameters/PolicyForwarderParameters.java
@@ -2,6 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
@@ -21,23 +22,25 @@
package org.onap.policy.distribution.forwarding.parameters;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import lombok.Getter;
+import org.onap.policy.common.parameters.BeanValidationResult;
+import org.onap.policy.common.parameters.BeanValidator;
import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ValidationStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.onap.policy.common.parameters.annotations.ClassName;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
/**
* Class to hold all the policy forwarder parameters.
*
* @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
*/
+@Getter
+@NotBlank
public class PolicyForwarderParameters implements ParameterGroup {
- private static final Logger LOGGER = LoggerFactory.getLogger(PolicyForwarderParameters.class);
-
- private String forwarderType;
- private String forwarderClassName;
+ private @NotNull String forwarderType;
+ private @NotNull @ClassName String forwarderClassName;
private String forwarderConfigurationName;
/**
@@ -55,33 +58,6 @@ public class PolicyForwarderParameters implements ParameterGroup {
}
/**
- * Return the forwarderType of this PolicyForwarderParameters instance.
- *
- * @return the forwarderType
- */
- public String getForwarderType() {
- return forwarderType;
- }
-
- /**
- * Return the forwarderClassName of this PolicyForwarderParameters instance.
- *
- * @return the forwarderClassName
- */
- public String getForwarderClassName() {
- return forwarderClassName;
- }
-
- /**
- * Return the name of the forwarder configuration of this PolicyForwarderParameters instance.
- *
- * @return the the name of the forwarder configuration
- */
- public String getForwarderConfigurationName() {
- return forwarderConfigurationName;
- }
-
- /**
* {@inheritDoc}.
*/
@Override
@@ -101,27 +77,7 @@ public class PolicyForwarderParameters implements ParameterGroup {
* {@inheritDoc}.
*/
@Override
- public GroupValidationResult validate() {
- final GroupValidationResult validationResult = new GroupValidationResult(this);
- if (forwarderType == null || forwarderType.trim().length() == 0) {
- validationResult.setResult("forwarderType", ValidationStatus.INVALID, "must be a non-blank string");
- }
- if (forwarderClassName == null || forwarderClassName.trim().length() == 0) {
- validationResult.setResult("forwarderClassName", ValidationStatus.INVALID,
- "must be a non-blank string containing full class name of the forwarder");
- } else {
- validatePolicyForwarderClass(validationResult);
- }
- return validationResult;
- }
-
- private void validatePolicyForwarderClass(final GroupValidationResult validationResult) {
- try {
- Class.forName(forwarderClassName);
- } catch (final ClassNotFoundException exp) {
- LOGGER.trace("policy forwarder class not found in classpath", exp);
- validationResult.setResult("forwarderClassName", ValidationStatus.INVALID,
- "policy forwarder class not found in classpath");
- }
+ public BeanValidationResult validate() {
+ return new BeanValidator().validateTop(getClass().getSimpleName(), this);
}
}
diff --git a/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java b/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java
index d568980a..b78031b7 100644
--- a/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java
+++ b/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterGroup.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019, 2021 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.
@@ -23,12 +23,14 @@ package org.onap.policy.distribution.main.parameters;
import java.util.LinkedHashMap;
import java.util.Map;
-import java.util.Map.Entry;
+import lombok.Getter;
+import lombok.Setter;
import org.onap.policy.common.endpoints.parameters.RestServerParameters;
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ValidationStatus;
-import org.onap.policy.common.utils.validation.ParameterValidationUtils;
+import org.onap.policy.common.parameters.ParameterGroupImpl;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
+import org.onap.policy.common.parameters.annotations.Size;
+import org.onap.policy.common.parameters.annotations.Valid;
import org.onap.policy.distribution.reception.parameters.PolicyDecoderConfigurationParameterGroup;
import org.onap.policy.distribution.reception.parameters.ReceptionHandlerConfigurationParameterGroup;
import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
@@ -38,17 +40,26 @@ import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParamet
*
* @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
*/
-public class DistributionParameterGroup implements ParameterGroup {
+@Getter
+@Setter
+@NotNull
+@NotBlank
+public class DistributionParameterGroup extends ParameterGroupImpl {
// @formatter:off
- private String name;
+ @Valid
private RestServerParameters restServerParameters;
- private Map<String, ReceptionHandlerParameters> receptionHandlerParameters;
- private Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters
- = new LinkedHashMap<>();
- private Map<String, PolicyForwarderConfigurationParameterGroup> policyForwarderConfigurationParameters
- = new LinkedHashMap<>();
- private Map<String, PolicyDecoderConfigurationParameterGroup> policyDecoderConfigurationParameters
- = new LinkedHashMap<>();
+
+ @Size(min = 1)
+ private Map<String, @NotNull @Valid ReceptionHandlerParameters> receptionHandlerParameters;
+
+ private Map<String, @NotNull @Valid ReceptionHandlerConfigurationParameterGroup>
+ receptionHandlerConfigurationParameters = new LinkedHashMap<>();
+
+ private Map<String, @NotNull @Valid PolicyForwarderConfigurationParameterGroup>
+ policyForwarderConfigurationParameters = new LinkedHashMap<>();
+
+ private Map<String, @NotNull @Valid PolicyDecoderConfigurationParameterGroup>
+ policyDecoderConfigurationParameters = new LinkedHashMap<>();
// @formatter:on
/**
@@ -61,162 +72,11 @@ public class DistributionParameterGroup implements ParameterGroup {
final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters,
final Map<String, PolicyForwarderConfigurationParameterGroup> policyForwarderConfigurationParameters,
final Map<String, PolicyDecoderConfigurationParameterGroup> policyDecoderConfigurationParameters) {
- this.name = name;
+ super(name);
this.restServerParameters = restServerParameters;
this.receptionHandlerParameters = receptionHandlerParameters;
this.receptionHandlerConfigurationParameters = receptionHandlerConfigurationParameters;
this.policyForwarderConfigurationParameters = policyForwarderConfigurationParameters;
this.policyDecoderConfigurationParameters = policyDecoderConfigurationParameters;
}
-
- /**
- * Return the name of this parameter group instance.
- *
- * @return name the parameter group name
- */
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * Set the name of this parameter group instance.
- *
- * @param name the parameter group name
- */
- @Override
- public void setName(final String name) {
- this.name = name;
- }
-
- /**
- * Return the receptionHandlerParameters of this parameter group instance.
- *
- * @return the receptionHandlerParameters
- */
- public Map<String, ReceptionHandlerParameters> getReceptionHandlerParameters() {
- return receptionHandlerParameters;
- }
-
- /**
- * Return the restServerParameters of this parameter group instance.
- *
- * @return the restServerParameters
- */
- public RestServerParameters getRestServerParameters() {
- return restServerParameters;
- }
-
- /**
- * Gets the reception handler configuration parameter map.
- *
- * @return the reception handler configuration parameter map
- */
- public Map<String, ReceptionHandlerConfigurationParameterGroup> getReceptionHandlerConfigurationParameters() {
- return receptionHandlerConfigurationParameters;
- }
-
- /**
- * Sets the reception handler configuration parameter map.
- *
- * @param receptionHandlerConfigurationParameters the reception handler configuration parameters
- */
- public void setReceptionHandlerConfigurationParameters(
- final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters) {
- this.receptionHandlerConfigurationParameters = receptionHandlerConfigurationParameters;
- }
-
- /**
- * Gets the policy forwarder configuration parameter map.
- *
- * @return the policy forwarder configuration parameter map
- */
- public Map<String, PolicyForwarderConfigurationParameterGroup> getPolicyForwarderConfigurationParameters() {
- return policyForwarderConfigurationParameters;
- }
-
- /**
- * Sets the policy forwarder configuration parameter map.
- *
- * @param policyForwarderConfigurationParameters the policy forwarder configuration parameters
- */
- public void setPolicyForwarderConfigurationParameters(
- final Map<String, PolicyForwarderConfigurationParameterGroup> policyForwarderConfigurationParameters) {
- this.policyForwarderConfigurationParameters = policyForwarderConfigurationParameters;
- }
-
- /**
- * Returns the policy decoder configuration parameter map.
- *
- * @return the policyDecoderConfigurationParameters
- */
- public Map<String, PolicyDecoderConfigurationParameterGroup> getPolicyDecoderConfigurationParameters() {
- return policyDecoderConfigurationParameters;
- }
-
- /**
- * Set the policy decoder configuration parameter map.
- *
- * @param policyDecoderConfigurationParameters the policyDecoderConfigurationParameters to set
- */
- public void setPolicyDecoderConfigurationParameters(
- final Map<String, PolicyDecoderConfigurationParameterGroup> policyDecoderConfigurationParameters) {
- this.policyDecoderConfigurationParameters = policyDecoderConfigurationParameters;
- }
-
- /**
- * Validate the parameter group.
- *
- * @return the result of the validation
- */
- @Override
- public GroupValidationResult validate() {
- final GroupValidationResult validationResult = new GroupValidationResult(this);
- if (!ParameterValidationUtils.validateStringParameter(name)) {
- validationResult.setResult("name", ValidationStatus.INVALID, "must be a non-blank string");
- }
- if (restServerParameters == null) {
- validationResult.setResult("restServerParameters", ValidationStatus.INVALID,
- "must have restServerParameters to configure distribution rest server");
- } else {
- validationResult.setResult("restServerParameters", restServerParameters.validate());
- }
- validateReceptionHandlers(validationResult);
- validateForwarderConfigurations(validationResult);
- validateDecoderConfigurations(validationResult);
- return validationResult;
- }
-
- private void validateReceptionHandlers(final GroupValidationResult validationResult) {
- if (receptionHandlerParameters == null || receptionHandlerParameters.size() == 0) {
- validationResult.setResult("receptionHandlerParameters", ValidationStatus.INVALID,
- "must have at least one reception handler");
- } else {
- for (final Entry<String, ReceptionHandlerParameters> nestedGroupEntry : receptionHandlerParameters
- .entrySet()) {
- validationResult.setResult("receptionHandlerParameters", nestedGroupEntry.getKey(),
- nestedGroupEntry.getValue().validate());
- }
- }
- }
-
- private void validateForwarderConfigurations(final GroupValidationResult validationResult) {
- // @formatter:off
- for (final Entry<String, PolicyForwarderConfigurationParameterGroup> configurationParameters :
- policyForwarderConfigurationParameters.entrySet()) {
- validationResult.setResult("policyForwarderConfigurationParameters", configurationParameters.getKey(),
- configurationParameters.getValue().validate());
- }
- // @formatter:on
- }
-
- private void validateDecoderConfigurations(final GroupValidationResult validationResult) {
- // @formatter:off
- for (final Entry<String, PolicyDecoderConfigurationParameterGroup> configurationParameters :
- policyDecoderConfigurationParameters.entrySet()) {
- validationResult.setResult("policyDecoderConfigurationParameters", configurationParameters.getKey(),
- configurationParameters.getValue().validate());
- }
- // @formatter:on
- }
}
diff --git a/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java b/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java
index ea7cde6d..7807dcc1 100644
--- a/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java
+++ b/main/src/main/java/org/onap/policy/distribution/main/parameters/DistributionParameterHandler.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
* Copyright (C) 2019 Nordix Foundation.
- * Modifications Copyright (C) 2020 AT&T Inc.
+ * Modifications Copyright (C) 2020-2021 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.
@@ -25,7 +25,7 @@ package org.onap.policy.distribution.main.parameters;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.FileReader;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.distribution.main.PolicyDistributionException;
import org.onap.policy.distribution.main.startstop.DistributionCommandLineArguments;
import org.onap.policy.distribution.reception.parameters.PolicyDecoderConfigurationParameterGroup;
@@ -79,7 +79,7 @@ public class DistributionParameterHandler {
}
// validate the parameters
- final GroupValidationResult validationResult = distributionParameterGroup.validate();
+ final ValidationResult validationResult = distributionParameterGroup.validate();
if (!validationResult.isValid()) {
String returnMessage =
"validation error(s) on parameters from \"" + arguments.getConfigurationFilePath() + "\"\n";
diff --git a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterGroup.java b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterGroup.java
index fb5dfbd4..0b5bfcb8 100644
--- a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterGroup.java
+++ b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterGroup.java
@@ -1,7 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2020-2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -23,7 +23,6 @@
package org.onap.policy.distribution.main.parameters;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -31,8 +30,7 @@ import static org.junit.Assert.assertTrue;
import java.util.Map;
import org.junit.Test;
import org.onap.policy.common.endpoints.parameters.RestServerParameters;
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ParameterRuntimeException;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.distribution.main.testclasses.DummyPolicyForwarderParameterGroup;
import org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup;
import org.onap.policy.distribution.reception.parameters.PolicyDecoderConfigurationParameterGroup;
@@ -62,7 +60,7 @@ public class TestDistributionParameterGroup {
final DistributionParameterGroup distributionParameters = new DistributionParameterGroup(
CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, receptionHandlerParameters,
receptionHandlerConfigurations, forwarderConfigurations, decoderConfigurations);
- final GroupValidationResult validationResult = distributionParameters.validate();
+ final ValidationResult validationResult = distributionParameters.validate();
assertTrue(validationResult.isValid());
assertEquals(restServerParameters.getHost(), distributionParameters.getRestServerParameters().getHost());
assertEquals(restServerParameters.getPort(), distributionParameters.getRestServerParameters().getPort());
@@ -116,7 +114,7 @@ public class TestDistributionParameterGroup {
final DistributionParameterGroup distributionParameters =
new DistributionParameterGroup(null, restServerParameters, receptionHandlerParameters,
receptionHandlerConfigurations, forwarderConfigurations, decoderConfigurations);
- final GroupValidationResult validationResult = distributionParameters.validate();
+ final ValidationResult validationResult = distributionParameters.validate();
assertFalse(validationResult.isValid());
assertEquals(null, distributionParameters.getName());
assertEquals(
@@ -132,8 +130,7 @@ public class TestDistributionParameterGroup {
receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY).getPluginHandlerParameters(),
distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
.getPluginHandlerParameters());
- assertTrue(validationResult.getResult().contains(
- "field \"name\" type \"java.lang.String\" value \"null\" INVALID, " + "must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains("\"name\" value \"null\" INVALID, is null");
}
@Test
@@ -151,7 +148,7 @@ public class TestDistributionParameterGroup {
final DistributionParameterGroup distributionParameters =
new DistributionParameterGroup("", restServerParameters, receptionHandlerParameters,
receptionHandlerConfigurations, forwarderConfigurations, decoderConfigurations);
- final GroupValidationResult validationResult = distributionParameters.validate();
+ final ValidationResult validationResult = distributionParameters.validate();
assertFalse(validationResult.isValid());
assertEquals("", distributionParameters.getName());
assertEquals(
@@ -167,8 +164,7 @@ public class TestDistributionParameterGroup {
receptionHandlerParameters.get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY).getPluginHandlerParameters(),
distributionParameters.getReceptionHandlerParameters().get(CommonTestData.DUMMY_RECEPTION_HANDLER_KEY)
.getPluginHandlerParameters());
- assertTrue(validationResult.getResult().contains(
- "field \"name\" type \"java.lang.String\" value \"\" INVALID, " + "must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains("\"name\" value \"\" INVALID, is blank");
}
@Test
@@ -182,9 +178,9 @@ public class TestDistributionParameterGroup {
commonTestData.getPolicyDecoderConfigurationParameters(false);
final DistributionParameterGroup distributionParameters =
new DistributionParameterGroup(CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, null,
- receptionHandlerConfigurations, forwarderConfigurations, decoderConfigurations);
- assertThatThrownBy(distributionParameters::validate).isInstanceOf(ParameterRuntimeException.class)
- .hasMessageContaining("map parameter \"receptionHandlerParameters\" is null");
+ receptionHandlerConfigurations, forwarderConfigurations, decoderConfigurations);
+ assertThat(distributionParameters.validate().getResult())
+ .contains("\"receptionHandlerParameters\" value \"null\" INVALID, is null");
}
@Test
@@ -202,9 +198,9 @@ public class TestDistributionParameterGroup {
CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, receptionHandlerParameters,
receptionHandlerConfigurations, forwarderConfigurations, decoderConfigurations);
distributionParameters.validate();
- final GroupValidationResult result = distributionParameters.validate();
+ final ValidationResult result = distributionParameters.validate();
assertFalse(result.isValid());
- assertTrue(result.getResult().endsWith("must have at least one reception handler\n"));
+ assertThat(result.getResult()).contains("minimum");
}
@Test
@@ -222,11 +218,9 @@ public class TestDistributionParameterGroup {
final DistributionParameterGroup distributionParameters = new DistributionParameterGroup(
CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, receptionHandlerParameters,
receptionHandlerConfigurations, forwarderConfigurations, decoderConfigurations);
- final GroupValidationResult validationResult = distributionParameters.validate();
+ final ValidationResult validationResult = distributionParameters.validate();
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("\"org.onap.policy.common.endpoints.parameters.RestServerParameters\" INVALID, "
- + "parameter group has status INVALID"));
+ assertThat(validationResult.getResult()).contains("\"RestServerParameters\" INVALID");
}
@Test
@@ -244,10 +238,8 @@ public class TestDistributionParameterGroup {
final DistributionParameterGroup distributionParameters = new DistributionParameterGroup(
CommonTestData.DISTRIBUTION_GROUP_NAME, restServerParameters, receptionHandlerParameters,
receptionHandlerConfigurations, forwarderConfigurations, decoderConfigurations);
- final GroupValidationResult validationResult = distributionParameters.validate();
+ final ValidationResult validationResult = distributionParameters.validate();
assertFalse(validationResult.isValid());
- assertThat(validationResult.getResult())
- .contains("parameter group \"UNDEFINED\" INVALID, "
- + "must have restServerParameters to configure distribution rest server");
+ assertThat(validationResult.getResult()).contains("\"restServerParameters\" value \"null\" INVALID, is null");
}
}
diff --git a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterHandler.java b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterHandler.java
index dcafe68c..b83b3fc9 100644
--- a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterHandler.java
+++ b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestDistributionParameterHandler.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
* Modifications Copyright (C) 2020-2021 Nordix Foundation.
- * Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2020-2021 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.
@@ -30,7 +30,6 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import org.junit.Test;
-import org.onap.policy.common.parameters.ParameterRuntimeException;
import org.onap.policy.common.utils.cmd.CommandLineException;
import org.onap.policy.distribution.main.PolicyDistributionException;
import org.onap.policy.distribution.main.startstop.DistributionCommandLineArguments;
@@ -72,8 +71,8 @@ public class TestDistributionParameterHandler {
@Test
public void testParameterHandlerNoParameters() throws PolicyDistributionException, CommandLineException {
- verifyFailure("NoParameters.json", ParameterRuntimeException.class,
- "map parameter \"receptionHandlerParameters\" is null");
+ verifyFailure("NoParameters.json", PolicyDistributionException.class,
+ "\"receptionHandlerParameters\" value \"null\" INVALID, is null");
}
@Test
@@ -136,49 +135,49 @@ public class TestDistributionParameterHandler {
@Test
public void testDistributionParameterGroup_InvalidName() throws PolicyDistributionException, CommandLineException {
verifyFailure("DistributionConfigParameters_InvalidName.json", PolicyDistributionException.class,
- "field \"name\" type \"java.lang.String\" value \" \" INVALID, must be a non-blank string");
+ "\"name\" value \" \" INVALID, is blank");
}
@Test
public void testDistributionParameterGroup_NoReceptionHandler()
throws PolicyDistributionException, CommandLineException {
- verifyFailure("DistributionConfigParameters_NoReceptionHandler.json", ParameterRuntimeException.class,
- "map parameter \"receptionHandlerParameters\" is null");
+ verifyFailure("DistributionConfigParameters_NoReceptionHandler.json", PolicyDistributionException.class,
+ "\"receptionHandlerParameters\" value \"null\" INVALID, is null");
}
@Test
public void testDistributionParameterGroup_EmptyReceptionHandler()
throws PolicyDistributionException, CommandLineException {
verifyFailure("DistributionConfigParameters_EmptyReceptionHandler.json", PolicyDistributionException.class,
- "must have at least one reception handler\n");
+ "\"receptionHandlerParameters\" value \"{}\" INVALID, minimum number of elements: 1");
}
@Test
public void testDistributionParameterGroup_NoPolicyDecoder()
throws PolicyDistributionException, CommandLineException {
- verifyFailure("DistributionConfigParameters_NoPolicyDecoder.json", ParameterRuntimeException.class,
- "map parameter \"policyDecoders\" is null");
+ verifyFailure("DistributionConfigParameters_NoPolicyDecoder.json", PolicyDistributionException.class,
+ "\"policyDecoders\" value \"null\" INVALID, is null");
}
@Test
public void testDistributionParameterGroup_NoPolicyForwarder()
throws PolicyDistributionException, CommandLineException {
- verifyFailure("DistributionConfigParameters_NoPolicyForwarder.json", ParameterRuntimeException.class,
- "map parameter \"policyForwarders\" is null");
+ verifyFailure("DistributionConfigParameters_NoPolicyForwarder.json", PolicyDistributionException.class,
+ "\"policyForwarderConfigurationParameters\" value \"null\" INVALID, is null");
}
@Test
public void testDistributionParameterGroup_EmptyPolicyDecoder()
throws PolicyDistributionException, CommandLineException {
verifyFailure("DistributionConfigParameters_EmptyPolicyDecoder.json", PolicyDistributionException.class,
- "must have at least one policy decoder\n");
+ "\"policyDecoders\" value \"{}\" INVALID, minimum number of elements: 1");
}
@Test
public void testDistributionParameterGroup_EmptyPolicyForwarder()
throws PolicyDistributionException, CommandLineException {
verifyFailure("DistributionConfigParameters_EmptyPolicyForwarder.json", PolicyDistributionException.class,
- "must have at least one policy forwarder\n");
+ "\"policyForwarders\" value \"{}\" INVALID, minimum number of elements: 1");
}
@Test
diff --git a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPluginHandlerParameters.java b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPluginHandlerParameters.java
index 73ec0ba3..9def403d 100644
--- a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPluginHandlerParameters.java
+++ b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPluginHandlerParameters.java
@@ -2,6 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
* Modifications Copyright (C) 2020 Nordix Foundation
+ * Modifications Copyright (C) 2021 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.
@@ -21,15 +22,14 @@
package org.onap.policy.distribution.main.parameters;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Map;
import org.junit.Test;
-import org.onap.policy.common.parameters.GroupValidationResult;
-import org.onap.policy.common.parameters.ParameterRuntimeException;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
import org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters;
@@ -47,7 +47,7 @@ public class TestPluginHandlerParameters {
final Map<String, PolicyDecoderParameters> policyDecoders = commonTestData.getPolicyDecoders(false);
final Map<String, PolicyForwarderParameters> policyForwarders = commonTestData.getPolicyForwarders(false);
final PluginHandlerParameters pHParameters = new PluginHandlerParameters(policyDecoders, policyForwarders);
- final GroupValidationResult validationResult = pHParameters.validate();
+ final ValidationResult validationResult = pHParameters.validate();
assertEquals(policyDecoders.get(CommonTestData.DUMMY_DECODER_KEY),
pHParameters.getPolicyDecoders().get(CommonTestData.DUMMY_DECODER_KEY));
assertEquals(policyForwarders.get(CommonTestData.DUMMY_ENGINE_FORWARDER_KEY),
@@ -59,16 +59,15 @@ public class TestPluginHandlerParameters {
public void testPluginHandlerParameters_NullPolicyDecoders() {
final Map<String, PolicyForwarderParameters> policyForwarders = commonTestData.getPolicyForwarders(false);
final PluginHandlerParameters pHParameters = new PluginHandlerParameters(null, policyForwarders);
- assertThatThrownBy(pHParameters::validate).isInstanceOf(ParameterRuntimeException.class)
- .hasMessage("map parameter \"policyDecoders\" is null");
+ assertThat(pHParameters.validate().getResult()).contains("\"policyDecoders\" value \"null\" INVALID, is null");
}
@Test
public void testPluginHandlerParameters_NullPolicyForwarders() {
final Map<String, PolicyDecoderParameters> policyDecoders = commonTestData.getPolicyDecoders(false);
final PluginHandlerParameters pHParameters = new PluginHandlerParameters(policyDecoders, null);
- assertThatThrownBy(pHParameters::validate).isInstanceOf(ParameterRuntimeException.class)
- .hasMessage("map parameter \"policyForwarders\" is null");
+ assertThat(pHParameters.validate().getResult())
+ .contains("\"policyForwarders\" value \"null\" INVALID, is null");
}
@Test
@@ -76,9 +75,9 @@ public class TestPluginHandlerParameters {
final Map<String, PolicyDecoderParameters> policyDecoders = commonTestData.getPolicyDecoders(true);
final Map<String, PolicyForwarderParameters> policyForwarders = commonTestData.getPolicyForwarders(false);
final PluginHandlerParameters pHParameters = new PluginHandlerParameters(policyDecoders, policyForwarders);
- GroupValidationResult result = pHParameters.validate();
+ ValidationResult result = pHParameters.validate();
assertFalse(result.isValid());
- assertTrue(result.getResult().endsWith("must have at least one policy decoder\n"));
+ assertThat(pHParameters.validate().getResult()).contains("\"policyDecoders\"", "minimum");
}
@Test
@@ -86,8 +85,8 @@ public class TestPluginHandlerParameters {
final Map<String, PolicyForwarderParameters> policyForwarders = commonTestData.getPolicyForwarders(true);
final Map<String, PolicyDecoderParameters> policyDecoders = commonTestData.getPolicyDecoders(false);
final PluginHandlerParameters pHParameters = new PluginHandlerParameters(policyDecoders, policyForwarders);
- GroupValidationResult result = pHParameters.validate();
+ ValidationResult result = pHParameters.validate();
assertFalse(result.isValid());
- assertTrue(result.getResult().endsWith("must have at least one policy forwarder\n"));
+ assertThat(pHParameters.validate().getResult()).contains("\"policyForwarders\"", "minimum");
}
}
diff --git a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyDecoderParameters.java b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyDecoderParameters.java
index 7b9e6095..4195f1b6 100644
--- a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyDecoderParameters.java
+++ b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyDecoderParameters.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2021 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.
@@ -20,6 +21,7 @@
package org.onap.policy.distribution.main.parameters;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -28,7 +30,7 @@ import static org.onap.policy.distribution.main.parameters.CommonTestData.DECODE
import static org.onap.policy.distribution.main.parameters.CommonTestData.DECODER_TYPE;
import org.junit.Test;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters;
/**
@@ -42,7 +44,7 @@ public class TestPolicyDecoderParameters {
public void testPolicyDecoderParameters() {
final PolicyDecoderParameters pDParameters =
new PolicyDecoderParameters(DECODER_TYPE, DECODER_CLASS_NAME, DECODER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pDParameters.validate();
+ final ValidationResult validationResult = pDParameters.validate();
assertEquals(DECODER_TYPE, pDParameters.getDecoderType());
assertEquals(DECODER_CLASS_NAME, pDParameters.getDecoderClassName());
assertEquals(DECODER_CONFIGURATION_PARAMETERS, pDParameters.getDecoderConfigurationName());
@@ -53,75 +55,66 @@ public class TestPolicyDecoderParameters {
public void testPolicyDecoderParameters_InvalidDecoderType() {
final PolicyDecoderParameters pDParameters =
new PolicyDecoderParameters("", DECODER_CLASS_NAME, DECODER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pDParameters.validate();
+ final ValidationResult validationResult = pDParameters.validate();
assertEquals("", pDParameters.getDecoderType());
assertEquals(DECODER_CLASS_NAME, pDParameters.getDecoderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult().contains(
- "field \"decoderType\" type \"java.lang.String\" value \"\" INVALID, must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains("\"decoderType\" value \"\" INVALID, is blank");
}
@Test
public void testPolicyDecoderParameters_InvalidDecoderClassName() {
final PolicyDecoderParameters pDParameters =
new PolicyDecoderParameters(DECODER_TYPE, "", DECODER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pDParameters.validate();
+ final ValidationResult validationResult = pDParameters.validate();
assertEquals(DECODER_TYPE, pDParameters.getDecoderType());
assertEquals("", pDParameters.getDecoderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"decoderClassName\" type \"java.lang.String\" value \"\" INVALID, "
- + "must be a non-blank string containing full class name of the decoder"));
+ assertThat(validationResult.getResult()).contains("\"decoderClassName\" value \"\" INVALID, is blank");
}
@Test
public void testPolicyDecoderParameters_InvalidDecoderTypeAndClassName() {
final PolicyDecoderParameters pDParameters =
new PolicyDecoderParameters("", "", DECODER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pDParameters.validate();
+ final ValidationResult validationResult = pDParameters.validate();
assertEquals("", pDParameters.getDecoderType());
assertEquals("", pDParameters.getDecoderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult().contains(
- "field \"decoderType\" type \"java.lang.String\" value \"\" INVALID, must be a non-blank string"));
- assertTrue(validationResult.getResult()
- .contains("field \"decoderClassName\" type \"java.lang.String\" value \"\" INVALID, "
- + "must be a non-blank string containing full class name of the decoder"));
+ assertThat(validationResult.getResult()).contains("\"decoderType\" value \"\" INVALID, is blank",
+ "\"decoderClassName\" value \"\" INVALID, is blank");
}
@Test
public void testPolicyDecoderParameters_NullDecoderType() {
final PolicyDecoderParameters pDParameters =
new PolicyDecoderParameters(null, DECODER_CLASS_NAME, DECODER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pDParameters.validate();
+ final ValidationResult validationResult = pDParameters.validate();
assertEquals(null, pDParameters.getDecoderType());
assertEquals(DECODER_CLASS_NAME, pDParameters.getDecoderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult().contains(
- "field \"decoderType\" type \"java.lang.String\" value \"null\" INVALID, must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains("\"decoderType\" value \"null\" INVALID, is null");
}
@Test
public void testPolicyDecoderParameters_NullDecoderClassName() {
final PolicyDecoderParameters pDParameters =
new PolicyDecoderParameters(DECODER_TYPE, null, DECODER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pDParameters.validate();
+ final ValidationResult validationResult = pDParameters.validate();
assertEquals(DECODER_TYPE, pDParameters.getDecoderType());
assertEquals(null, pDParameters.getDecoderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"decoderClassName\" type \"java.lang.String\" value \"null\" INVALID, "
- + "must be a non-blank string containing full class name of the decoder"));
+ assertThat(validationResult.getResult()).contains("\"decoderClassName\" value \"null\" INVALID, is null");
}
@Test
public void testPolicyDecoderParameters_InvalidDecoderClass() {
final PolicyDecoderParameters pDParameters = new PolicyDecoderParameters(DECODER_TYPE,
DECODER_CLASS_NAME + "Invalid", DECODER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pDParameters.validate();
+ final ValidationResult validationResult = pDParameters.validate();
assertEquals(DECODER_TYPE, pDParameters.getDecoderType());
assertEquals(DECODER_CLASS_NAME + "Invalid", pDParameters.getDecoderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult().contains("policy decoder class not found in classpath"));
+ assertThat(validationResult.getResult()).contains("\"decoderClassName\"", "classpath");
}
}
diff --git a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyForwarderParameters.java b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyForwarderParameters.java
index 9907bfb8..5dc1b448 100644
--- a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyForwarderParameters.java
+++ b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestPolicyForwarderParameters.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2021 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.
@@ -20,6 +21,7 @@
package org.onap.policy.distribution.main.parameters;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -28,7 +30,7 @@ import static org.onap.policy.distribution.main.parameters.CommonTestData.FORWAR
import static org.onap.policy.distribution.main.parameters.CommonTestData.FORWARDER_TYPE;
import org.junit.Test;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
/**
@@ -42,7 +44,7 @@ public class TestPolicyForwarderParameters {
public void testPolicyForwarderParameters() {
final PolicyForwarderParameters pFParameters =
new PolicyForwarderParameters(FORWARDER_TYPE, FORWARDER_CLASS_NAME, FORWARDER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pFParameters.validate();
+ final ValidationResult validationResult = pFParameters.validate();
assertEquals(FORWARDER_TYPE, pFParameters.getForwarderType());
assertEquals(FORWARDER_CLASS_NAME, pFParameters.getForwarderClassName());
assertTrue(validationResult.isValid());
@@ -52,76 +54,66 @@ public class TestPolicyForwarderParameters {
public void testPolicyForwarderParameters_InvalidForwarderType() {
final PolicyForwarderParameters pFParameters =
new PolicyForwarderParameters("", FORWARDER_CLASS_NAME, FORWARDER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pFParameters.validate();
+ final ValidationResult validationResult = pFParameters.validate();
assertEquals("", pFParameters.getForwarderType());
assertEquals(FORWARDER_CLASS_NAME, pFParameters.getForwarderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult().contains(
- "field \"forwarderType\" type \"java.lang.String\" value \"\" INVALID, must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains("\"forwarderType\" value \"\" INVALID, is blank");
}
@Test
public void testPolicyForwarderParameters_InvalidForwarderClassName() {
final PolicyForwarderParameters pFParameters =
new PolicyForwarderParameters(FORWARDER_TYPE, "", FORWARDER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pFParameters.validate();
+ final ValidationResult validationResult = pFParameters.validate();
assertEquals(CommonTestData.FORWARDER_TYPE, pFParameters.getForwarderType());
assertEquals("", pFParameters.getForwarderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"forwarderClassName\" type \"java.lang.String\" value \"\" INVALID, "
- + "must be a non-blank string containing full class name of the forwarder"));
+ assertThat(validationResult.getResult()).contains("\"forwarderClassName\" value \"\" INVALID, is blank");
}
@Test
public void testPolicyForwarderParameters_InvalidForwarderTypeAndClassName() {
final PolicyForwarderParameters pFParameters =
new PolicyForwarderParameters("", "", FORWARDER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pFParameters.validate();
+ final ValidationResult validationResult = pFParameters.validate();
assertEquals("", pFParameters.getForwarderType());
assertEquals("", pFParameters.getForwarderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult().contains(
- "field \"forwarderType\" type \"java.lang.String\" value \"\" INVALID, must be a non-blank string"));
- assertTrue(validationResult.getResult()
- .contains("field \"forwarderClassName\" type \"java.lang.String\" value \"\" INVALID, "
- + "must be a non-blank string containing full class name of the forwarder"));
+ assertThat(validationResult.getResult()).contains("\"forwarderType\" value \"\" INVALID, is blank",
+ "\"forwarderClassName\" value \"\" INVALID, is blank");
}
@Test
public void testPolicyForwarderParameters_NullForwarderType() {
final PolicyForwarderParameters pFParameters =
new PolicyForwarderParameters(null, FORWARDER_CLASS_NAME, FORWARDER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pFParameters.validate();
+ final ValidationResult validationResult = pFParameters.validate();
assertEquals(null, pFParameters.getForwarderType());
assertEquals(FORWARDER_CLASS_NAME, pFParameters.getForwarderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"forwarderType\" type \"java.lang.String\" value \"null\" INVALID, "
- + "must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains("\"forwarderType\" value \"null\" INVALID, is null");
}
@Test
public void testPolicyForwarderParameters_NullForwarderClassName() {
final PolicyForwarderParameters pFParameters =
new PolicyForwarderParameters(FORWARDER_TYPE, null, FORWARDER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pFParameters.validate();
+ final ValidationResult validationResult = pFParameters.validate();
assertEquals(FORWARDER_TYPE, pFParameters.getForwarderType());
assertEquals(null, pFParameters.getForwarderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"forwarderClassName\" type \"java.lang.String\" value \"null\" INVALID, "
- + "must be a non-blank string containing full class name of the forwarder"));
+ assertThat(validationResult.getResult()).contains("\"forwarderClassName\" value \"null\" INVALID, is null");
}
@Test
public void testPolicyForwarderParameters_InvalidForwarderClass() {
final PolicyForwarderParameters pFParameters = new PolicyForwarderParameters(FORWARDER_TYPE,
FORWARDER_CLASS_NAME + "Invalid", FORWARDER_CONFIGURATION_PARAMETERS);
- final GroupValidationResult validationResult = pFParameters.validate();
+ final ValidationResult validationResult = pFParameters.validate();
assertEquals(FORWARDER_TYPE, pFParameters.getForwarderType());
assertEquals(FORWARDER_CLASS_NAME + "Invalid", pFParameters.getForwarderClassName());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult().contains("policy forwarder class not found in classpath"));
+ assertThat(validationResult.getResult()).contains("class is not in the classpath");
}
}
diff --git a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestReceptionHandlerParameters.java b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestReceptionHandlerParameters.java
index 2dde9666..c02b96bc 100644
--- a/main/src/test/java/org/onap/policy/distribution/main/parameters/TestReceptionHandlerParameters.java
+++ b/main/src/test/java/org/onap/policy/distribution/main/parameters/TestReceptionHandlerParameters.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2021 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.
@@ -20,12 +21,13 @@
package org.onap.policy.distribution.main.parameters;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters;
import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
@@ -43,7 +45,7 @@ public class TestReceptionHandlerParameters {
final ReceptionHandlerParameters rHParameters = new ReceptionHandlerParameters(
CommonTestData.RECEPTION_HANDLER_TYPE, CommonTestData.RECEPTION_HANDLER_CLASS_NAME,
CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS, pHParameters);
- final GroupValidationResult validationResult = rHParameters.validate();
+ final ValidationResult validationResult = rHParameters.validate();
assertEquals(CommonTestData.RECEPTION_HANDLER_TYPE, rHParameters.getReceptionHandlerType());
assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME, rHParameters.getReceptionHandlerClassName());
assertEquals(CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS,
@@ -58,16 +60,14 @@ public class TestReceptionHandlerParameters {
final ReceptionHandlerParameters rHParameters =
new ReceptionHandlerParameters(null, CommonTestData.RECEPTION_HANDLER_CLASS_NAME,
CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS, pHParameters);
- final GroupValidationResult validationResult = rHParameters.validate();
+ final ValidationResult validationResult = rHParameters.validate();
assertEquals(null, rHParameters.getReceptionHandlerType());
assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME, rHParameters.getReceptionHandlerClassName());
assertEquals(CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS,
rHParameters.getReceptionHandlerConfigurationName());
assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"receptionHandlerType\" type \"java.lang.String\" value \"null\" INVALID, "
- + "must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains("\"receptionHandlerType\" value \"null\" INVALID, is null");
}
@Test
@@ -76,16 +76,15 @@ public class TestReceptionHandlerParameters {
final ReceptionHandlerParameters rHParameters =
new ReceptionHandlerParameters(CommonTestData.RECEPTION_HANDLER_TYPE, null,
CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS, pHParameters);
- final GroupValidationResult validationResult = rHParameters.validate();
+ final ValidationResult validationResult = rHParameters.validate();
assertEquals(CommonTestData.RECEPTION_HANDLER_TYPE, rHParameters.getReceptionHandlerType());
assertEquals(null, rHParameters.getReceptionHandlerClassName());
assertEquals(CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS,
rHParameters.getReceptionHandlerConfigurationName());
assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"receptionHandlerClassName\" type \"java.lang.String\" value \"null\" INVALID, "
- + "must be a non-blank string containing full class name " + "of the reception handler"));
+ assertThat(validationResult.getResult())
+ .contains("\"receptionHandlerClassName\" value \"null\" INVALID, is null");
}
@Test
@@ -94,14 +93,12 @@ public class TestReceptionHandlerParameters {
final ReceptionHandlerParameters rHParameters =
new ReceptionHandlerParameters("", CommonTestData.RECEPTION_HANDLER_CLASS_NAME,
CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS, pHParameters);
- final GroupValidationResult validationResult = rHParameters.validate();
+ final ValidationResult validationResult = rHParameters.validate();
assertEquals("", rHParameters.getReceptionHandlerType());
assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME, rHParameters.getReceptionHandlerClassName());
assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"receptionHandlerType\" type \"java.lang.String\" value \"\" INVALID, "
- + "must be a non-blank string"));
+ assertThat(validationResult.getResult()).contains("\"receptionHandlerType\" value \"\" INVALID, is blank");
}
@Test
@@ -110,16 +107,14 @@ public class TestReceptionHandlerParameters {
final ReceptionHandlerParameters rHParameters =
new ReceptionHandlerParameters(CommonTestData.RECEPTION_HANDLER_TYPE, "",
CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS, pHParameters);
- final GroupValidationResult validationResult = rHParameters.validate();
+ final ValidationResult validationResult = rHParameters.validate();
assertEquals(CommonTestData.RECEPTION_HANDLER_TYPE, rHParameters.getReceptionHandlerType());
assertEquals("", rHParameters.getReceptionHandlerClassName());
assertEquals(CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS,
rHParameters.getReceptionHandlerConfigurationName());
assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult()
- .contains("field \"receptionHandlerClassName\" type \"java.lang.String\" value \"\" INVALID, "
- + "must be a non-blank string containing full class name " + "of the reception handler"));
+ assertThat(validationResult.getResult()).contains("\"receptionHandlerClassName\" value \"\" INVALID, is blank");
}
@Test
@@ -128,9 +123,9 @@ public class TestReceptionHandlerParameters {
final ReceptionHandlerParameters rHParameters = new ReceptionHandlerParameters(
CommonTestData.RECEPTION_HANDLER_TYPE, CommonTestData.RECEPTION_HANDLER_CLASS_NAME,
CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS, pHParameters);
- GroupValidationResult result = rHParameters.validate();
+ ValidationResult result = rHParameters.validate();
assertFalse(result.isValid());
- assertTrue(result.getResult().endsWith("must have at least one policy forwarder\n"));
+ assertThat(result.getResult()).contains("\"policyForwarders\"", "minimum");
}
@Test
@@ -140,7 +135,7 @@ public class TestReceptionHandlerParameters {
final ReceptionHandlerParameters rHParameters = new ReceptionHandlerParameters(
CommonTestData.RECEPTION_HANDLER_TYPE, CommonTestData.RECEPTION_HANDLER_CLASS_NAME + "Invalid",
CommonTestData.RECEPTION_CONFIGURATION_PARAMETERS, pHParameters);
- final GroupValidationResult validationResult = rHParameters.validate();
+ final ValidationResult validationResult = rHParameters.validate();
assertEquals(CommonTestData.RECEPTION_HANDLER_TYPE, rHParameters.getReceptionHandlerType());
assertEquals(CommonTestData.RECEPTION_HANDLER_CLASS_NAME + "Invalid",
rHParameters.getReceptionHandlerClassName());
@@ -148,6 +143,6 @@ public class TestReceptionHandlerParameters {
rHParameters.getReceptionHandlerConfigurationName());
assertEquals(pHParameters, rHParameters.getPluginHandlerParameters());
assertFalse(validationResult.isValid());
- assertTrue(validationResult.getResult().contains("reception handler class not found in classpath"));
+ assertThat(validationResult.getResult()).contains("\"receptionHandlerClassName\"", "classpath");
}
}
diff --git a/main/src/test/resources/expectedValidationResults/InvalidDecoderAndForwarderParameters.txt b/main/src/test/resources/expectedValidationResults/InvalidDecoderAndForwarderParameters.txt
index a5e84f5c..ebad6984 100644
--- a/main/src/test/resources/expectedValidationResults/InvalidDecoderAndForwarderParameters.txt
+++ b/main/src/test/resources/expectedValidationResults/InvalidDecoderAndForwarderParameters.txt
@@ -1,17 +1,22 @@
validation error(s) on parameters from "parameters/DistributionConfigParameters_InvalidDecoderAndForwarderParameters.json"
-parameter group "SDCDistributionGroup" type "org.onap.policy.distribution.main.parameters.DistributionParameterGroup" INVALID, parameter group has status INVALID
- parameter group map "receptionHandlerParameters" INVALID, parameter group map has status INVALID
- parameter group "null_DummyReceptionHandler" type "org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters" INVALID, parameter group has status INVALID
- parameter group "null_PluginHandler" type "org.onap.policy.distribution.reception.parameters.PluginHandlerParameters" INVALID, parameter group has status INVALID
- parameter group map "policyDecoders" INVALID, parameter group map has status INVALID
- parameter group "" type "org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters" INVALID, parameter group has status INVALID
- field "decoderType" type "java.lang.String" value "" INVALID, must be a non-blank string
- field "decoderClassName" type "java.lang.String" value "org.onap.policy.distribution.main.testclasses.PolicyDecoderApexPdpa" INVALID, policy decoder class not found in classpath
- parameter group "DROOLS" type "org.onap.policy.distribution.reception.parameters.PolicyDecoderParameters" INVALID, parameter group has status INVALID
- field "decoderClassName" type "java.lang.String" value "" INVALID, must be a non-blank string containing full class name of the decoder
- parameter group map "policyForwarders" INVALID, parameter group map has status INVALID
- parameter group "" type "org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters" INVALID, parameter group has status INVALID
- field "forwarderType" type "java.lang.String" value "" INVALID, must be a non-blank string
- field "forwarderClassName" type "java.lang.String" value "org.onap.policy.distribution.main.testclasses.PapStandalonePolicyForwarder" INVALID, policy forwarder class not found in classpath
- parameter group "PAPEngineForwarder" type "org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters" INVALID, parameter group has status INVALID
- field "forwarderClassName" type "java.lang.String" value "" INVALID, must be a non-blank string containing full class name of the forwarder \ No newline at end of file
+"DistributionParameterGroup" INVALID, item has status INVALID
+ "receptionHandlerParameters" INVALID, item has status INVALID
+ "DummyReceptionHandler" INVALID, item has status INVALID
+ "ReceptionHandlerParameters" INVALID, item has status INVALID
+ "PluginHandlerParameters" INVALID, item has status INVALID
+ "policyDecoders" INVALID, item has status INVALID
+ "APEXDecoder" INVALID, item has status INVALID
+ "PolicyDecoderParameters" INVALID, item has status INVALID
+ item "decoderType" value "" INVALID, is blank
+ item "decoderClassName" value "org.onap.policy.distribution.main.testclasses.PolicyDecoderApexPdpa" INVALID, class is not in the classpath
+ "DROOLSDecoder" INVALID, item has status INVALID
+ "PolicyDecoderParameters" INVALID, item has status INVALID
+ item "decoderClassName" value "" INVALID, is blank
+ "policyForwarders" INVALID, item has status INVALID
+ "PAPStandaloneForwarder" INVALID, item has status INVALID
+ "PolicyForwarderParameters" INVALID, item has status INVALID
+ item "forwarderType" value "" INVALID, is blank
+ item "forwarderClassName" value "org.onap.policy.distribution.main.testclasses.PapStandalonePolicyForwarder" INVALID, class is not in the classpath
+ "PAPEngineForwarder" INVALID, item has status INVALID
+ "PolicyForwarderParameters" INVALID, item has status INVALID
+ item "forwarderClassName" value "" INVALID, is blank
diff --git a/main/src/test/resources/expectedValidationResults/InvalidReceptionHandlerParameters.txt b/main/src/test/resources/expectedValidationResults/InvalidReceptionHandlerParameters.txt
index 37c3457d..9879892a 100644
--- a/main/src/test/resources/expectedValidationResults/InvalidReceptionHandlerParameters.txt
+++ b/main/src/test/resources/expectedValidationResults/InvalidReceptionHandlerParameters.txt
@@ -1,6 +1,7 @@
validation error(s) on parameters from "parameters/DistributionConfigParameters_InvalidReceptionHandlerParameters.json"
-parameter group "SDCDistributionGroup" type "org.onap.policy.distribution.main.parameters.DistributionParameterGroup" INVALID, parameter group has status INVALID
- parameter group map "receptionHandlerParameters" INVALID, parameter group map has status INVALID
- parameter group "null_" type "org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters" INVALID, parameter group has status INVALID
- field "receptionHandlerType" type "java.lang.String" value "" INVALID, must be a non-blank string
- field "receptionHandlerClassName" type "java.lang.String" value "org.onap.policy.distribution.main.testclasses.InvalidSdcReceptionHandler" INVALID, reception handler class not found in classpath
+"DistributionParameterGroup" INVALID, item has status INVALID
+ "receptionHandlerParameters" INVALID, item has status INVALID
+ "DummyReceptionHandler" INVALID, item has status INVALID
+ "ReceptionHandlerParameters" INVALID, item has status INVALID
+ item "receptionHandlerType" value "" INVALID, is blank
+ item "receptionHandlerClassName" value "org.onap.policy.distribution.main.testclasses.InvalidSdcReceptionHandler" INVALID, class is not in the classpath
diff --git a/main/src/test/resources/expectedValidationResults/InvalidRestServerParameters.txt b/main/src/test/resources/expectedValidationResults/InvalidRestServerParameters.txt
index f3152e41..5ae0c819 100644
--- a/main/src/test/resources/expectedValidationResults/InvalidRestServerParameters.txt
+++ b/main/src/test/resources/expectedValidationResults/InvalidRestServerParameters.txt
@@ -1,7 +1,7 @@
validation error(s) on parameters from "parameters/DistributionConfigParameters_InvalidRestServerParameters.json"
-parameter group "SDCDistributionGroup" type "org.onap.policy.distribution.main.parameters.DistributionParameterGroup" INVALID, parameter group has status INVALID
- parameter group "RestServerParameters" type "org.onap.policy.common.endpoints.parameters.RestServerParameters" INVALID, parameter group has status INVALID
- field "host" type "java.lang.String" value "" INVALID, must be a non-blank string
- field "port" type "int" value "-1" INVALID, must be >= 1
- field "userName" type "java.lang.String" value "" INVALID, must be a non-blank string
- field "password" type "java.lang.String" value "" INVALID, must be a non-blank string \ No newline at end of file
+"DistributionParameterGroup" INVALID, item has status INVALID
+ "RestServerParameters" INVALID, item has status INVALID
+ item "host" value "" INVALID, is blank
+ item "port" value "-1" INVALID, is below the minimum value: 1
+ item "userName" value "" INVALID, is blank
+ item "password" value "" INVALID, is blank
diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java
index 4d141a95..c266a1ba 100644
--- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java
+++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java
@@ -24,6 +24,7 @@ package org.onap.policy.distribution.forwarding.lifecycle.api;
import lombok.Getter;
import org.onap.policy.common.parameters.annotations.NotBlank;
import org.onap.policy.common.parameters.annotations.NotNull;
+import org.onap.policy.common.parameters.annotations.Valid;
import org.onap.policy.distribution.main.parameters.PolicyForwarderConfigurationParameterGroup;
/**
@@ -37,8 +38,8 @@ import org.onap.policy.distribution.main.parameters.PolicyForwarderConfiguration
public class LifecycleApiForwarderParameters extends PolicyForwarderConfigurationParameterGroup {
public static final String POLICY_FORWARDER_PLUGIN_CLASS = LifecycleApiPolicyForwarder.class.getName();
- private LifecycleApiParameters apiParameters;
- private LifecycleApiParameters papParameters;
+ private @Valid LifecycleApiParameters apiParameters;
+ private @Valid LifecycleApiParameters papParameters;
private boolean isHttps;
private boolean allowSelfSignedCerts;
private boolean deployPolicies = true;
diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/file/FileSystemReceptionHandlerConfigurationParameterGroup.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/file/FileSystemReceptionHandlerConfigurationParameterGroup.java
index 9c596f76..44e89c07 100644
--- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/file/FileSystemReceptionHandlerConfigurationParameterGroup.java
+++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/file/FileSystemReceptionHandlerConfigurationParameterGroup.java
@@ -2,6 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Intel. All rights reserved.
* Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
@@ -24,7 +25,10 @@ package org.onap.policy.distribution.reception.handling.file;
import java.io.File;
import lombok.Getter;
import lombok.Setter;
-import org.onap.policy.common.parameters.GroupValidationResult;
+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.ValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.common.parameters.annotations.NotBlank;
import org.onap.policy.common.parameters.annotations.NotNull;
@@ -51,9 +55,9 @@ public class FileSystemReceptionHandlerConfigurationParameterGroup extends Recep
* {@inheritDoc}.
*/
@Override
- public GroupValidationResult validate() {
- final GroupValidationResult validationResult = new GroupValidationResult(this);
- validatePathElement(validationResult, watchPath, "watchPath");
+ public BeanValidationResult validate() {
+ final BeanValidationResult validationResult = new BeanValidator().validateTop(getClass().getSimpleName(), this);
+ validationResult.addResult(validatePathElement(watchPath, "watchPath"));
return validationResult;
}
@@ -61,23 +65,17 @@ public class FileSystemReceptionHandlerConfigurationParameterGroup extends Recep
/**
* Validate the string element.
*
- * @param validationResult the result object
* @param element the element to validate
* @param elementName the element name for error message
*/
- private void validatePathElement(final GroupValidationResult validationResult, final String element,
- final String elementName) {
- boolean valid = false;
+ private ValidationResult validatePathElement(final String element, final String elementName) {
if (element != null) {
final File file = new File(element);
if (file.exists() && file.isDirectory()) {
- valid = true;
+ return null;
}
}
- if (!valid) {
- validationResult.setResult(elementName, ValidationStatus.INVALID,
- elementName + " must be a valid directory");
- }
+
+ return new ObjectValidationResult(elementName, element, ValidationStatus.INVALID, "is not a valid directory");
}
}
-
diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/file/TestFileSystemReceptionHandlerConfigurationParameterGroup.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/file/TestFileSystemReceptionHandlerConfigurationParameterGroup.java
index 03455b84..c8bcc7bd 100644
--- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/file/TestFileSystemReceptionHandlerConfigurationParameterGroup.java
+++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/file/TestFileSystemReceptionHandlerConfigurationParameterGroup.java
@@ -3,6 +3,7 @@
* Copyright (C) 2018 Intel. All rights reserved.
* Copyright (C) 2019 Nordix Foundation.
* Modifications Copyright (C) 2020 Nordix Foundation
+ * Modifications Copyright (C) 2021 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.
@@ -22,6 +23,7 @@
package org.onap.policy.distribution.reception.handling.file;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -33,7 +35,7 @@ import java.io.IOException;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
/**
* Class to perform unit test of {@link FileSystemReceptionHandlerConfigurationParameterGroup}.
@@ -54,7 +56,7 @@ public class TestFileSystemReceptionHandlerConfigurationParameterGroup {
configParameters.setWatchPath(validPath);
configParameters.setMaxThread(2);
- final GroupValidationResult validationResult = configParameters.validate();
+ final ValidationResult validationResult = configParameters.validate();
assertTrue(validationResult.isValid());
assertEquals(validPath, configParameters.getWatchPath());
assertEquals(2, configParameters.getMaxThread());
@@ -66,7 +68,7 @@ public class TestFileSystemReceptionHandlerConfigurationParameterGroup {
final Gson gson = new GsonBuilder().create();
configParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdcInvalid.json"),
FileSystemReceptionHandlerConfigurationParameterGroup.class);
- final GroupValidationResult validationResult = configParameters.validate();
+ final ValidationResult validationResult = configParameters.validate();
assertFalse(validationResult.isValid());
}
@@ -79,8 +81,8 @@ public class TestFileSystemReceptionHandlerConfigurationParameterGroup {
new FileSystemReceptionHandlerConfigurationParameterGroup();
configParameters.setWatchPath(invalidPath);
- final GroupValidationResult validateResult = configParameters.validate();
+ final ValidationResult validateResult = configParameters.validate();
assertFalse(validateResult.isValid());
- assertTrue(validateResult.getResult().contains("must be a valid directory"));
+ assertThat(validateResult.getResult()).contains("is not a valid directory");
}
}
diff --git a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java
index 51298c1e..cd7f2614 100644
--- a/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java
+++ b/plugins/reception-plugins/src/test/java/org/onap/policy/distribution/reception/handling/sdc/TestSdcReceptionHandlerConfigurationParameterGroup.java
@@ -2,6 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Intel. All rights reserved.
* Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
@@ -31,7 +32,7 @@ import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import org.junit.Test;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.parameters.ValidationStatus;
/**
@@ -47,7 +48,7 @@ public class TestSdcReceptionHandlerConfigurationParameterGroup {
configParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdc.json"),
SdcReceptionHandlerConfigurationParameterGroup.class);
- final GroupValidationResult validationResult = configParameters.validate();
+ final ValidationResult validationResult = configParameters.validate();
assertTrue(validationResult.isValid());
final SdcConfiguration config = new SdcConfiguration(configParameters);
assertEquals(Arrays.asList("a.com", "b.com", "c.com"), config.getMsgBusAddress());
@@ -75,7 +76,7 @@ public class TestSdcReceptionHandlerConfigurationParameterGroup {
configParameters = gson.fromJson(new FileReader("src/test/resources/handling-sdcInvalid.json"),
SdcReceptionHandlerConfigurationParameterGroup.class);
- final GroupValidationResult validationResult = configParameters.validate();
+ final ValidationResult validationResult = configParameters.validate();
assertFalse(validationResult.isValid());
}
diff --git a/reception/src/main/java/org/onap/policy/distribution/reception/parameters/PluginHandlerParameters.java b/reception/src/main/java/org/onap/policy/distribution/reception/parameters/PluginHandlerParameters.java
index bd0ad900..c3e44274 100644
--- a/reception/src/main/java/org/onap/policy/distribution/reception/parameters/PluginHandlerParameters.java
+++ b/reception/src/main/java/org/onap/policy/distribution/reception/parameters/PluginHandlerParameters.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
+ * Modifications Copyright (C) 2021 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.
@@ -21,10 +22,13 @@
package org.onap.policy.distribution.reception.parameters;
import java.util.Map;
-import java.util.Map.Entry;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import lombok.Setter;
+import org.onap.policy.common.parameters.BeanValidationResult;
+import org.onap.policy.common.parameters.BeanValidator;
import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ValidationStatus;
+import org.onap.policy.common.parameters.annotations.NotNull;
+import org.onap.policy.common.parameters.annotations.Size;
+import org.onap.policy.common.parameters.annotations.Valid;
import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
/**
@@ -32,13 +36,19 @@ import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParamet
*
* @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
*/
+@NotNull
public class PluginHandlerParameters implements ParameterGroup {
private static final String PLUGIN_HANDLER = "_PluginHandler";
+ @Setter
private String name;
- private Map<String, PolicyDecoderParameters> policyDecoders;
- private Map<String, PolicyForwarderParameters> policyForwarders;
+
+ @Size(min = 1)
+ private Map<String, @NotNull @Valid PolicyDecoderParameters> policyDecoders;
+
+ @Size(min = 1)
+ private Map<String, @NotNull @Valid PolicyForwarderParameters> policyForwarders;
/**
* Constructor for instantiating PluginHandlerParameters.
@@ -80,36 +90,7 @@ public class PluginHandlerParameters implements ParameterGroup {
*
*/
@Override
- public GroupValidationResult validate() {
- final GroupValidationResult validationResult = new GroupValidationResult(this);
- if (policyDecoders == null || policyDecoders.size() == 0) {
- validationResult.setResult("policyDecoders", ValidationStatus.INVALID,
- "must have at least one policy decoder");
- } else {
- for (final Entry<String, PolicyDecoderParameters> nestedGroupEntry : policyDecoders.entrySet()) {
- validationResult.setResult("policyDecoders", nestedGroupEntry.getKey(),
- nestedGroupEntry.getValue().validate());
- }
- }
- if (policyForwarders == null || policyForwarders.size() == 0) {
- validationResult.setResult("policyForwarders", ValidationStatus.INVALID,
- "must have at least one policy forwarder");
- } else {
- for (final Entry<String, PolicyForwarderParameters> nestedGroupEntry : policyForwarders.entrySet()) {
- validationResult.setResult("policyForwarders", nestedGroupEntry.getKey(),
- nestedGroupEntry.getValue().validate());
- }
- }
- return validationResult;
- }
-
- /**
- * Set the name of this group.
- *
- * @param name the name to set.
- */
- @Override
- public void setName(final String name) {
- this.name = name;
+ public BeanValidationResult validate() {
+ return new BeanValidator().validateTop(getClass().getSimpleName(), this);
}
}
diff --git a/reception/src/main/java/org/onap/policy/distribution/reception/parameters/PolicyDecoderParameters.java b/reception/src/main/java/org/onap/policy/distribution/reception/parameters/PolicyDecoderParameters.java
index f8ede1a9..492e2e05 100644
--- a/reception/src/main/java/org/onap/policy/distribution/reception/parameters/PolicyDecoderParameters.java
+++ b/reception/src/main/java/org/onap/policy/distribution/reception/parameters/PolicyDecoderParameters.java
@@ -2,6 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
@@ -21,23 +22,24 @@
package org.onap.policy.distribution.reception.parameters;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import lombok.Getter;
+import org.onap.policy.common.parameters.BeanValidationResult;
+import org.onap.policy.common.parameters.BeanValidator;
import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ValidationStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.onap.policy.common.parameters.annotations.ClassName;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
/**
* Class to hold all the policy decoder parameters.
*
* @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
*/
+@Getter
+@NotBlank
public class PolicyDecoderParameters implements ParameterGroup {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(PolicyDecoderParameters.class);
-
- private String decoderType;
- private String decoderClassName;
+ private @NotNull String decoderType;
+ private @NotNull @ClassName String decoderClassName;
private String decoderConfigurationName;
/**
@@ -55,33 +57,6 @@ public class PolicyDecoderParameters implements ParameterGroup {
}
/**
- * Return the decoderType of this PolicyDecoderParameters instance.
- *
- * @return the decoderType
- */
- public String getDecoderType() {
- return decoderType;
- }
-
- /**
- * Return the decoderClassName of this PolicyDecoderParameters instance.
- *
- * @return the decoderClassName
- */
- public String getDecoderClassName() {
- return decoderClassName;
- }
-
- /**
- * Return the name of the decoder configuration of this {@link PolicyDecoderParameters} instance.
- *
- * @return the the name of the decoder configuration
- */
- public String getDecoderConfigurationName() {
- return decoderConfigurationName;
- }
-
- /**
* {@inheritDoc}.
*/
@Override
@@ -101,27 +76,7 @@ public class PolicyDecoderParameters implements ParameterGroup {
* {@inheritDoc}.
*/
@Override
- public GroupValidationResult validate() {
- final GroupValidationResult validationResult = new GroupValidationResult(this);
- if (decoderType == null || decoderType.trim().length() == 0) {
- validationResult.setResult("decoderType", ValidationStatus.INVALID, "must be a non-blank string");
- }
- if (decoderClassName == null || decoderClassName.trim().length() == 0) {
- validationResult.setResult("decoderClassName", ValidationStatus.INVALID,
- "must be a non-blank string containing full class name of the decoder");
- } else {
- validatePolicyDecoderClass(validationResult);
- }
- return validationResult;
- }
-
- private void validatePolicyDecoderClass(final GroupValidationResult validationResult) {
- try {
- Class.forName(decoderClassName);
- } catch (final ClassNotFoundException exp) {
- LOGGER.trace("policy decoder class not found in classpath", exp);
- validationResult.setResult("decoderClassName", ValidationStatus.INVALID,
- "policy decoder class not found in classpath");
- }
+ public BeanValidationResult validate() {
+ return new BeanValidator().validateTop(getClass().getSimpleName(), this);
}
}
diff --git a/reception/src/main/java/org/onap/policy/distribution/reception/parameters/ReceptionHandlerParameters.java b/reception/src/main/java/org/onap/policy/distribution/reception/parameters/ReceptionHandlerParameters.java
index ea6d8d86..901c4968 100644
--- a/reception/src/main/java/org/onap/policy/distribution/reception/parameters/ReceptionHandlerParameters.java
+++ b/reception/src/main/java/org/onap/policy/distribution/reception/parameters/ReceptionHandlerParameters.java
@@ -2,6 +2,7 @@
* ============LICENSE_START=======================================================
* Copyright (C) 2018 Ericsson. All rights reserved.
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
@@ -21,26 +22,30 @@
package org.onap.policy.distribution.reception.parameters;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import lombok.Getter;
+import lombok.Setter;
+import org.onap.policy.common.parameters.BeanValidationResult;
+import org.onap.policy.common.parameters.BeanValidator;
import org.onap.policy.common.parameters.ParameterGroup;
-import org.onap.policy.common.parameters.ValidationStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.onap.policy.common.parameters.annotations.ClassName;
+import org.onap.policy.common.parameters.annotations.NotBlank;
+import org.onap.policy.common.parameters.annotations.NotNull;
+import org.onap.policy.common.parameters.annotations.Valid;
/**
* Class to hold all the reception handler parameters.
*
* @author Ram Krishna Verma (ram.krishna.verma@ericsson.com)
*/
+@NotNull
+@NotBlank
+@Getter
public class ReceptionHandlerParameters implements ParameterGroup {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(ReceptionHandlerParameters.class);
-
- private String name;
+ private @Setter String name;
private String receptionHandlerType;
- private String receptionHandlerClassName;
+ private @ClassName String receptionHandlerClassName;
private String receptionHandlerConfigurationName;
- private PluginHandlerParameters pluginHandlerParameters;
+ private @Valid PluginHandlerParameters pluginHandlerParameters;
/**
* Constructor for instantiating ReceptionHandlerParameters.
@@ -58,42 +63,6 @@ public class ReceptionHandlerParameters implements ParameterGroup {
this.pluginHandlerParameters = pluginHandlerParameters;
}
- /**
- * Return the receptionHandlerType of this ReceptionHandlerParameters instance.
- *
- * @return the receptionHandlerType
- */
- public String getReceptionHandlerType() {
- return receptionHandlerType;
- }
-
- /**
- * Return the receptionHandlerClassName of this ReceptionHandlerParameters instance.
- *
- * @return the receptionHandlerClassName
- */
- public String getReceptionHandlerClassName() {
- return receptionHandlerClassName;
- }
-
- /**
- * Return the name of the reception handler configuration for this ReceptionHandlerParameters instance.
- *
- * @return the PssdConfigurationParametersGroup
- */
- public String getReceptionHandlerConfigurationName() {
- return receptionHandlerConfigurationName;
- }
-
- /**
- * Return the pluginHandlerParameters of this ReceptionHandlerParameters instance.
- *
- * @return the pluginHandlerParameters
- */
- public PluginHandlerParameters getPluginHandlerParameters() {
- return pluginHandlerParameters;
- }
-
@Override
public String getName() {
return name + "_" + receptionHandlerType;
@@ -104,43 +73,7 @@ public class ReceptionHandlerParameters implements ParameterGroup {
*
*/
@Override
- public GroupValidationResult validate() {
- final GroupValidationResult validationResult = new GroupValidationResult(this);
- if (receptionHandlerType == null || receptionHandlerType.trim().length() == 0) {
- validationResult.setResult("receptionHandlerType", ValidationStatus.INVALID, "must be a non-blank string");
- }
- if (receptionHandlerClassName == null || receptionHandlerClassName.trim().length() == 0) {
- validationResult.setResult("receptionHandlerClassName", ValidationStatus.INVALID,
- "must be a non-blank string containing full class name of the reception handler");
- } else {
- validateReceptionHandlerClass(validationResult);
- }
- if (pluginHandlerParameters == null) {
- validationResult.setResult("pluginHandlerParameters", ValidationStatus.INVALID,
- "must have a plugin handler");
- } else {
- validationResult.setResult("pluginHandlerParameters", pluginHandlerParameters.validate());
- }
- return validationResult;
- }
-
- private void validateReceptionHandlerClass(final GroupValidationResult validationResult) {
- try {
- Class.forName(receptionHandlerClassName);
- } catch (final ClassNotFoundException exp) {
- LOGGER.error("reception handler class not found in classpath", exp);
- validationResult.setResult("receptionHandlerClassName", ValidationStatus.INVALID,
- "reception handler class not found in classpath");
- }
- }
-
- /**
- * Set the name of this group.
- *
- * @param name the name to set
- */
- @Override
- public void setName(final String name) {
- this.name = name;
+ public BeanValidationResult validate() {
+ return new BeanValidator().validateTop(getClass().getSimpleName(), this);
}
}
diff --git a/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPluginHandlerParameters.java b/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPluginHandlerParameters.java
index 9d6a78d0..9a0ac316 100644
--- a/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPluginHandlerParameters.java
+++ b/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPluginHandlerParameters.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2021 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
@@ -25,7 +26,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
-import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
/**
@@ -40,30 +41,24 @@ public class TestPluginHandlerParameters {
public void testValidate_PolicyDecodersEmpty() {
PluginHandlerParameters emptyDecoder = new PluginHandlerParameters(new HashMap<>(), getPolicyForwarders());
- GroupValidationResult result = emptyDecoder.validate();
+ ValidationResult result = emptyDecoder.validate();
- assertThat(result.getResult())
- .contains("parameter group map \"policyDecoders\" INVALID, must have at least one policy decoder");
- assertThat(result.getResult()).doesNotContain(
- "parameter group map \"policyForwarders\" INVALID, must have at least one policy forwarder");
+ assertThat(result.getResult()).contains("\"policyDecoders\"", "minimum").doesNotContain("\"policyForwarders\"");
}
@Test
public void testValidate_PolicyForwardersNullEmpty() {
PluginHandlerParameters emptyDecoder = new PluginHandlerParameters(getPolicyDecoders(), new HashMap<>());
- GroupValidationResult result = emptyDecoder.validate();
+ ValidationResult result = emptyDecoder.validate();
- assertThat(result.getResult())
- .contains("parameter group map \"policyForwarders\" INVALID, must have at least one policy forwarder");
- assertThat(result.getResult()).doesNotContain(
- "parameter group map \"policyDecoders\" INVALID, must have at least one policy decoder");
+ assertThat(result.getResult()).contains("\"policyForwarders\"", "minimum").doesNotContain("\"policyDecoders\"");
}
private Map<String, PolicyDecoderParameters> getPolicyDecoders() {
final Map<String, PolicyDecoderParameters> policyDecoders = new HashMap<>();
final PolicyDecoderParameters pDParameters =
- new PolicyDecoderParameters("DummyDecoder", "DummyDecoder", "dummyDecoderConfiguration");
+ new PolicyDecoderParameters("DummyDecoder", getClass().getName(), "dummyDecoderConfiguration");
policyDecoders.put("DummyDecoder", pDParameters);
return policyDecoders;
@@ -72,7 +67,7 @@ public class TestPluginHandlerParameters {
private Map<String, PolicyForwarderParameters> getPolicyForwarders() {
final Map<String, PolicyForwarderParameters> policyForwarders = new HashMap<>();
final PolicyForwarderParameters pFParameters =
- new PolicyForwarderParameters("DummyForwarder", "DummyForwarder", "dummyForwarderConfiguration");
+ new PolicyForwarderParameters("DummyForwarder", getClass().getName(), "dummyForwarderConfiguration");
policyForwarders.put("DummyForwarder", pFParameters);
return policyForwarders;
diff --git a/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPolicyDecoderParameters.java b/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPolicyDecoderParameters.java
index d1d0b421..dae91abf 100644
--- a/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPolicyDecoderParameters.java
+++ b/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestPolicyDecoderParameters.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2021 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
@@ -23,6 +24,7 @@ package org.onap.policy.distribution.reception.parameters;
import static org.assertj.core.api.Assertions.assertThat;
import org.junit.Test;
+import org.onap.policy.distribution.reception.handling.DummyDecoder;
/**
* Class for unit testing PolicyDecoderParameters class.
@@ -32,7 +34,7 @@ import org.junit.Test;
*/
public class TestPolicyDecoderParameters {
- static final String DECODER_CLASS_NAME = "org.onap.policy.distribution.reception.handling.DummyDecoder";
+ static final String DECODER_CLASS_NAME = DummyDecoder.class.getName();
static final String DECODER_CONFIG = "decoderConfigName";
static final String DECODER_TYPE = "DummyDecoder";
@@ -40,14 +42,12 @@ public class TestPolicyDecoderParameters {
public void testValidate_DecoderTypeEmptyNull() {
PolicyDecoderParameters sutParams = new PolicyDecoderParameters(null, DECODER_CLASS_NAME, DECODER_CONFIG);
- assertThat(sutParams.validate().getResult()).contains(
- "field \"decoderType\" type \"java.lang.String\" value \"null\" INVALID, must be a non-blank string");
+ assertThat(sutParams.validate().getResult()).contains("\"decoderType\" value \"null\" INVALID, is null");
sutParams.setName("");
- assertThat(sutParams.validate().getResult()).contains(
- "field \"decoderType\" type \"java.lang.String\" value \"\" INVALID, must be a non-blank string");
- assertThat(sutParams.validate().getResult()).doesNotContain("policy decoder class not found in classpath");
+ assertThat(sutParams.validate().getResult()).contains("\"decoderType\" value \"\" INVALID, is blank")
+ .doesNotContain("not found in classpath");
}
@Test
@@ -55,13 +55,10 @@ public class TestPolicyDecoderParameters {
PolicyDecoderParameters nullClassName = new PolicyDecoderParameters(DECODER_TYPE, null, DECODER_CONFIG);
assertThat(nullClassName.validate().getResult())
- .contains("field \"decoderClassName\" type \"java.lang.String\" value \"null\" INVALID, "
- + "must be a non-blank string containing full class name of the decoder");
+ .contains("\"decoderClassName\" value \"null\" INVALID, is null");
PolicyDecoderParameters emptyClassName = new PolicyDecoderParameters(DECODER_TYPE, "", DECODER_CONFIG);
- assertThat(emptyClassName.validate().getResult())
- .contains("field \"decoderClassName\" type \"java.lang.String\" value \"\" INVALID, "
- + "must be a non-blank string containing full class name of the decoder");
+ assertThat(emptyClassName.validate().getResult()).contains("\"decoderClassName\" value \"\" INVALID, is blank");
}
}
diff --git a/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestReceptionHandlerParameters.java b/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestReceptionHandlerParameters.java
index e2ef01db..b12af003 100644
--- a/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestReceptionHandlerParameters.java
+++ b/reception/src/test/java/org/onap/policy/distribution/reception/parameters/TestReceptionHandlerParameters.java
@@ -1,6 +1,7 @@
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2021 Nordix Foundation.
+ * Modifications Copyright (C) 2021 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.
@@ -26,6 +27,7 @@ import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters;
+import org.onap.policy.distribution.reception.handling.DummyDecoder;
/**
* Class for unit testing ReceptionHandlerParameters class.
@@ -42,25 +44,24 @@ public class TestReceptionHandlerParameters {
ReceptionHandlerParameters sutParams = getReceptionHandlerParameters(className);
sutParams.setName(className);
- assertThat(sutParams.validate().getResult()).contains("reception handler class not found in classpath");
+ assertThat(sutParams.validate().getResult()).contains("class is not in the classpath");
}
@Test
public void testValidate_ReceptionHandlerTypeNullEmpty() {
- final String className = "org.onap.policy.distribution.reception.handling.DummyReceptionHandler";
+ final String className = DummyDecoder.class.getName();
final PluginHandlerParameters pHParameters =
new PluginHandlerParameters(getPolicyDecoders(), getPolicyForwarders());
ReceptionHandlerParameters nullType = new ReceptionHandlerParameters(null, className, className, pHParameters);
- assertThat(nullType.validate().getResult()).contains("field \"receptionHandlerType\" type \"java.lang.String\""
- + " value \"null\" INVALID, must be a non-blank string");
+ assertThat(nullType.validate().getResult())
+ .contains("\"receptionHandlerType\" value \"null\" INVALID, is null");
ReceptionHandlerParameters emptyType = new ReceptionHandlerParameters("", className, className, pHParameters);
- assertThat(emptyType.validate().getResult()).contains("field \"receptionHandlerType\" type \"java.lang.String\""
- + " value \"\" INVALID, must be a non-blank string");
- assertThat(emptyType.validate().getResult()).doesNotContain("reception handler class not found in classpath");
+ assertThat(emptyType.validate().getResult()).contains("\"receptionHandlerType\" value \"\" INVALID, is blank")
+ .doesNotContain("classpath");
}
@Test
@@ -72,17 +73,13 @@ public class TestReceptionHandlerParameters {
"dummyReceptionHandlerConfiguration", pHParameters);
assertThat(nullType.validate().getResult())
- .contains("field \"receptionHandlerClassName\" type \"java.lang.String\" value "
- + "\"null\" INVALID, must be a non-blank string containing full class name "
- + "of the reception handler");
+ .contains("\"receptionHandlerClassName\" value \"null\" INVALID, is null");
ReceptionHandlerParameters emptyType = new ReceptionHandlerParameters("DummyReceptionHandler", "",
"dummyReceptionHandlerConfiguration", pHParameters);
assertThat(emptyType.validate().getResult())
- .contains("field \"receptionHandlerClassName\" type \"java.lang.String\" value "
- + "\"\" INVALID, must be a non-blank string containing full class name of "
- + "the reception handler");
+ .contains("\"receptionHandlerClassName\" value \"\" INVALID, is blank");
}
@Test
@@ -93,7 +90,7 @@ public class TestReceptionHandlerParameters {
"dummyReceptionHandlerConfiguration", null);
assertThat(sutParams.validate().getResult())
- .contains("parameter group \"UNDEFINED\" INVALID, must have a plugin handler");
+ .contains("\"pluginHandlerParameters\" value \"null\" INVALID, is null");
}
private ReceptionHandlerParameters getReceptionHandlerParameters(String className) {
@@ -109,7 +106,7 @@ public class TestReceptionHandlerParameters {
final Map<String, PolicyDecoderParameters> policyDecoders = new HashMap<>();
final PolicyDecoderParameters pDParameters =
- new PolicyDecoderParameters("DummyDecoder", "DummyDecoder", "dummyDecoderConfiguration");
+ new PolicyDecoderParameters("DummyDecoder", DummyDecoder.class.getName(), "dummyDecoderConfiguration");
policyDecoders.put("DummyDecoder", pDParameters);
return policyDecoders;
@@ -118,8 +115,8 @@ public class TestReceptionHandlerParameters {
private Map<String, PolicyForwarderParameters> getPolicyForwarders() {
final Map<String, PolicyForwarderParameters> policyForwarders = new HashMap<>();
- final PolicyForwarderParameters pFParameters =
- new PolicyForwarderParameters("DummyForwarder", "DummyForwarder", "dummyForwarderConfiguration");
+ final PolicyForwarderParameters pFParameters = new PolicyForwarderParameters("DummyForwarder",
+ DummyDecoder.class.getName(), "dummyForwarderConfiguration");
policyForwarders.put("DummyForwarder", pFParameters);
return policyForwarders;