diff options
Diffstat (limited to 'src/test')
8 files changed, 131 insertions, 9 deletions
diff --git a/src/test/java/org/onap/clamp/clds/client/GuardPolicyDeleteDelegateTest.java b/src/test/java/org/onap/clamp/clds/client/GuardPolicyDeleteDelegateTest.java new file mode 100644 index 000000000..2ff8166b9 --- /dev/null +++ b/src/test/java/org/onap/clamp/clds/client/GuardPolicyDeleteDelegateTest.java @@ -0,0 +1,117 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * Copyright (C) 2019 Samsung. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END============================================ + * =================================================================== + * + */ + +package org.onap.clamp.clds.client; + +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.apache.camel.Exchange; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.clamp.clds.client.req.policy.PolicyClient; +import org.onap.clamp.clds.exception.ModelBpmnException; + +@RunWith(MockitoJUnitRunner.class) +public class GuardPolicyDeleteDelegateTest { + + private static final String MODEL_BPMN_KEY = "modelBpmnProp"; + private static final String MODEL_PROP_KEY = "modelProp"; + private static final String TEST_KEY = "isTest"; + private static final String EVENT_ACTION_KEY = "eventAction"; + + private static final String POLICY_ID_FROM_JSON = "{policy:[{id:Policy_7,from:''}]}"; + private static final String TCA_ID_FROM_JSON = "{tca:[{id:'',from:''}]}"; + private static final String ID_JSON = "{Policy_7:{r:[" + + "{name:pid,value:pid334}," + + "{name:timeout,value:50}," + + "{name:policyType,value:pt}," + + "{policyConfigurations:[[" + + "{name:_id,value:ret345}," + + "{name:recipe,value:make}," + + "{name:maxRetries,value:5}," + + "{name:retryTimeLimit,value:100}," + + "{name:enableGuardPolicy,value:on}]]}]}}"; + private static final String NOT_JSON = "not json"; + private static final String EVENT_ACTION_VALUE = "action"; + + @Mock + private Exchange exchange; + + @Mock + private PolicyClient policyClient; + + @InjectMocks + private GuardPolicyDeleteDelegate guardPolicyDeleteDelegate; + + @Test + public void shouldExecuteSuccessfully() { + // given + when(exchange.getProperty(eq(MODEL_BPMN_KEY))).thenReturn(POLICY_ID_FROM_JSON); + when(exchange.getProperty(eq(MODEL_PROP_KEY))).thenReturn(ID_JSON); + when(exchange.getProperty(eq(TEST_KEY))).thenReturn(false); + when(exchange.getProperty(eq(EVENT_ACTION_KEY))).thenReturn(EVENT_ACTION_VALUE); + + // when + guardPolicyDeleteDelegate.execute(exchange); + + // then + verify(policyClient).deleteGuard(any()); + } + + @Test + public void shouldExecutePolicyNotFound() { + // given + when(exchange.getProperty(eq(MODEL_BPMN_KEY))).thenReturn(TCA_ID_FROM_JSON); + when(exchange.getProperty(eq(MODEL_PROP_KEY))).thenReturn(ID_JSON); + when(exchange.getProperty(eq(TEST_KEY))).thenReturn(false); + when(exchange.getProperty(eq(EVENT_ACTION_KEY))).thenReturn(EVENT_ACTION_VALUE); + + // when + guardPolicyDeleteDelegate.execute(exchange); + + // then + verify(policyClient, never()).deleteGuard(any()); + } + + @Test(expected = ModelBpmnException.class) + public void shouldThrowModelBpmnException() { + // given + when(exchange.getProperty(eq(MODEL_BPMN_KEY))).thenReturn(NOT_JSON); + when(exchange.getProperty(eq(TEST_KEY))).thenReturn(false); + + // when + guardPolicyDeleteDelegate.execute(exchange); + } + + @Test(expected = NullPointerException.class) + public void shouldThrowNullPointerException() { + // when + guardPolicyDeleteDelegate.execute(exchange); + } +} diff --git a/src/test/java/org/onap/clamp/clds/sdc/controller/installer/BlueprintParserTest.java b/src/test/java/org/onap/clamp/clds/sdc/controller/installer/BlueprintParserTest.java index 7a1f9f0ac..dec639770 100644 --- a/src/test/java/org/onap/clamp/clds/sdc/controller/installer/BlueprintParserTest.java +++ b/src/test/java/org/onap/clamp/clds/sdc/controller/installer/BlueprintParserTest.java @@ -144,7 +144,7 @@ public class BlueprintParserTest { MicroService expected = new MicroService(SECOND_APPP, MODEL_TYPE1, FIRST_APPP, ""); Entry<String, JsonElement> entry = jsonObject.entrySet().iterator().next(); - MicroService actual = new BlueprintParser().getNodeRepresentation(entry, jsonObject); + MicroService actual = new BlueprintParser().getNodeRepresentation(entry, jsonObject, null); Assert.assertEquals(expected, actual); } diff --git a/src/test/resources/clds/blueprint-with-microservice-chain.yaml b/src/test/resources/clds/blueprint-with-microservice-chain.yaml index 4a7e5d7aa..fa2d72052 100644 --- a/src/test/resources/clds/blueprint-with-microservice-chain.yaml +++ b/src/test/resources/clds/blueprint-with-microservice-chain.yaml @@ -31,7 +31,7 @@ node_templates: service_component_name_override: second_app image: { get_input: second_app_docker_image } policy_id: - policy_type_id: type2 + policy_model_id: "type2" interfaces: cloudify.interfaces.lifecycle: start: @@ -56,7 +56,7 @@ node_templates: image: { get_input: first_app_docker_image } container_port: 6565 policy_id: - policy_type_id: type1 + policy_model_id: "type1" interfaces: cloudify.interfaces.lifecycle: start: @@ -81,7 +81,7 @@ node_templates: image: { get_input: third_app_docker_image } container_port: 443 policy_id: - policy_type_id: type3 + policy_model_id: "type3" interfaces: cloudify.interfaces.lifecycle: start: diff --git a/src/test/resources/clds/single-microservice-fragment-valid.yaml b/src/test/resources/clds/single-microservice-fragment-valid.yaml index 269ee5062..2c1680717 100644 --- a/src/test/resources/clds/single-microservice-fragment-valid.yaml +++ b/src/test/resources/clds/single-microservice-fragment-valid.yaml @@ -6,7 +6,7 @@ second_app: image: { get_input: second_app_docker_image } name: second_app policy_id: - policy_type_id: type1 + policy_model_id: "type1" interfaces: cloudify.interfaces.lifecycle: start: diff --git a/src/test/resources/example/sdc/blueprint-dcae/prop-text-for-tca-3.json b/src/test/resources/example/sdc/blueprint-dcae/prop-text-for-tca-3.json index f8f531654..012c46e9c 100644 --- a/src/test/resources/example/sdc/blueprint-dcae/prop-text-for-tca-3.json +++ b/src/test/resources/example/sdc/blueprint-dcae/prop-text-for-tca-3.json @@ -40,7 +40,8 @@ "cbs_host": "config-binding-service.dcae.svc.cluster.local", "cbs_port": "10000", "external_port": "32012", - "policy_id": "AUTO_GENERATED_POLICY_ID_AT_SUBMIT" + "policy_id": "AUTO_GENERATED_POLICY_ID_AT_SUBMIT", + "policy_model_id": "onap.policies.monitoring.cdap.tca.hi.lo.app" } } ] diff --git a/src/test/resources/example/sdc/blueprint-dcae/tca.yaml b/src/test/resources/example/sdc/blueprint-dcae/tca.yaml index edaa0be28..0cb9cdb68 100644 --- a/src/test/resources/example/sdc/blueprint-dcae/tca.yaml +++ b/src/test/resources/example/sdc/blueprint-dcae/tca.yaml @@ -17,7 +17,7 @@ node_templates: properties: policy_id: get_input: policy_id - policy_type_id: onap.policies.monitoring.cdap.tca.hi.lo.app + policy_model_id: "onap.policies.monitoring.cdap.tca.hi.lo.app" cdap_host_host: type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure properties: diff --git a/src/test/resources/example/sdc/blueprint-dcae/tca_2.yaml b/src/test/resources/example/sdc/blueprint-dcae/tca_2.yaml index 56ae32a7f..00ebfe7fe 100644 --- a/src/test/resources/example/sdc/blueprint-dcae/tca_2.yaml +++ b/src/test/resources/example/sdc/blueprint-dcae/tca_2.yaml @@ -171,4 +171,4 @@ node_templates: properties: policy_id: get_input: policy_id - policy_type_id: onap.policies.monitoring.cdap.tca.hi.lo.app + policy_model_id: "onap.policies.monitoring.cdap.tca.hi.lo.app" diff --git a/src/test/resources/example/sdc/blueprint-dcae/tca_3.yaml b/src/test/resources/example/sdc/blueprint-dcae/tca_3.yaml index 53cfc4f76..6fab504b2 100644 --- a/src/test/resources/example/sdc/blueprint-dcae/tca_3.yaml +++ b/src/test/resources/example/sdc/blueprint-dcae/tca_3.yaml @@ -51,6 +51,9 @@ inputs: type: string description: Kubernetes node port on which CDAPgui is exposed default: "32012" + policy_model_id: + type: string + default: "onap.policies.monitoring.cdap.tca.hi.lo.app" node_templates: tca_k8s: @@ -150,4 +153,5 @@ node_templates: properties: policy_id: get_input: policy_id - policy_type_id: onap.policies.monitoring.cdap.tca.hi.lo.app + policy_model_id: + get_input: policy_model_id |