From 74303b71e884cbaf6099031973d6c37e31c55bf3 Mon Sep 17 00:00:00 2001 From: sebdet Date: Tue, 8 Oct 2019 17:53:08 +0200 Subject: DCAE inventory calls in camel Move the HTTP/HTTPS calls to camel so that there is no issue with the previous code that does not support the config required for HTTP4 Camel Issue-ID: CLAMP-532 Change-Id: I83db0da5bbe6906890d0d6aa9b529c264e5f9b20 Signed-off-by: sebdet --- .../clds/client/DcaeInventoryServicesTest.java | 125 ----- .../clamp/clds/it/HttpConnectionManagerItCase.java | 146 ----- src/test/resources/application.properties | 7 +- .../resources/clds/camel/rest/clamp-api-v2.xml | 617 +++++++++++++++++++++ .../resources/clds/camel/rest/clds-services.xml | 29 + .../resources/clds/camel/routes/dcae-flows.xml | 216 ++++++++ .../resources/clds/camel/routes/flexible-flow.xml | 61 -- .../resources/clds/camel/routes/loop-flows.xml | 222 ++++++++ .../resources/clds/camel/routes/policy-flows.xml | 520 +++++++++++++++++ .../resources/clds/camel/routes/utils-flows.xml | 28 + 10 files changed, 1633 insertions(+), 338 deletions(-) delete mode 100644 src/test/java/org/onap/clamp/clds/client/DcaeInventoryServicesTest.java delete mode 100644 src/test/java/org/onap/clamp/clds/it/HttpConnectionManagerItCase.java create mode 100644 src/test/resources/clds/camel/rest/clamp-api-v2.xml create mode 100644 src/test/resources/clds/camel/rest/clds-services.xml create mode 100644 src/test/resources/clds/camel/routes/dcae-flows.xml delete mode 100644 src/test/resources/clds/camel/routes/flexible-flow.xml create mode 100644 src/test/resources/clds/camel/routes/loop-flows.xml create mode 100644 src/test/resources/clds/camel/routes/policy-flows.xml create mode 100644 src/test/resources/clds/camel/routes/utils-flows.xml (limited to 'src/test') diff --git a/src/test/java/org/onap/clamp/clds/client/DcaeInventoryServicesTest.java b/src/test/java/org/onap/clamp/clds/client/DcaeInventoryServicesTest.java deleted file mode 100644 index a66694cd6..000000000 --- a/src/test/java/org/onap/clamp/clds/client/DcaeInventoryServicesTest.java +++ /dev/null @@ -1,125 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Huawei Technologies Co., Ltd. - * ================================================================================ - * 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.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.core.Is.is; -import static org.hamcrest.core.IsNull.nullValue; -import static org.onap.clamp.clds.client.DcaeInventoryServices.DCAE_INVENTORY_RETRY_INTERVAL; -import static org.onap.clamp.clds.client.DcaeInventoryServices.DCAE_INVENTORY_RETRY_LIMIT; -import static org.onap.clamp.clds.client.DcaeInventoryServices.DCAE_INVENTORY_URL; -import static org.powermock.api.mockito.PowerMockito.when; - -import java.io.IOException; - -import org.json.simple.parser.ParseException; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; -import org.onap.clamp.clds.config.ClampProperties; -import org.onap.clamp.clds.model.dcae.DcaeInventoryResponse; -import org.onap.clamp.clds.model.dcae.DcaeLinks; -import org.onap.clamp.clds.model.dcae.DcaeOperationStatusResponse; -import org.onap.clamp.util.HttpConnectionManager; - - -@RunWith(MockitoJUnitRunner.class) -public class DcaeInventoryServicesTest { - - @Mock - private HttpConnectionManager httpConnectionManager; - - @Mock - private ClampProperties properties; - - private static final String resourceUuid = "023a3f0d-1161-45ff-b4cf-8918a8ccf3ad"; - private static final String serviceUuid = "4cc5b45a-1f63-4194-8100-cd8e14248c92"; - private static final String artifactName = "tca_2.yaml"; - private static final String queryString = "?asdcResourceId=" + resourceUuid + "&asdcServiceId=" + serviceUuid - + "&typeName=" + artifactName; - private static final String url = "http://localhost:8085" + "/dcae-service-types" + queryString; - - @Test - public void testDcaeInventoryResponse() throws ParseException, InterruptedException, IOException { - when(properties.getStringValue(DCAE_INVENTORY_URL)).thenReturn("http://localhost:8085"); - when(properties.getStringValue(DCAE_INVENTORY_RETRY_LIMIT)).thenReturn("1"); - when(properties.getStringValue(DCAE_INVENTORY_RETRY_INTERVAL)).thenReturn("100"); - String responseStr = "{\"totalCount\":1, " - + "\"items\":[{\"typeId\":\"typeId-32147723-d323-48f9-a325-bcea8d728025\"," - + " \"typeName\":\"typeName-32147723-d323-48f9-a325-bcea8d728025\"}]}"; - when(httpConnectionManager.doHttpRequest(url, "GET", null, null, - "DCAE", null, null)) - .thenReturn(responseStr); - - DcaeInventoryServices services = new DcaeInventoryServices(properties, - httpConnectionManager); - DcaeInventoryResponse response = services.getDcaeInformation(artifactName, serviceUuid, resourceUuid); - assertThat(response.getTypeId(),is("typeId-32147723-d323-48f9-a325-bcea8d728025")); - assertThat(response.getTypeName(),is("typeName-32147723-d323-48f9-a325-bcea8d728025")); - } - - @Test - public void testDcaeInventoryResponseWithZeroCount() throws ParseException, InterruptedException, IOException { - when(properties.getStringValue(DCAE_INVENTORY_URL)).thenReturn("http://localhost:8085"); - when(properties.getStringValue(DCAE_INVENTORY_RETRY_LIMIT)).thenReturn("1"); - when(properties.getStringValue(DCAE_INVENTORY_RETRY_INTERVAL)).thenReturn("100"); - when(httpConnectionManager.doHttpRequest(url, "GET", null, null, - "DCAE", null, null)) - .thenReturn("{\"totalCount\":0}\"}]}"); - DcaeInventoryServices services = new DcaeInventoryServices(properties, - httpConnectionManager); - DcaeInventoryResponse response = services.getDcaeInformation(artifactName, serviceUuid, resourceUuid); - assertThat(response, nullValue()); - } - - @Test - public void testDcaeInventoryResponsePojo() { - DcaeInventoryResponse response = new DcaeInventoryResponse(); - response.setTypeId("typeId-32147723-d323-48f9-a325-bcea8d728025"); - response.setTypeName("typeName-32147723-d323-48f9-a325-bcea8d728025"); - assertThat(response.getTypeId(),is("typeId-32147723-d323-48f9-a325-bcea8d728025")); - assertThat(response.getTypeName(),is("typeName-32147723-d323-48f9-a325-bcea8d728025")); - } - - @Test - public void testDcaeOperationStatusResponsePojo() { - DcaeLinks links = new DcaeLinks(); - links.setSelf("selfUrl"); - links.setStatus("state"); - links.setUninstall("uninstallUrl"); - DcaeOperationStatusResponse response = new DcaeOperationStatusResponse(); - response.setRequestId("testId"); - response.setError("errorMessage"); - response.setLinks(links); - response.setOperationType("install"); - response.setStatus("state"); - assertThat(response.getRequestId(),is("testId")); - assertThat(response.getError(),is("errorMessage")); - assertThat(response.getOperationType(),is("install")); - assertThat(response.getStatus(),is("state")); - assertThat(response.getLinks().getSelf(),is("selfUrl")); - assertThat(response.getLinks().getStatus(),is("state")); - assertThat(response.getLinks().getUninstall(),is("uninstallUrl")); - } -} \ No newline at end of file diff --git a/src/test/java/org/onap/clamp/clds/it/HttpConnectionManagerItCase.java b/src/test/java/org/onap/clamp/clds/it/HttpConnectionManagerItCase.java deleted file mode 100644 index beb07504a..000000000 --- a/src/test/java/org/onap/clamp/clds/it/HttpConnectionManagerItCase.java +++ /dev/null @@ -1,146 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. 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============================================ - * Modifications copyright (c) 2018 Nokia - * =================================================================== - * - */ - -package org.onap.clamp.clds.it; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.io.IOException; -import java.security.KeyManagementException; -import java.security.NoSuchAlgorithmException; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; - -import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.HttpsURLConnection; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLSession; -import javax.net.ssl.TrustManager; -import javax.net.ssl.X509TrustManager; -import javax.ws.rs.BadRequestException; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.onap.clamp.util.HttpConnectionManager; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; -import org.springframework.test.context.TestPropertySource; -import org.springframework.test.context.junit4.SpringRunner; - -/** - * Test HTTP and HTTPS settings + redirection of HTTP to HTTPS. - */ -@RunWith(SpringRunner.class) -@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT) -@TestPropertySource(locations = "classpath:https/https-test.properties") -public class HttpConnectionManagerItCase { - - @Value("${server.port}") - private String httpsPort; - @Value("${server.http-to-https-redirection.port}") - private String httpPort; - - @Autowired - HttpConnectionManager httpConnectionManager; - - private static TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { - - @Override - public java.security.cert.X509Certificate[] getAcceptedIssuers() { - return null; - } - - @Override - public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { - } - - @Override - public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { - } - } }; - - private void enableSslNoCheck() throws NoSuchAlgorithmException, KeyManagementException { - SSLContext sc = SSLContext.getInstance("SSL"); - sc.init(null, trustAllCerts, new java.security.SecureRandom()); - HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); - HostnameVerifier allHostsValid = new HostnameVerifier() { - - @Override - public boolean verify(String hostname, SSLSession session) { - return true; - } - }; - // set the allTrusting verifier - HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid); - } - - @Before - public void setupEnvBeforeTest() throws KeyManagementException, NoSuchAlgorithmException { - enableSslNoCheck(); - } - - @Test - public void testHttpGet() throws Exception { - String response = httpConnectionManager.doHttpRequest("http://localhost:" + this.httpPort + "/swagger.html", - "GET", null, null, "DCAE", null, null); - assertNotNull(response); - // Should be a redirection so 302, so empty - assertTrue(response.isEmpty()); - } - - @Test - public void testHttpsGet() throws Exception { - String response = httpConnectionManager.doHttpRequest("https://localhost:" + this.httpsPort + "/swagger.html", - "GET", null, null, "DCAE", null, null); - assertNotNull(response); - // Should contain something - assertTrue(!response.isEmpty()); - } - - @Test(expected = BadRequestException.class) - public void testHttpsGet404() throws IOException { - httpConnectionManager.doHttpRequest("https://localhost:" + this.httpsPort + "/swaggerx.html", "GET", null, null, - "DCAE", null, null); - fail("Should have raised an BadRequestException"); - } - - @Test(expected = BadRequestException.class) - public void testHttpsPost404() throws IOException { - httpConnectionManager.doHttpRequest("https://localhost:" + this.httpsPort + "/swaggerx.html", "POST", "", - "application/json", "DCAE", null, null); - fail("Should have raised an BadRequestException"); - } - - @Test(expected = BadRequestException.class) - public void testHttpException() throws IOException { - httpConnectionManager.doHttpRequest("http://localhost:" + this.httpsPort + "/swagger.html", "GET", null, null, - "DCAE", null, null); - fail("Should have raised an BadRequestException"); - } -} diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties index b23f77ace..bbade742c 100644 --- a/src/test/resources/application.properties +++ b/src/test/resources/application.properties @@ -208,15 +208,10 @@ clamp.config.action.insert.test.event=false clamp.config.clds.service.cache.invalidate.after.seconds=120 #DCAE Inventory Url Properties -clamp.config.dcae.inventory.url=http://localhost:${docker.http-cache.port.host} +clamp.config.dcae.inventory.url=http4://localhost:${docker.http-cache.port.host} clamp.config.dcae.intentory.retry.interval=100 clamp.config.dcae.intentory.retry.limit=1 -#DCAE Dispatcher Url Properties -clamp.config.dcae.dispatcher.url=http://localhost:${docker.http-cache.port.host} -clamp.config.dcae.dispatcher.retry.interval=100 -clamp.config.dcae.dispatcher.retry.limit=1 - #DCAE Deployment Url Properties clamp.config.dcae.deployment.url=http4://localhost:${docker.http-cache.port.host} clamp.config.dcae.deployment.userName=test diff --git a/src/test/resources/clds/camel/rest/clamp-api-v2.xml b/src/test/resources/clds/camel/rest/clamp-api-v2.xml new file mode 100644 index 000000000..cf99625ee --- /dev/null +++ b/src/test/resources/clds/camel/rest/clamp-api-v2.xml @@ -0,0 +1,617 @@ + + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + ${body} + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + ${body} + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + ${body} + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + + + + false + + + + + ${exchangeProperty[loopObject].getMicroServicePolicies()} + + + ${body} + + + + false + + + + + + + ${exchangeProperty[loopObject].getOperationalPolicies()} + + + ${body} + + + + false + + + + + + + + ${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()} + + + ${body} + + + + + false + + + + + + + + 3000 + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + + + + + + ${exchangeProperty[loopObject].getMicroServicePolicies()} + + + ${body} + + + + + + + + ${exchangeProperty[loopObject].getOperationalPolicies()} + + + ${body} + + + + + + ${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()} + + + ${body} + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + java.lang.Exception + + false + + + + + + + + ${exchangeProperty[loopObject]} + + + + + + + diff --git a/src/test/resources/clds/camel/rest/clds-services.xml b/src/test/resources/clds/camel/rest/clds-services.xml new file mode 100644 index 000000000..dd3a4bfdc --- /dev/null +++ b/src/test/resources/clds/camel/rest/clds-services.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + ${body} == 'NOT-OK' + + 404 + + + + + + + + + + + diff --git a/src/test/resources/clds/camel/routes/dcae-flows.xml b/src/test/resources/clds/camel/routes/dcae-flows.xml new file mode 100644 index 000000000..fb3bc90ec --- /dev/null +++ b/src/test/resources/clds/camel/routes/dcae-flows.xml @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + PUT + + + application/json + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + + + + + + + + + DEPLOY loop status + (Dep-id:${exchangeProperty[dcaeDeploymentId]}, + StatusUrl:${exchangeProperty[dcaeStatusUrl]}) + + + + DCAE + + + + + + + + + + + + + ${exchangeProperty[loopObject].getDcaeDeploymentId()} + != null + + + + + + + DELETE + + + application/json + + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + + + + + + + + + UNDEPLOY loop status + + + DCAE + + + + + + + + + + + + + + + + + + + GET + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + DCAE deployment status + + + DCAE + + + + + + + + + + + + GET + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/clds/camel/routes/flexible-flow.xml b/src/test/resources/clds/camel/routes/flexible-flow.xml deleted file mode 100644 index 2103b4acf..000000000 --- a/src/test/resources/clds/camel/routes/flexible-flow.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - ${exchangeProperty.actionCd} == 'SUBMIT' || ${exchangeProperty.actionCd} == 'RESUBMIT' - - - - - 30000 - - - - - - - ${exchangeProperty.actionCd} == 'DELETE' - - - - - 30000 - - - - - - - - ${exchangeProperty.actionCd} == 'UPDATE' - - - - - 30000 - - - - - - - ${exchangeProperty.actionCd} == 'STOP' - - - - - - - ${exchangeProperty.actionCd} == 'RESTART' - - - - - - - - - \ No newline at end of file diff --git a/src/test/resources/clds/camel/routes/loop-flows.xml b/src/test/resources/clds/camel/routes/loop-flows.xml new file mode 100644 index 000000000..036e8efc8 --- /dev/null +++ b/src/test/resources/clds/camel/routes/loop-flows.xml @@ -0,0 +1,222 @@ + + + + + ${header.loopName} + + + + + + + ${exchangeProperty[loopObject]} == null + + 404 + + + + + + + + + + ${exchangeProperty[loopObject].getComponent('POLICY')} + + + + true + + + true + + + + ${exchangeProperty[loopObject].getMicroServicePolicies()} + + + ${body.getName()} + + + ${body.getModelType()} + + + 1.0.0 + + + null + + + + + + + ${exchangeProperty[loopObject].getOperationalPolicies()} + + + ${body.getName()} + + + onap.policies.controlloop.Operational + + + 1 + + + ${body} + + + null + + + + + + ${exchangeProperty[operationalPolicy].createGuardPolicyPayloads().entrySet()} + + + ${body.getKey()} + + + onap.policies.controlloop.Guard + + + 1 + + + null + + + + + + + ${exchangeProperty[policyComponent].getState()} + + + + + + + + + + ${exchangeProperty[loopObject].getComponent('DCAE')} + + + ${exchangeProperty[loopObject].getDcaeDeploymentStatusUrl()} + != null + + + false + + + + ${header.CamelHttpResponseCode} == 200 + + + + + + + + + ${exchangeProperty[dcaeComponent].computeState(*)} + + + + + + + + + + + + ${exchangeProperty['dcaeState'].getStateName()} == + 'BLUEPRINT_DEPLOYED' and ${exchangeProperty['policyState'].getStateName()} + == 'NOT_SENT' + + + + + ${exchangeProperty['dcaeState'].getStateName()} == 'IN_ERROR' or + ${exchangeProperty['dcaeState'].getStateName()} == + 'MICROSERVICE_INSTALLATION_FAILED' + + + + + ${exchangeProperty['dcaeState'].getStateName()} == + 'MICROSERVICE_UNINSTALLATION_FAILED' or + ${exchangeProperty['policyState'].getStateName()} == 'IN_ERROR' + + + + + ${exchangeProperty['dcaeState'].getStateName()} == + 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and + ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED' + + + + + ${exchangeProperty['dcaeState'].getStateName()} == + 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and + ${exchangeProperty['policyState'].getStateName()} == 'SENT' + + + + + ${exchangeProperty['dcaeState'].getStateName()} == + 'BLUEPRINT_DEPLOYED' or ${exchangeProperty['dcaeState'].getStateName()} == + 'MICROSERVICE_UNINSTALLED_SUCCESSFULLY' and + ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED' + + + + + ${exchangeProperty['dcaeState'].getStateName()} == + 'PROCESSING_MICROSERVICE_INSTALLATION' or + ${exchangeProperty['dcaeState'].getStateName()} == + 'PROCESSING_MICROSERVICE_UNINSTALLATION' and + ${exchangeProperty['policyState'].getStateName()} == 'SENT_AND_DEPLOYED' + + + + + ${exchangeProperty['dcaeState'].getStateName()} == + 'MICROSERVICE_INSTALLED_SUCCESSFULLY' and + ${exchangeProperty['policyState'].getStateName()} != 'NOT_SENT' + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/clds/camel/routes/policy-flows.xml b/src/test/resources/clds/camel/routes/policy-flows.xml new file mode 100644 index 000000000..75ac66c6c --- /dev/null +++ b/src/test/resources/clds/camel/routes/policy-flows.xml @@ -0,0 +1,520 @@ + + + + + + false + + + + ${header.CamelHttpResponseCode} != 200 + + false + + + + + false + + + + ${header.CamelHttpResponseCode} != 200 + + false + + + + + ${exchangeProperty[policyComponent].computeState(*)} + + + + + + + + + + GET + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + ${exchangeProperty[policyName]} GET + Policy status + + + + POLICY + + + + + + + + + + + + + GET + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + ${exchangeProperty[policyName]} GET Policy deployment + status + + + + POLICY + + + + + + + + + + + + ${exchangeProperty[microServicePolicy].createPolicyPayload()} + + + + POST + + + application/json + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + ${exchangeProperty[microServicePolicy].getName()} creation + status + + + + POLICY + + + + + + + + + + + + + null + + + DELETE + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + + ${exchangeProperty[microServicePolicy].getName()} removal + status + + + + POLICY + + + + + + + + + + + + + ${exchangeProperty[operationalPolicy].createPolicyPayload()} + + + + POST + + + application/json + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + ${exchangeProperty[operationalPolicy].getName()} creation + status + + + + POLICY + + + + + + + + + + + + + null + + + DELETE + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + ${exchangeProperty[operationalPolicy].getName()} removal + status + + + + POLICY + + + + + + + + + + + + + ${exchangeProperty[guardPolicy].getValue()} + + + + POST + + + application/json + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + ${exchangeProperty[guardPolicy].getKey()} creation status + + + + POLICY + + + + + + + + + + + + + null + + + DELETE + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + + ${exchangeProperty[guardPolicy].getKey()} removal status + + + + POLICY + + + + + + + + + + + + + ${exchangeProperty[loopObject].getComponent("POLICY").createPoliciesPayloadPdpGroup(exchangeProperty[loopObject])} + + + + POST + + + application/json + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + + + + + PDP Group push ALL status + + + POLICY + + + + + + + + + + + + + ${exchangeProperty[loopObject].getComponent("POLICY").listPolicyNamesPdpGroup(exchangeProperty[loopObject])} + + + ${body} + + + null + + + DELETE + + + ${exchangeProperty[X-ONAP-RequestID]} + + + + ${exchangeProperty[X-ONAP-InvocationID]} + + + + ${exchangeProperty[X-ONAP-PartnerName]} + + + + + + ${exchangeProperty[policyName]} PDP Group removal status + + + + POLICY + + + + + java.lang.Exception + + false + + + PDP Group removal, Error reported: ${exception} + + + POLICY + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/clds/camel/routes/utils-flows.xml b/src/test/resources/clds/camel/routes/utils-flows.xml new file mode 100644 index 000000000..bbbc46a20 --- /dev/null +++ b/src/test/resources/clds/camel/routes/utils-flows.xml @@ -0,0 +1,28 @@ + + + + + true + + + + + + + + + ${exchangeProperty[logComponent]} == null + + + + + + null + + + + + \ No newline at end of file -- cgit 1.2.3-korg