Change json representation in op policy
[clamp.git] / src / test / java / org / onap / clamp / loop / PolicyComponentTest.java
index e822dfb..89d3e61 100644 (file)
@@ -25,25 +25,32 @@ 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 java.util.HashSet;
 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 {
 
     /**
-    * Test the computeState method. 
-    * oldState           newState        expectedFinalState
-    * NOT_SENT      SENT_AND_DEPLOYED          NOT_SENT
-    * NOT_SENT             SENT                NOT_SENT
-    * NOT_SENT           NOT_SENT              NOT_SENT
-    * NOT_SENT           IN_ERROR              IN_ERROR
-    */
+     * Test the computeState method.
+     * oldState           newState        expectedFinalState
+     * NOT_SENT      SENT_AND_DEPLOYED          NOT_SENT
+     * NOT_SENT             SENT                NOT_SENT
+     * NOT_SENT           NOT_SENT              NOT_SENT
+     * NOT_SENT           IN_ERROR              IN_ERROR
+     */
     @Test
     public void computeStateTestOriginalStateUnknown() {
         Exchange exchange = Mockito.mock(Exchange.class);
@@ -74,14 +81,15 @@ public class PolicyComponentTest {
         ExternalComponentState state3 = policy.computeState(exchange);
         assertThat(state3.getStateName()).isEqualTo("IN_ERROR");
     }
+
     /**
-    * Test the computeState method. 
-    * oldState           newState        expectedFinalState
-    * NOT_SENT      SENT_AND_DEPLOYED          NOT_SENT
-    * NOT_SENT             SENT                NOT_SENT
-    * NOT_SENT           NOT_SENT              NOT_SENT
-    * NOT_SENT           IN_ERROR              IN_ERROR
-    */
+     * Test the computeState method.
+     * oldState           newState        expectedFinalState
+     * NOT_SENT      SENT_AND_DEPLOYED          NOT_SENT
+     * NOT_SENT             SENT                NOT_SENT
+     * NOT_SENT           NOT_SENT              NOT_SENT
+     * NOT_SENT           IN_ERROR              IN_ERROR
+     */
     @Test
     public void computeStateTestOriginalStateNotSent() {
         Exchange exchange = Mockito.mock(Exchange.class);
@@ -117,13 +125,13 @@ public class PolicyComponentTest {
 
 
     /**
-    * Test the computeState method. 
-    * oldState           newState        expectedFinalState
-    * SENT                 SENT                SENT
-    * SENT          SENT_AND_DEPLOYED          SENT
-    * SENT              IN_ERROR              IN_ERROR
-    * SENT              NOT_SENT              NOT_SENT
-    */
+     * Test the computeState method.
+     * oldState           newState        expectedFinalState
+     * SENT                 SENT                SENT
+     * SENT          SENT_AND_DEPLOYED          SENT
+     * SENT              IN_ERROR              IN_ERROR
+     * SENT              NOT_SENT              NOT_SENT
+     */
     @Test
     public void computeStateTestOriginalStateSent() throws IOException {
         Exchange exchange = Mockito.mock(Exchange.class);
@@ -159,13 +167,13 @@ public class PolicyComponentTest {
     }
 
     /**
-    * Test the computeState method. 
-    * oldState                   newState        expectedFinalState
-    * SENT_AND_DEPLOYED     SENT_AND_DEPLOYED    SENT_AND_DEPLOYED
-    * SENT_AND_DEPLOYED            SENT                SENT
-    * SENT_AND_DEPLOYED          IN_ERROR            IN_ERROR
-    * SENT_AND_DEPLOYED          NOT_SENT            NOT_SENT
-    */
+     * Test the computeState method.
+     * oldState                   newState        expectedFinalState
+     * SENT_AND_DEPLOYED     SENT_AND_DEPLOYED    SENT_AND_DEPLOYED
+     * SENT_AND_DEPLOYED            SENT                SENT
+     * SENT_AND_DEPLOYED          IN_ERROR            IN_ERROR
+     * SENT_AND_DEPLOYED          NOT_SENT            NOT_SENT
+     */
     @Test
     public void computeStateTestOriginalStateSentAndDeployed() throws IOException {
         Exchange exchange = Mockito.mock(Exchange.class);
@@ -202,13 +210,13 @@ public class PolicyComponentTest {
 
 
     /**
-    * Test the computeState method. 
-    * oldState           newState        expectedFinalState
-    * IN_ERROR     SENT_AND_DEPLOYED         IN_ERROR
-    * IN_ERROR            SENT               IN_ERROR
-    * IN_ERROR          IN_ERROR             IN_ERROR
-    * IN_ERROR          NOT_SENT             IN_ERROR
-    */
+     * Test the computeState method.
+     * oldState           newState        expectedFinalState
+     * IN_ERROR     SENT_AND_DEPLOYED         IN_ERROR
+     * IN_ERROR            SENT               IN_ERROR
+     * IN_ERROR          IN_ERROR             IN_ERROR
+     * IN_ERROR          NOT_SENT             IN_ERROR
+     */
     @Test
     public void computeStateTestOriginalStateInError() throws IOException {
         Exchange exchange = Mockito.mock(Exchange.class);
@@ -243,4 +251,32 @@ 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, "pdpGroup1", "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, "pdpGroup2",
+                "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);
+    }
 }