Remove legacy operational Policy
[clamp.git] / src / test / java / org / onap / clamp / loop / PolicyComponentTest.java
index e822dfb..4d2bfe2 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.ResourceFileUtils;
 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;
+
+import static org.assertj.core.api.Assertions.assertThat;
 
 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 +80,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 +124,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 +166,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 +209,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 +250,48 @@ 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");
+        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);
+
+        MicroServicePolicy microServicePolicy2 = new MicroServicePolicy("configPolicyTest2", policyModel1, true,
+                new Gson().fromJson("{\"configtype\":\"json\"}", JsonObject.class), null, "pdpGroup2", "pdpSubgroup1");
+        loopTest.addMicroServicePolicy(microServicePolicy2);
+
+        PolicyModel policyModel2 = new PolicyModel("onap.policies.monitoring.test2", null,
+                "1.0.0");
+        OperationalPolicy opPolicy =
+                new OperationalPolicy("opPolicy", new Gson().fromJson("{\"configtype\":\"json\"}", JsonObject.class),
+                        new Gson().fromJson("{\"jsonschema\":\"schema\"}", JsonObject.class), policyModel2, null,
+                        "pdpGroup2",
+                        "pdpSubgroup2");
+
+        loopTest.addOperationalPolicy(opPolicy);
+        OperationalPolicy opLegacyPolicy =
+                new OperationalPolicy("opLegacyPolicy", new Gson().fromJson(
+                        "{\"guard_policies\":[{\"policy-id\":\"guard1\"}]}", JsonObject.class),
+                        new Gson().fromJson("{\"jsonschema\":\"schema\"}", JsonObject.class), policyModel2, null,
+                        "pdpGroup2",
+                        "pdpSubgroup2");
+
+        loopTest.addOperationalPolicy(opLegacyPolicy);
+
+        LoopTemplate loopTemplate = new LoopTemplate("test", "yaml", 1, null);
+        loopTemplate.setDcaeBlueprintId("UUID-blueprint");
+        loopTest.setLoopTemplate(loopTemplate);
+
+        String payload = PolicyComponent.createPoliciesPayloadPdpGroup(loopTest, "POST");
+        String expectedRes = ResourceFileUtils.getResourceAsString("tosca/pdp-group-policy-payload.json");
+
+        assertThat(payload).isEqualTo(expectedRes);
+    }
 }