X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fonap%2Fclamp%2Floop%2FPolicyComponentTest.java;h=52e10d2db30d0338b7ea13f8b0ceda6268e554f4;hb=ae6a9829f0c572cb4789812ea65871132ec861fd;hp=4be8d2310e00ada741cd91be443699b03097f767;hpb=4a00d035390b67c175669fb22e2455ce3e8bb667;p=clamp.git diff --git a/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java b/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java index 4be8d231..52e10d2d 100644 --- a/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java +++ b/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java @@ -24,68 +24,111 @@ 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 { /** - * 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() { + public void computeStateTestOriginalStateUnknown() { Exchange exchange = Mockito.mock(Exchange.class); Message message = Mockito.mock(Message.class); Exchange exchange2 = Mockito.mock(Exchange.class); Mockito.when(exchange.getIn()).thenReturn(message); Mockito.when(message.getExchange()).thenReturn(exchange2); - // policy found + deployed Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); + PolicyComponent policy = new PolicyComponent(); + ExternalComponentState state = policy.computeState(exchange); + assertThat(state.getStateName()).isEqualTo("SENT_AND_DEPLOYED"); + // policy found + not deployed + Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); + Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); + ExternalComponentState state2 = policy.computeState(exchange); + assertThat(state2.getStateName()).isEqualTo("SENT"); + // policy not found + not deployed + Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); + Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); + ExternalComponentState state4 = policy.computeState(exchange); + assertThat(state4.getStateName()).isEqualTo("NOT_SENT"); + // policy not found + deployed + Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); + Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); + 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 + public void computeStateTestOriginalStateNotSent() { + Exchange exchange = Mockito.mock(Exchange.class); + Message message = Mockito.mock(Message.class); + Exchange exchange2 = Mockito.mock(Exchange.class); + Mockito.when(exchange.getIn()).thenReturn(message); + Mockito.when(message.getExchange()).thenReturn(exchange2); + // policy found + deployed + Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); + Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); PolicyComponent policy = new PolicyComponent(); + ExternalComponentState notSent = new ExternalComponentState("NOT_SENT", + "The policies defined have NOT yet been created on the policy engine", 90); + policy.setState(notSent); ExternalComponentState state = policy.computeState(exchange); - assertThat(state.getStateName()).isEqualTo("NOT_SENT"); - // policy found + not deployed Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); ExternalComponentState state2 = policy.computeState(exchange); - assertThat(state2.getStateName()).isEqualTo("NOT_SENT"); - // policy not found + not deployed Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); ExternalComponentState state4 = policy.computeState(exchange); - assertThat(state4.getStateName()).isEqualTo("NOT_SENT"); - // policy not found + deployed Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); ExternalComponentState state3 = policy.computeState(exchange); - assertThat(state3.getStateName()).isEqualTo("IN_ERROR"); - } + /** - * 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); @@ -93,47 +136,41 @@ public class PolicyComponentTest { Exchange exchange2 = Mockito.mock(Exchange.class); Mockito.when(exchange.getIn()).thenReturn(message); Mockito.when(message.getExchange()).thenReturn(exchange2); - PolicyComponent policy = new PolicyComponent(); - ExternalComponentState SENT = new ExternalComponentState("SENT", + ExternalComponentState sent = new ExternalComponentState("SENT", "The policies defined have been created but NOT deployed on the policy engine", 50); - policy.setState(SENT); - + policy.setState(sent); // new policy state SENT Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); ExternalComponentState state = policy.computeState(exchange); - assertThat(state.getStateName()).isEqualTo("SENT"); - // new policy state SENT_AND_DEPLOYED Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); ExternalComponentState state2 = policy.computeState(exchange); - assertThat(state2.getStateName()).isEqualTo("SENT"); - // new policy state IN_ERROR Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); ExternalComponentState state3 = policy.computeState(exchange); - assertThat(state3.getStateName()).isEqualTo("IN_ERROR"); - // new policy state NOT_SENT - policy.setState(SENT); + policy.setState(sent); Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); ExternalComponentState state4 = policy.computeState(exchange); - assertThat(state4.getStateName()).isEqualTo("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 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); @@ -141,47 +178,42 @@ public class PolicyComponentTest { Exchange exchange2 = Mockito.mock(Exchange.class); Mockito.when(exchange.getIn()).thenReturn(message); Mockito.when(message.getExchange()).thenReturn(exchange2); - PolicyComponent policy = new PolicyComponent(); - ExternalComponentState SENT_AND_DEPLOYED = new ExternalComponentState("SENT_AND_DEPLOYED", + ExternalComponentState sendDeployed = new ExternalComponentState("SENT_AND_DEPLOYED", "The policies defined have been created and deployed on the policy engine", 10); - policy.setState(SENT_AND_DEPLOYED); - + policy.setState(sendDeployed); // new policy state SENT_AND_DEPLOYED Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); ExternalComponentState state = policy.computeState(exchange); - assertThat(state.getStateName()).isEqualTo("SENT_AND_DEPLOYED"); - // new policy state SENT Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); ExternalComponentState state2 = policy.computeState(exchange); - assertThat(state2.getStateName()).isEqualTo("SENT"); - // new policy state IN_ERROR Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); ExternalComponentState state3 = policy.computeState(exchange); - assertThat(state3.getStateName()).isEqualTo("IN_ERROR"); - // new policy state NOT_SENT - policy.setState(SENT_AND_DEPLOYED); + policy.setState(sendDeployed); Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); ExternalComponentState state4 = policy.computeState(exchange); - assertThat(state4.getStateName()).isEqualTo("NOT_SENT"); } + /** - * 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); @@ -189,34 +221,26 @@ public class PolicyComponentTest { Exchange exchange2 = Mockito.mock(Exchange.class); Mockito.when(exchange.getIn()).thenReturn(message); Mockito.when(message.getExchange()).thenReturn(exchange2); - PolicyComponent policy = new PolicyComponent(); - ExternalComponentState IN_ERROR = new ExternalComponentState("IN_ERROR", + ExternalComponentState inError = new ExternalComponentState("IN_ERROR", "There was an error during the sending to policy, the policy engine may be corrupted or inconsistent", 100); - policy.setState(IN_ERROR); - + policy.setState(inError); // new policy state SENT_AND_DEPLOYED Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); ExternalComponentState state = policy.computeState(exchange); - assertThat(state.getStateName()).isEqualTo("IN_ERROR"); - // new policy state SENT Mockito.when(exchange2.getProperty("policyFound")).thenReturn(true); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); ExternalComponentState state2 = policy.computeState(exchange); - assertThat(state2.getStateName()).isEqualTo("IN_ERROR"); - // new policy state IN_ERROR Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(true); ExternalComponentState state3 = policy.computeState(exchange); - assertThat(state3.getStateName()).isEqualTo("IN_ERROR"); - // new policy state NOT_SENT Mockito.when(exchange2.getProperty("policyFound")).thenReturn(false); Mockito.when(exchange2.getProperty("policyDeployed")).thenReturn(false); @@ -224,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", ""); + 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); + } }