aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/common/actors/actor.appclcm/src/test
diff options
context:
space:
mode:
authorAdam Wudzinski <adam.wudzinski@nokia.com>2019-03-07 16:46:28 +0100
committerawudzins <adam.wudzinski@nokia.com>2019-03-07 17:28:03 +0100
commit045b2715a73df3c9888f31eac43e93d5a576be4a (patch)
tree6ea92b15371c5d3d3d69c0246fb44983cab62180 /controlloop/common/actors/actor.appclcm/src/test
parent9849908bc526807c8c11f6609dbc5cef6ab2a872 (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;
+ }
}