Rework the activate pdp group payload
[clamp.git] / src / test / java / org / onap / clamp / loop / PolicyComponentTest.java
index e822dfb..52e10d2 100644 (file)
 package org.onap.clamp.loop;
 
 import static org.assertj.core.api.Assertions.assertThat;
-
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
 import java.io.IOException;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.junit.Test;
 import org.mockito.Mockito;
+import org.onap.clamp.clds.util.ResourceFileUtil;
 import org.onap.clamp.loop.components.external.ExternalComponentState;
 import org.onap.clamp.loop.components.external.PolicyComponent;
+import org.onap.clamp.loop.template.LoopTemplate;
+import org.onap.clamp.loop.template.PolicyModel;
+import org.onap.clamp.policy.microservice.MicroServicePolicy;
+import org.onap.clamp.policy.operational.OperationalPolicy;
 
 public class PolicyComponentTest {
 
@@ -243,4 +248,36 @@ public class PolicyComponentTest {
 
         assertThat(state4.getStateName()).isEqualTo("IN_ERROR");
     }
+
+    /**
+     * Test the create policies payload PdpGroup test.
+     */
+    @Test
+    public void createPoliciesPayloadPdpGroupTest() throws IOException {
+        Loop loopTest = new Loop("ControlLoopTest", "<xml></xml>");
+        PolicyModel policyModel1 = new PolicyModel("onap.policies.monitoring.test", null, "1.0.0");
+
+        MicroServicePolicy microServicePolicy = new MicroServicePolicy("configPolicyTest", policyModel1, true,
+                new Gson().fromJson("{\"configtype\":\"json\"}", JsonObject.class), null);
+        microServicePolicy.setPdpGroup("pdpGroup1");
+        microServicePolicy.setPdpSubGroup("pdpSubgroup1");
+
+        loopTest.addMicroServicePolicy(microServicePolicy);
+
+        PolicyModel policyModel2 = new PolicyModel("onap.policies.controlloop.Operational", null, "1.0.0");
+        OperationalPolicy opPolicy = new OperationalPolicy("opPolicy", loopTest,
+                new Gson().fromJson("{\"configtype\":\"json\"}", JsonObject.class), policyModel2, null);
+        opPolicy.setPdpGroup("pdpGroup2");
+        opPolicy.setPdpSubGroup("pdpSubgroup2");
+
+        loopTest.addOperationalPolicy(opPolicy);
+
+        LoopTemplate loopTemplate = new LoopTemplate("test", "yaml", "svg", 1, null);
+        loopTemplate.setDcaeBlueprintId("UUID-blueprint");
+        loopTest.setLoopTemplate(loopTemplate);
+
+        String payload = PolicyComponent.createPoliciesPayloadPdpGroup(loopTest);
+        String expectedRes = ResourceFileUtil.getResourceAsString("tosca/pdp-group-policy-payload.json");
+        assertThat(payload).isEqualTo(expectedRes);
+    }
 }