diff options
author | Adam Wudzinski <adam.wudzinski@nokia.com> | 2019-03-07 16:46:28 +0100 |
---|---|---|
committer | awudzins <adam.wudzinski@nokia.com> | 2019-03-07 17:28:03 +0100 |
commit | 045b2715a73df3c9888f31eac43e93d5a576be4a (patch) | |
tree | 6ea92b15371c5d3d3d69c0246fb44983cab62180 /controlloop/common/actors/actor.appclcm/src/test | |
parent | 9849908bc526807c8c11f6609dbc5cef6ab2a872 (diff) |
Fix policy doesn't send payload to APPC
Fix policy doesn't send payload to APPC using AppcLcm
Change-Id: Ic3cb59203a412297f40f77d744cc86e4dddff7a2
Issue-ID: POLICY-1522
Signed-off-by: awudzins <adam.wudzinski@nokia.com>
Diffstat (limited to 'controlloop/common/actors/actor.appclcm/src/test')
-rw-r--r-- | controlloop/common/actors/actor.appclcm/src/test/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmActorServiceProviderTest.java (renamed from controlloop/common/actors/actor.appclcm/src/test/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmServiceProviderTest.java) | 110 |
1 files changed, 108 insertions, 2 deletions
diff --git a/controlloop/common/actors/actor.appclcm/src/test/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmServiceProviderTest.java b/controlloop/common/actors/actor.appclcm/src/test/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmActorServiceProviderTest.java index f6131b135..79bcf153f 100644 --- a/controlloop/common/actors/actor.appclcm/src/test/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmServiceProviderTest.java +++ b/controlloop/common/actors/actor.appclcm/src/test/java/org/onap/policy/controlloop/actor/appclcm/AppcLcmActorServiceProviderTest.java @@ -54,15 +54,19 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class AppcLcmServiceProviderTest { +public class AppcLcmActorServiceProviderTest { - private static final Logger logger = LoggerFactory.getLogger(AppcLcmServiceProviderTest.class); + private static final Logger logger = LoggerFactory.getLogger(AppcLcmActorServiceProviderTest.class); private static final VirtualControlLoopEvent onsetEvent; private static final ControlLoopOperation operation; private static final Policy policy; private static final LcmResponseWrapper dmaapResponse; + private static final String RECIPE_RESTART = "Restart"; + private static final String RECIPE_REBUILD = "Rebuild"; + private static final String RECIPE_MIGRATE = "Migrate"; + static { /* * Construct an onset with an AAI subtag containing generic-vnf.vnf-id and a target type of @@ -333,4 +337,106 @@ public class AppcLcmServiceProviderTest { assertEquals("VM", sp.recipeTargets("Restart").get(0)); assertEquals("vm-id", sp.recipePayloads("Restart").get(0)); } + + @Test + public void payloadNotPassedWhenNotSupportedByRecipe() { + //given + Policy migratePolicy = constructPolicyWithRecipe(RECIPE_MIGRATE); + Policy rebuildPolicy = constructPolicyWithRecipe(RECIPE_REBUILD); + Policy restartPolicy = constructPolicyWithRecipe(RECIPE_RESTART); + + // when + LcmRequestWrapper migrateRequest = + AppcLcmActorServiceProvider.constructRequest(onsetEvent, operation, migratePolicy, "vnf01"); + LcmRequestWrapper rebuildRequest = + AppcLcmActorServiceProvider.constructRequest(onsetEvent, operation, rebuildPolicy, "vnf01"); + LcmRequestWrapper restartRequest = + AppcLcmActorServiceProvider.constructRequest(onsetEvent, operation, restartPolicy, "vnf01"); + + // then + assertNull(migrateRequest.getBody().getPayload()); + assertNull(rebuildRequest.getBody().getPayload()); + assertNull(restartRequest.getBody().getPayload()); + } + + @Test + public void payloadNotPassedWhenNotSuppliedOrEmpty() { + //given + Policy noPayloadPolicy = constructHealthCheckPolicyWithPayload(null); + Policy emptyPayloadPolicy = constructHealthCheckPolicyWithPayload(new HashMap<>()); + + // when + LcmRequestWrapper noPayloadRequest = + AppcLcmActorServiceProvider.constructRequest(onsetEvent, operation, noPayloadPolicy, "vnf01"); + LcmRequestWrapper emptyPayloadRequest = + AppcLcmActorServiceProvider.constructRequest(onsetEvent, operation, emptyPayloadPolicy, "vnf01"); + + + // then + assertNull(noPayloadRequest.getBody().getPayload()); + assertNull(emptyPayloadRequest.getBody().getPayload()); + } + + @Test + public void payloadParsedProperlyForSinglePayloadParameter() { + // given + HashMap<String, String> payload = new HashMap<>(); + payload.put("requestParameters", "{\"host-ip-address\":\"10.183.37.25\"}"); + Policy otherPolicy = constructHealthCheckPolicyWithPayload(payload); + + // when + LcmRequestWrapper dmaapRequest = + AppcLcmActorServiceProvider.constructRequest(onsetEvent, operation, otherPolicy, "vnf01"); + + // then + assertEquals(dmaapRequest.getBody().getPayload(), + "{\"requestParameters\": {\"host-ip-address\":\"10.183.37.25\"}}"); + } + + + @Test + public void payloadParsedProperlyForMultiplePayloadParameters() { + // given + HashMap<String, String> payload = new HashMap<>(); + payload.put("requestParameters", "{\"host-ip-address\":\"10.183.37.25\"}"); + payload.put("configurationParameters", "[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[9]\"," + + "\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[16]\"," + + "\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[23]\"}]"); + Policy otherPolicy = constructHealthCheckPolicyWithPayload(payload); + + // when + LcmRequestWrapper dmaapRequest = + AppcLcmActorServiceProvider.constructRequest(onsetEvent, operation, otherPolicy, "vnf01"); + + // then + assertEquals(dmaapRequest.getBody().getPayload(), + "{\"requestParameters\": " + + "{\"host-ip-address\":\"10.183.37.25\"}," + + "\"configurationParameters\": " + + "[{\"ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[9]\"," + + "\"oam-ip-addr\":\"$.vf-module-topology.vf-module-parameters.param[16]\"," + + "\"enabled\":\"$.vf-module-topology.vf-module-parameters.param[23]\"}]" + + "}"); + } + + private Policy constructHealthCheckPolicyWithPayload(HashMap<String, String> payload) { + return constructHealthCheckPolicyWithPayloadAndRecipe(payload, "Health-Check"); + } + + private Policy constructPolicyWithRecipe(String recipe) { + return constructHealthCheckPolicyWithPayloadAndRecipe(null, recipe); + } + + private Policy constructHealthCheckPolicyWithPayloadAndRecipe(HashMap<String, String> payload, String recipe) { + Policy otherPolicy = new Policy(); + otherPolicy.setName("Perform health check"); + otherPolicy.setDescription("Upon getting the trigger event, perform health check"); + otherPolicy.setActor("APPC"); + otherPolicy.setTarget(new Target(TargetType.VNF)); + otherPolicy.setRecipe(recipe); + otherPolicy.setPayload(payload); + otherPolicy.setRetry(2); + otherPolicy.setTimeout(300); + return otherPolicy; + } } |