From b66a56aed5774e59c693d7cfd22b29512e293458 Mon Sep 17 00:00:00 2001 From: jhh Date: Tue, 9 Jun 2020 17:11:36 -0500 Subject: do strict validation before domain conversion need to perform a validation pass as the validation combined with putting a domain model object tree together run into problems when dealing with integers that are passed as strings. Issue-ID: POLICY-2577 Signed-off-by: jhh Change-Id: I06a2b6e8dc7e0442c2503b6d978deddbf652d830 Signed-off-by: jhh --- .../drools/lifecycle/LifecycleStateActiveTest.java | 25 ++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle') diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java index 54f7d68f..54f4b6a6 100644 --- a/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java +++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/lifecycle/LifecycleStateActiveTest.java @@ -28,6 +28,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; @@ -53,6 +54,15 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifi */ public class LifecycleStateActiveTest extends LifecycleStateRunningTest { + private static final String POLICY_COMPLIANT_VCPE_BAD_INTEGER_JSON = + "src/test/resources/tosca-policy-compliant-vcpe-bad-integer.json"; + private static final String POLICY_OPERATIONAL_FIREWALL_JSON = + "src/test/resources/tosca-policy-operational-firewall.json"; + private static final String POLICY_OPERATIONAL_RESTART_V_2_JSON = + "src/test/resources/tosca-policy-operational-restart.v2.json"; + private static final String POLICY_OPERATIONAL_RESTART_JSON = + "src/test/resources/tosca-policy-operational-restart.json"; + /** * Start tests in the Active state. */ @@ -199,7 +209,7 @@ public class LifecycleStateActiveTest extends LifecycleStateRunningTest { assertEquals("w", fsm.getSubgroup()); String restartV1 = - new String(Files.readAllBytes(Paths.get("src/test/resources/tosca-policy-operational-restart.json"))); + Files.readString(Paths.get(POLICY_OPERATIONAL_RESTART_JSON), StandardCharsets.UTF_8); ToscaPolicy toscaPolicyRestartV1 = new StandardCoder().decode(restartV1, ToscaPolicy.class); update.setPolicies(Arrays.asList(toscaPolicyRestartV1)); @@ -237,7 +247,6 @@ public class LifecycleStateActiveTest extends LifecycleStateRunningTest { .decode(fsm.client.getSink().getRecentEvents()[qlength + 1], PdpStatus.class); assertEquals(new ArrayList<>(fsm.policiesMap.keySet()), cachedStatus.getPolicies()); - factPolicies = controllerSupport.getFacts(ToscaPolicy.class); assertEquals(1, factPolicies.size()); assertEquals(toscaPolicyRestartV1, factPolicies.get(0)); @@ -275,7 +284,7 @@ public class LifecycleStateActiveTest extends LifecycleStateRunningTest { // deploy a new version of the operational.restart policy String restartV2 = - new String(Files.readAllBytes(Paths.get("src/test/resources/tosca-policy-operational-restart.v2.json"))); + Files.readString(Paths.get(POLICY_OPERATIONAL_RESTART_V_2_JSON), StandardCharsets.UTF_8); ToscaPolicy toscaPolicyRestartV2 = new StandardCoder().decode(restartV2, ToscaPolicy.class); update.setPolicies(Arrays.asList(toscaPolicyRestartV2)); assertTrue(fsm.update(update)); @@ -294,7 +303,7 @@ public class LifecycleStateActiveTest extends LifecycleStateRunningTest { // deploy another policy : firewall String firewall = - new String(Files.readAllBytes(Paths.get("src/test/resources/tosca-policy-operational-firewall.json"))); + Files.readString(Paths.get(POLICY_OPERATIONAL_FIREWALL_JSON), StandardCharsets.UTF_8); ToscaPolicy toscaPolicyFirewall = new StandardCoder().decode(firewall, ToscaPolicy.class); update.setPolicies(Arrays.asList(toscaPolicyRestartV2, toscaPolicyFirewall)); assertTrue(fsm.update(update)); @@ -320,6 +329,14 @@ public class LifecycleStateActiveTest extends LifecycleStateRunningTest { assertEquals(PdpState.ACTIVE, fsm.state()); assertEquals(interval, fsm.getStatusTimerSeconds()); + // bad policy deployment + + String badIntegerPolicy = + Files.readString(Paths.get(POLICY_COMPLIANT_VCPE_BAD_INTEGER_JSON), StandardCharsets.UTF_8); + ToscaPolicy toscaPolicyRestartBad = new StandardCoder().decode(badIntegerPolicy, ToscaPolicy.class); + update.setPolicies(Arrays.asList(toscaPolicyRestartBad)); + assertFalse(fsm.update(update)); + assertTrue(controllerSupport.getController().getDrools().delete(ToscaPolicy.class)); fsm.shutdown(); -- cgit 1.2.3-korg