summaryrefslogtreecommitdiffstats
path: root/runtime-controlloop/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'runtime-controlloop/src/test')
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProviderTest.java221
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java303
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/config/messaging/MessageDispatcherActivatorTest.java102
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java378
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/InstantiationUtils.java141
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java527
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/main/rest/ActuatorControllerTest.java91
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/monitoring/TestMonitoringProvider.java319
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/monitoring/rest/MonitoringQueryControllerTest.java242
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/HandleCounterTest.java84
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionAspectTest.java66
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java307
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java214
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java225
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/util/CommonTestData.java123
-rw-r--r--runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/util/rest/CommonRestController.java201
-rw-r--r--runtime-controlloop/src/test/resources/application_test.properties37
-rw-r--r--runtime-controlloop/src/test/resources/parameters/TestParameters.json44
-rw-r--r--runtime-controlloop/src/test/resources/parameters/logback-test.xml42
-rw-r--r--runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopElementsNotFound.json142
-rw-r--r--runtime-controlloop/src/test/resources/rest/controlloops/ControlLoops.json174
-rw-r--r--runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsNotFound.json142
-rw-r--r--runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsSmoke.json174
-rw-r--r--runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsUpdate.json174
-rw-r--r--runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsVersionNotMatches.json142
-rw-r--r--runtime-controlloop/src/test/resources/rest/controlloops/PassiveCommand.json13
-rw-r--r--runtime-controlloop/src/test/resources/rest/monitoring/TestClElementStatistics.json44
-rw-r--r--runtime-controlloop/src/test/resources/rest/monitoring/TestClElementStatistics_Invalid.json13
-rw-r--r--runtime-controlloop/src/test/resources/rest/monitoring/TestParticipantStatistics.json46
-rw-r--r--runtime-controlloop/src/test/resources/rest/monitoring/TestParticipantStatistics_Invalid.json16
-rw-r--r--runtime-controlloop/src/test/resources/rest/servicetemplates/PMSHMultipleCLTosca.yaml232
-rw-r--r--runtime-controlloop/src/test/resources/rest/servicetemplates/full-tosca-with-common-properties.yaml3546
-rw-r--r--runtime-controlloop/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml452
-rw-r--r--runtime-controlloop/src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml238
-rw-r--r--runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml3488
-rwxr-xr-xruntime-controlloop/src/test/resources/testscripts/listenOnTopic.sh31
36 files changed, 0 insertions, 12734 deletions
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProviderTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProviderTest.java
deleted file mode 100644
index 843985e7d..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/CommissioningProviderTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.commissioning;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.PropertyNamingStrategies;
-import com.fasterxml.jackson.module.jsonSchema.factories.SchemaFactoryWrapper;
-import java.util.List;
-import java.util.Map;
-import org.junit.jupiter.api.Test;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
-import org.onap.policy.clamp.controlloop.runtime.instantiation.InstantiationUtils;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaCapabilityType;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaDataType;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeType;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyType;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaRelationshipType;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaTopologyTemplate;
-
-class CommissioningProviderTest {
- private static final String TOSCA_SERVICE_TEMPLATE_YAML =
- "src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml";
- private static final String COMMON_TOSCA_SERVICE_TEMPLATE_YAML =
- "src/test/resources/rest/servicetemplates/full-tosca-with-common-properties.yaml";
-
- private static final Coder CODER = new StandardCoder();
- private final ObjectMapper mapper = new ObjectMapper();
-
- /**
- * Test the fetching of control loop definitions (ToscaServiceTemplates).
- *
- * @throws Exception .
- */
- @Test
- void testGetControlLoopDefinitions() throws Exception {
- var clProvider = mock(ControlLoopProvider.class);
- var participantProvider = mock(ParticipantProvider.class);
- var serviceTemplateProvider = mock(ServiceTemplateProvider.class);
-
- CommissioningProvider provider =
- new CommissioningProvider(serviceTemplateProvider, clProvider, null, participantProvider);
-
- List<ToscaNodeTemplate> listOfTemplates = provider.getControlLoopDefinitions(null, null);
- assertThat(listOfTemplates).isEmpty();
-
- when(clProvider.getFilteredNodeTemplates(any()))
- .thenReturn(List.of(new ToscaNodeTemplate(), new ToscaNodeTemplate()));
- listOfTemplates = provider.getControlLoopDefinitions(null, null);
- assertThat(listOfTemplates).hasSize(2);
- }
-
- /**
- * Test the creation of control loop definitions (ToscaServiceTemplates).
- *
- * @throws Exception .
- */
- @Test
- void testCreateControlLoopDefinitions() throws Exception {
- var serviceTemplateProvider = mock(ServiceTemplateProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var participantProvider = mock(ParticipantProvider.class);
-
- CommissioningProvider provider =
- new CommissioningProvider(serviceTemplateProvider, clProvider, null, participantProvider);
-
- List<ToscaNodeTemplate> listOfTemplates = provider.getControlLoopDefinitions(null, null);
- assertThat(listOfTemplates).isEmpty();
-
- ToscaServiceTemplate serviceTemplate = InstantiationUtils.getToscaServiceTemplate(TOSCA_SERVICE_TEMPLATE_YAML);
- when(serviceTemplateProvider.createServiceTemplate(serviceTemplate)).thenReturn(serviceTemplate);
-
- // Response should return the number of node templates present in the service template
- List<ToscaConceptIdentifier> affectedDefinitions =
- provider.createControlLoopDefinitions(serviceTemplate).getAffectedControlLoopDefinitions();
- assertThat(affectedDefinitions).hasSize(13);
-
- when(clProvider.getFilteredNodeTemplates(any()))
- .thenReturn(List.of(new ToscaNodeTemplate(), new ToscaNodeTemplate()));
-
- listOfTemplates = provider.getControlLoopDefinitions(null, null);
- assertThat(listOfTemplates).hasSize(2);
- }
-
- /**
- * Test the fetching of a full ToscaServiceTemplate object - as opposed to the reduced template that is being
- * tested in the testGetToscaServiceTemplateReduced() test.
- *
- */
- @Test
- void testGetToscaServiceTemplate() throws Exception {
- var serviceTemplateProvider = mock(ServiceTemplateProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var participantProvider = mock(ParticipantProvider.class);
-
- CommissioningProvider provider =
- new CommissioningProvider(serviceTemplateProvider, clProvider, null, participantProvider);
- ToscaServiceTemplate serviceTemplate =
- InstantiationUtils.getToscaServiceTemplate(COMMON_TOSCA_SERVICE_TEMPLATE_YAML);
- when(serviceTemplateProvider.createServiceTemplate(serviceTemplate)).thenReturn(serviceTemplate);
-
- provider.createControlLoopDefinitions(serviceTemplate);
- verify(serviceTemplateProvider).createServiceTemplate(serviceTemplate);
-
- when(serviceTemplateProvider.getToscaServiceTemplate(eq(null), eq(null))).thenReturn(serviceTemplate);
-
- ToscaServiceTemplate returnedServiceTemplate = provider.getToscaServiceTemplate(null, null);
- assertThat(returnedServiceTemplate).isNotNull();
-
- Map<String, ToscaNodeTemplate> nodeTemplates =
- returnedServiceTemplate.getToscaTopologyTemplate().getNodeTemplates();
-
- assertThat(nodeTemplates).hasSize(8);
- }
-
- /**
- * Test the fetching of a reduced ToscaServiceTemplate with only some of the objects from the full template.
- * The reduced template does not contain: DataTypesAsMap or PolicyTypesAsMap.
- *
- */
- @Test
- void testGetToscaServiceTemplateReduced() throws Exception {
- var serviceTemplateProvider = mock(ServiceTemplateProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var participantProvider = mock(ParticipantProvider.class);
-
- CommissioningProvider provider =
- new CommissioningProvider(serviceTemplateProvider, clProvider, null, participantProvider);
- ToscaServiceTemplate serviceTemplate =
- InstantiationUtils.getToscaServiceTemplate(COMMON_TOSCA_SERVICE_TEMPLATE_YAML);
- when(serviceTemplateProvider.createServiceTemplate(serviceTemplate)).thenReturn(serviceTemplate);
-
- provider.createControlLoopDefinitions(serviceTemplate);
-
- when(serviceTemplateProvider.getServiceTemplateList(any(), any())).thenReturn(List.of(serviceTemplate));
-
- String returnedServiceTemplate = provider.getToscaServiceTemplateReduced(null, null);
- assertThat(returnedServiceTemplate).isNotNull();
- ToscaServiceTemplate parsedServiceTemplate = CODER.decode(returnedServiceTemplate, ToscaServiceTemplate.class);
-
- assertThat(parsedServiceTemplate.getToscaTopologyTemplate().getNodeTemplates()).hasSize(8);
- }
-
- /**
- * Tests the different schemas being returned from the schema endpoint. As schemas of the different
- * sections of the Tosca Service Templates can be returned by the API, this test must cover all of the
- * different sections.
- *
- */
- @Test
- void testGetToscaServiceTemplateSchema() throws Exception {
- var serviceTemplateProvider = mock(ServiceTemplateProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var participantProvider = mock(ParticipantProvider.class);
-
- CommissioningProvider provider =
- new CommissioningProvider(serviceTemplateProvider, clProvider, null, participantProvider);
- ToscaServiceTemplate serviceTemplate =
- InstantiationUtils.getToscaServiceTemplate(COMMON_TOSCA_SERVICE_TEMPLATE_YAML);
- when(serviceTemplateProvider.createServiceTemplate(serviceTemplate)).thenReturn(serviceTemplate);
-
- provider.createControlLoopDefinitions(serviceTemplate);
-
- mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
-
- Map<String, Class<?>> sections = Map.of("all", ToscaServiceTemplate.class, "data_types", ToscaDataType.class,
- "capability_types", ToscaCapabilityType.class, "node_types", ToscaNodeType.class, "relationship_types",
- ToscaRelationshipType.class, "policy_types", ToscaPolicyType.class, "topology_template",
- ToscaTopologyTemplate.class, "node_templates", List.class);
-
- for (Map.Entry<String, Class<?>> entry : sections.entrySet()) {
- String returnedServiceTemplateSchema = provider.getToscaServiceTemplateSchema(entry.getKey());
- assertThat(returnedServiceTemplateSchema).isNotNull();
-
- var visitor = new SchemaFactoryWrapper();
-
- if (entry.getKey().equals("node_templates")) {
- mapper.acceptJsonFormatVisitor(
- mapper.getTypeFactory().constructCollectionType(List.class, ToscaNodeTemplate.class), visitor);
- } else {
- mapper.acceptJsonFormatVisitor(mapper.constructType(entry.getValue()), visitor);
- }
-
- var jsonSchema = visitor.finalSchema();
- String localServiceTemplateSchema = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonSchema);
- assertThat(localServiceTemplateSchema).isEqualTo(returnedServiceTemplateSchema);
- }
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java
deleted file mode 100644
index e4a121439..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/commissioning/rest/CommissioningControllerTest.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.commissioning.rest;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-import java.util.List;
-import java.util.Map;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Response;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.junit.jupiter.api.parallel.Execution;
-import org.junit.jupiter.api.parallel.ExecutionMode;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
-import org.onap.policy.clamp.controlloop.models.messages.rest.commissioning.CommissioningResponse;
-import org.onap.policy.clamp.controlloop.runtime.instantiation.InstantiationUtils;
-import org.onap.policy.clamp.controlloop.runtime.util.rest.CommonRestController;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.web.server.LocalServerPort;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-@ExtendWith(SpringExtension.class)
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
-@TestPropertySource(locations = {"classpath:application_test.properties"})
-@Execution(ExecutionMode.SAME_THREAD)
-class CommissioningControllerTest extends CommonRestController {
-
- private static final String TOSCA_SERVICE_TEMPLATE_YAML =
- "src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml";
- private static final String COMMON_TOSCA_SERVICE_TEMPLATE_YAML =
- "src/test/resources/rest/servicetemplates/full-tosca-with-common-properties.yaml";
-
- private static final String COMMISSIONING_ENDPOINT = "commission";
- private static ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate();
- private static ToscaServiceTemplate commonPropertiesServiceTemplate = new ToscaServiceTemplate();
-
- @Autowired
- private ServiceTemplateProvider serviceTemplateProvider;
-
- @LocalServerPort
- private int randomServerPort;
-
- /**
- * starts Main and inserts a commissioning template.
- *
- * @throws Exception if an error occurs
- */
- @BeforeAll
- public static void setUpBeforeClass() throws Exception {
-
- serviceTemplate = InstantiationUtils.getToscaServiceTemplate(TOSCA_SERVICE_TEMPLATE_YAML);
- commonPropertiesServiceTemplate =
- InstantiationUtils.getToscaServiceTemplate(COMMON_TOSCA_SERVICE_TEMPLATE_YAML);
- }
-
- @BeforeEach
- public void setUpPort() {
- super.setHttpPrefix(randomServerPort);
- }
-
- @AfterEach
- public void cleanDatabase() throws Exception {
- deleteEntryInDB();
- }
-
- @Test
- void testSwagger() throws Exception {
- super.testSwagger(COMMISSIONING_ENDPOINT);
- }
-
- @Test
- void testUnauthorizedCreate() throws Exception {
- assertUnauthorizedPost(COMMISSIONING_ENDPOINT, Entity.json(serviceTemplate));
- }
-
- @Test
- void testUnauthorizedQuery() throws Exception {
- assertUnauthorizedGet(COMMISSIONING_ENDPOINT);
- }
-
- @Test
- void testUnauthorizedQueryElements() throws Exception {
- assertUnauthorizedGet(COMMISSIONING_ENDPOINT + "/elements");
- }
-
- @Test
- void testUnauthorizedDelete() throws Exception {
- assertUnauthorizedDelete(COMMISSIONING_ENDPOINT);
- }
-
- @Test
- void testUnauthorizedQueryToscaServiceTemplate() throws Exception {
- assertUnauthorizedGet(COMMISSIONING_ENDPOINT + "/toscaservicetemplate");
- }
-
- @Test
- void testUnauthorizedQueryToscaServiceTemplateSchema() throws Exception {
- assertUnauthorizedGet(COMMISSIONING_ENDPOINT + "/toscaServiceTemplateSchema");
- }
-
- @Test
- void testUnauthorizedQueryToscaServiceCommonOrInstanceProperties() throws Exception {
- assertUnauthorizedGet(COMMISSIONING_ENDPOINT + "/getCommonOrInstanceProperties");
- }
-
- @Test
- void testQueryToscaServiceTemplate() throws Exception {
- createFullEntryInDbWithCommonProps();
-
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + "/toscaservicetemplate");
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- ToscaServiceTemplate template = rawresp.readEntity(ToscaServiceTemplate.class);
- assertNotNull(template);
- assertThat(template.getNodeTypes()).hasSize(8);
-
- }
-
- @Test
- void testQueryToscaServiceTemplateSchema() throws Exception {
- createFullEntryInDbWithCommonProps();
-
- Invocation.Builder invocationBuilder =
- super.sendRequest(COMMISSIONING_ENDPOINT + "/toscaServiceTemplateSchema");
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- String schema = rawresp.readEntity(String.class);
- assertNotNull(schema);
-
- }
-
- @Test
- void testQueryCommonOrInstanceProperties() throws Exception {
- createFullEntryInDbWithCommonProps();
-
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT
- + "/getCommonOrInstanceProperties" + "?common=true&name=ToscaServiceTemplateSimple&version=1.0.0");
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
-
- @SuppressWarnings("unchecked")
- Map<String, ToscaNodeTemplate> commonProperties = rawresp.readEntity(Map.class);
-
- assertNotNull(commonProperties);
- assertThat(commonProperties).hasSize(6);
-
- }
-
- @Test
- void testCreateBadRequest() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT);
- Response resp = invocationBuilder.post(Entity.json("NotToscaServiceTempalte"));
-
- assertThat(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).isEqualTo(resp.getStatus());
- CommissioningResponse commissioningResponse = resp.readEntity(CommissioningResponse.class);
- assertThat(commissioningResponse.getErrorDetails()).isNotNull();
- assertThat(commissioningResponse.getAffectedControlLoopDefinitions()).isNull();
- }
-
- @Test
- void testCreate() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT);
- Response resp = invocationBuilder.post(Entity.json(serviceTemplate));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- CommissioningResponse commissioningResponse = resp.readEntity(CommissioningResponse.class);
-
- assertNotNull(commissioningResponse);
- assertNull(commissioningResponse.getErrorDetails());
- // Response should return the number of node templates present in the service template
- assertThat(commissioningResponse.getAffectedControlLoopDefinitions()).hasSize(13);
- for (String nodeTemplateName : serviceTemplate.getToscaTopologyTemplate().getNodeTemplates().keySet()) {
- assertTrue(commissioningResponse.getAffectedControlLoopDefinitions().stream()
- .anyMatch(ac -> ac.getName().equals(nodeTemplateName)));
- }
-
- }
-
- @Test
- void testQuery_NoResultWithThisName() throws Exception {
- createEntryInDB();
-
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + "?name=noResultWithThisName");
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- List<?> entityList = rawresp.readEntity(List.class);
- assertThat(entityList).isEmpty();
-
- }
-
- @Test
- void testQuery() throws Exception {
- createEntryInDB();
-
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT);
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- List<?> entityList = rawresp.readEntity(List.class);
- assertNotNull(entityList);
- assertThat(entityList).hasSize(2);
-
- }
-
- @Test
- void testQueryElementsBadRequest() throws Exception {
- createEntryInDB();
-
- // Call get elements with no info
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + "/elements");
- Response resp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.NOT_ACCEPTABLE.getStatusCode(), resp.getStatus());
-
- }
-
- @Test
- void testQueryElements() throws Exception {
- createEntryInDB();
-
- Invocation.Builder invocationBuilder = super.sendRequest(
- COMMISSIONING_ENDPOINT + "/elements" + "?name=org.onap.domain.pmsh.PMSHControlLoopDefinition");
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- List<?> entityList = rawresp.readEntity(List.class);
- assertNotNull(entityList);
- assertThat(entityList).hasSize(4);
-
- }
-
- @Test
- void testDeleteBadRequest() throws Exception {
- createEntryInDB();
-
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT);
- // Call delete with no info
- Response resp = invocationBuilder.delete();
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resp.getStatus());
-
- }
-
- @Test
- void testDelete() throws Exception {
- var serviceTemplateCreated = createEntryInDB();
-
- Invocation.Builder invocationBuilder = super.sendRequest(COMMISSIONING_ENDPOINT + "?name="
- + serviceTemplateCreated.getName() + "&version=" + serviceTemplateCreated.getVersion());
- // Call delete with no info
- Response resp = invocationBuilder.delete();
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
-
- List<ToscaServiceTemplate> templatesInDB = serviceTemplateProvider.getAllServiceTemplates();
- assertThat(templatesInDB).isEmpty();
- }
-
- private synchronized ToscaServiceTemplate createEntryInDB() throws Exception {
- deleteEntryInDB();
- return serviceTemplateProvider.createServiceTemplate(serviceTemplate);
- }
-
- // Delete entries from the DB after relevant tests
- private synchronized void deleteEntryInDB() throws Exception {
- var list = serviceTemplateProvider.getAllServiceTemplates();
- if (!list.isEmpty()) {
- serviceTemplateProvider.deleteServiceTemplate(list.get(0).getName(), list.get(0).getVersion());
- }
- }
-
- private synchronized void createFullEntryInDbWithCommonProps() throws Exception {
- deleteEntryInDB();
- serviceTemplateProvider.createServiceTemplate(commonPropertiesServiceTemplate);
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/config/messaging/MessageDispatcherActivatorTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/config/messaging/MessageDispatcherActivatorTest.java
deleted file mode 100644
index 8dbc710dd..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/config/messaging/MessageDispatcherActivatorTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.config.messaging;
-
-import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyList;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.util.List;
-import org.junit.jupiter.api.Test;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantStatus;
-import org.onap.policy.clamp.controlloop.runtime.main.parameters.ClRuntimeParameterGroup;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantStatusListener;
-import org.onap.policy.clamp.controlloop.runtime.util.CommonTestData;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.common.utils.coder.StandardCoderObject;
-
-/**
- * Class to perform unit test of {@link MessageDispatcherActivator}}.
- *
- */
-class MessageDispatcherActivatorTest {
-
- private static final Coder CODER = new StandardCoder();
-
- private static final String TOPIC_FIRST = "TOPIC1";
- private static final String TOPIC_SECOND = "TOPIC2";
-
- @Test
- void testStartAndStop() throws Exception {
- ClRuntimeParameterGroup parameterGroup = CommonTestData.geParameterGroup("dbtest");
-
- var publisherFirst = spy(mock(Publisher.class));
- var publisherSecond = spy(mock(Publisher.class));
- var publishers = List.of(publisherFirst, publisherSecond);
-
- var listenerFirst = spy(mock(ParticipantStatusListener.class));
- when(listenerFirst.getType()).thenReturn(TOPIC_FIRST);
- when(listenerFirst.getScoListener()).thenReturn(listenerFirst);
-
- var listenerSecond = spy(mock(ParticipantStatusListener.class));
- when(listenerSecond.getType()).thenReturn(TOPIC_SECOND);
- when(listenerSecond.getScoListener()).thenReturn(listenerSecond);
-
- List<Listener<ParticipantStatus>> listeners = List.of(listenerFirst, listenerSecond);
-
- try (var activator = new MessageDispatcherActivator(parameterGroup, publishers, listeners)) {
-
- assertFalse(activator.isAlive());
- activator.start();
- assertTrue(activator.isAlive());
-
- // repeat start - should throw an exception
- assertThatIllegalStateException().isThrownBy(() -> activator.start());
- assertTrue(activator.isAlive());
- verify(publisherFirst, times(1)).active(anyList());
- verify(publisherSecond, times(1)).active(anyList());
-
- StandardCoderObject sco = CODER.decode("{messageType:" + TOPIC_FIRST + "}", StandardCoderObject.class);
- activator.getMsgDispatcher().onTopicEvent(null, "msg", sco);
- verify(listenerFirst, times(1)).onTopicEvent(any(), any(), any());
-
- sco = CODER.decode("{messageType:" + TOPIC_SECOND + "}", StandardCoderObject.class);
- activator.getMsgDispatcher().onTopicEvent(null, "msg", sco);
- verify(listenerSecond, times(1)).onTopicEvent(any(), any(), any());
-
- activator.stop();
- assertFalse(activator.isAlive());
-
- // repeat stop - should throw an exception
- assertThatIllegalStateException().isThrownBy(() -> activator.stop());
- assertFalse(activator.isAlive());
- }
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java
deleted file mode 100644
index ba1cc0813..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/ControlLoopInstantiationProviderTest.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.instantiation;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Optional;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopRuntimeException;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopOrderedState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoops;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstantiationCommand;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstantiationResponse;
-import org.onap.policy.clamp.controlloop.runtime.commissioning.CommissioningProvider;
-import org.onap.policy.clamp.controlloop.runtime.supervision.SupervisionHandler;
-import org.onap.policy.clamp.controlloop.runtime.util.CommonTestData;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-
-/**
- * Class to perform unit test of {@link ControlLoopInstantiationProvider}}.
- *
- */
-class ControlLoopInstantiationProviderTest {
- private static final String ID_NAME = "PMSH_Instance1";
- private static final String ID_VERSION = "1.2.3";
- private static final String CL_INSTANTIATION_CREATE_JSON = "src/test/resources/rest/controlloops/ControlLoops.json";
- private static final String CL_INSTANTIATION_UPDATE_JSON =
- "src/test/resources/rest/controlloops/ControlLoopsUpdate.json";
- private static final String CL_INSTANTIATION_CHANGE_STATE_JSON =
- "src/test/resources/rest/controlloops/PassiveCommand.json";
- private static final String CL_INSTANTIATION_DEFINITION_NAME_NOT_FOUND_JSON =
- "src/test/resources/rest/controlloops/ControlLoopElementsNotFound.json";
- private static final String CL_INSTANTIATION_CONTROLLOOP_DEFINITION_NOT_FOUND_JSON =
- "src/test/resources/rest/controlloops/ControlLoopsNotFound.json";
- private static final String TOSCA_TEMPLATE_YAML =
- "src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml";
- private static final String CONTROL_LOOP_NOT_FOUND = "Control Loop not found";
- private static final String DELETE_BAD_REQUEST = "Control Loop State is still %s";
- private static final String ORDERED_STATE_INVALID = "ordered state invalid or not specified on command";
- private static final String CONTROLLOOP_ELEMENT_NAME_NOT_FOUND =
- "\"ControlLoops\" INVALID, item has status INVALID\n"
- + " \"entry org.onap.domain.pmsh.PMSHControlLoopDefinition\" INVALID, item has status INVALID\n"
- + " \"entry org.onap.domain.pmsh.DCAEMicroservice\" INVALID, Not FOUND\n"
- + " \"entry org.onap.domain.pmsh.PMSHControlLoopDefinition\" INVALID, item has status INVALID\n"
- + " \"entry org.onap.domain.pmsh.DCAEMicroservice\" INVALID, Not FOUND\n";
-
- private static final String CONTROLLOOP_DEFINITION_NOT_FOUND = "\"ControlLoops\" INVALID, item has status INVALID\n"
- + " \"entry org.onap.domain.PMSHControlLoopDefinition\" INVALID, item has status INVALID\n"
- + " item \"ControlLoop\" value \"org.onap.domain.PMSHControlLoopDefinition\" INVALID,"
- + " Commissioned control loop definition not FOUND\n"
- + " \"entry org.onap.domain.PMSHControlLoopDefinition\" INVALID, item has status INVALID\n"
- + " item \"ControlLoop\" value \"org.onap.domain.PMSHControlLoopDefinition\" INVALID,"
- + " Commissioned control loop definition not FOUND\n";
-
- private static ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate();
-
- @BeforeAll
- public static void setUpBeforeClass() throws Exception {
- serviceTemplate = InstantiationUtils.getToscaServiceTemplate(TOSCA_TEMPLATE_YAML);
- }
-
- @Test
- void testIntanceResponses() throws Exception {
- var participantProvider = Mockito.mock(ParticipantProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var supervisionHandler = mock(SupervisionHandler.class);
- var commissioningProvider = mock(CommissioningProvider.class);
-
- when(commissioningProvider.getAllToscaServiceTemplate()).thenReturn(List.of(serviceTemplate));
- when(commissioningProvider.getToscaServiceTemplate(ID_NAME, ID_VERSION)).thenReturn(serviceTemplate);
-
- var instantiationProvider = new ControlLoopInstantiationProvider(clProvider, commissioningProvider,
- supervisionHandler, participantProvider);
- var instancePropertyList = instantiationProvider.createInstanceProperties(serviceTemplate);
- assertNull(instancePropertyList.getErrorDetails());
- var id = new ToscaConceptIdentifier(ID_NAME, ID_VERSION);
- assertEquals(id, instancePropertyList.getAffectedInstanceProperties().get(0));
-
- ControlLoops controlLoops =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Crud");
- var controlLoop = controlLoops.getControlLoopList().get(0);
- controlLoop.setName(ID_NAME);
- controlLoop.setVersion(ID_VERSION);
- when(clProvider.getControlLoops(ID_NAME, ID_VERSION)).thenReturn(List.of(controlLoop));
-
- var instanceOrderState = instantiationProvider.getInstantiationOrderState(ID_NAME, ID_VERSION);
- assertEquals(ControlLoopOrderedState.UNINITIALISED, instanceOrderState.getOrderedState());
- assertEquals(ID_NAME, instanceOrderState.getControlLoopIdentifierList().get(0).getName());
-
- when(clProvider.findControlLoop(ID_NAME, ID_VERSION)).thenReturn(Optional.of(controlLoop));
- when(clProvider.deleteControlLoop(ID_NAME, ID_VERSION)).thenReturn(controlLoop);
-
- var instanceResponse = instantiationProvider.deleteInstanceProperties(ID_NAME, ID_VERSION);
- assertEquals(ID_NAME, instanceResponse.getAffectedControlLoops().get(0).getName());
-
- }
-
- @Test
- void testInstantiationCrud() throws Exception {
- var participantProvider = Mockito.mock(ParticipantProvider.class);
- var participants = CommonTestData.createParticipants();
- when(participantProvider.getParticipants()).thenReturn(participants);
-
- var commissioningProvider = mock(CommissioningProvider.class);
- var toscaNodeTemplate1 = new ToscaNodeTemplate();
- toscaNodeTemplate1.setName("org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement");
- toscaNodeTemplate1.setVersion("1.2.3");
- when(commissioningProvider.getControlLoopDefinitions(anyString(), anyString()))
- .thenReturn(List.of(toscaNodeTemplate1));
-
- var toscaNodeTemplate2 = new ToscaNodeTemplate();
- toscaNodeTemplate2.setName("org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement");
- toscaNodeTemplate2.setVersion("1.2.3");
- var toscaNodeTemplate3 = new ToscaNodeTemplate();
- toscaNodeTemplate3.setName("org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement");
- toscaNodeTemplate3.setVersion("1.2.3");
- var toscaNodeTemplate4 = new ToscaNodeTemplate();
- toscaNodeTemplate4.setName("org.onap.domain.pmsh.PMSH_DCAEMicroservice");
- toscaNodeTemplate4.setVersion("1.2.3");
-
- when(commissioningProvider.getControlLoopElementDefinitions(toscaNodeTemplate1))
- .thenReturn(List.of(toscaNodeTemplate1, toscaNodeTemplate2, toscaNodeTemplate3, toscaNodeTemplate4));
-
- var supervisionHandler = mock(SupervisionHandler.class);
- var clProvider = mock(ControlLoopProvider.class);
- var instantiationProvider = new ControlLoopInstantiationProvider(clProvider, commissioningProvider,
- supervisionHandler, participantProvider);
- ControlLoops controlLoopsCreate =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Crud");
- InstantiationResponse instantiationResponse = instantiationProvider.createControlLoops(controlLoopsCreate);
- InstantiationUtils.assertInstantiationResponse(instantiationResponse, controlLoopsCreate);
-
- verify(clProvider).saveControlLoops(controlLoopsCreate.getControlLoopList());
-
- for (var controlLoop : controlLoopsCreate.getControlLoopList()) {
- when(clProvider.getControlLoops(controlLoop.getName(), controlLoop.getVersion()))
- .thenReturn(List.of(controlLoop));
-
- ControlLoops controlLoopsGet =
- instantiationProvider.getControlLoops(controlLoop.getName(), controlLoop.getVersion());
- assertThat(controlLoopsGet.getControlLoopList()).hasSize(1);
- assertThat(controlLoop).isEqualTo(controlLoopsGet.getControlLoopList().get(0));
- }
-
- ControlLoops controlLoopsUpdate =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_UPDATE_JSON, "Crud");
-
- instantiationResponse = instantiationProvider.updateControlLoops(controlLoopsUpdate);
- InstantiationUtils.assertInstantiationResponse(instantiationResponse, controlLoopsUpdate);
-
- verify(clProvider).saveControlLoops(controlLoopsUpdate.getControlLoopList());
-
- for (var controlLoop : controlLoopsUpdate.getControlLoopList()) {
- when(clProvider.findControlLoop(controlLoop.getKey().asIdentifier())).thenReturn(Optional.of(controlLoop));
- when(clProvider.findControlLoop(controlLoop.getName(), controlLoop.getVersion()))
- .thenReturn(Optional.of(controlLoop));
- when(clProvider.deleteControlLoop(controlLoop.getName(), controlLoop.getVersion())).thenReturn(controlLoop);
- }
-
- InstantiationCommand instantiationCommand =
- InstantiationUtils.getInstantiationCommandFromResource(CL_INSTANTIATION_CHANGE_STATE_JSON, "Crud");
- instantiationResponse = instantiationProvider.issueControlLoopCommand(instantiationCommand);
- InstantiationUtils.assertInstantiationResponse(instantiationResponse, instantiationCommand);
-
- verify(supervisionHandler).triggerControlLoopSupervision(instantiationCommand.getControlLoopIdentifierList());
-
- // in order to delete a controlLoop the state must be UNINITIALISED
- controlLoopsCreate.getControlLoopList().forEach(cl -> cl.setState(ControlLoopState.UNINITIALISED));
- instantiationProvider.updateControlLoops(controlLoopsCreate);
-
- for (ControlLoop controlLoop : controlLoopsCreate.getControlLoopList()) {
- instantiationProvider.deleteControlLoop(controlLoop.getName(), controlLoop.getVersion());
-
- verify(clProvider).deleteControlLoop(controlLoop.getName(), controlLoop.getVersion());
- }
- }
-
- @Test
- void testInstantiationDelete() throws Exception {
-
- ControlLoops controlLoops =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Delete");
-
- ControlLoop controlLoop0 = controlLoops.getControlLoopList().get(0);
- var participantProvider = Mockito.mock(ParticipantProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var supervisionHandler = mock(SupervisionHandler.class);
- var commissioningProvider = mock(CommissioningProvider.class);
-
- var instantiationProvider = new ControlLoopInstantiationProvider(clProvider, commissioningProvider,
- supervisionHandler, participantProvider);
-
- assertThatThrownBy(
- () -> instantiationProvider.deleteControlLoop(controlLoop0.getName(), controlLoop0.getVersion()))
- .hasMessageMatching(CONTROL_LOOP_NOT_FOUND);
-
- for (ControlLoopState state : ControlLoopState.values()) {
- if (!ControlLoopState.UNINITIALISED.equals(state)) {
- assertThatDeleteThrownBy(controlLoops, state);
- }
- }
- controlLoop0.setState(ControlLoopState.UNINITIALISED);
-
- for (ControlLoop controlLoop : controlLoops.getControlLoopList()) {
- when(clProvider.findControlLoop(controlLoop.getName(), controlLoop.getVersion()))
- .thenReturn(Optional.of(controlLoop));
- when(clProvider.deleteControlLoop(controlLoop.getName(), controlLoop.getVersion())).thenReturn(controlLoop);
-
- instantiationProvider.deleteControlLoop(controlLoop.getName(), controlLoop.getVersion());
- }
- }
-
- private void assertThatDeleteThrownBy(ControlLoops controlLoops, ControlLoopState state) throws Exception {
- ControlLoop controlLoop = controlLoops.getControlLoopList().get(0);
- controlLoop.setState(state);
- var participantProvider = Mockito.mock(ParticipantProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var supervisionHandler = mock(SupervisionHandler.class);
- var commissioningProvider = mock(CommissioningProvider.class);
-
- var instantiationProvider = new ControlLoopInstantiationProvider(clProvider, commissioningProvider,
- supervisionHandler, participantProvider);
-
- when(clProvider.findControlLoop(controlLoop.getName(), controlLoop.getVersion()))
- .thenReturn(Optional.of(controlLoop));
-
- assertThatThrownBy(
- () -> instantiationProvider.deleteControlLoop(controlLoop.getName(), controlLoop.getVersion()))
- .hasMessageMatching(String.format(DELETE_BAD_REQUEST, state));
- }
-
- @Test
- void testCreateControlLoops_NoDuplicates() throws Exception {
- var commissioningProvider = mock(CommissioningProvider.class);
-
- var toscaNodeTemplate1 = new ToscaNodeTemplate();
- toscaNodeTemplate1.setName("org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement");
- toscaNodeTemplate1.setVersion("1.2.3");
- when(commissioningProvider.getControlLoopDefinitions(anyString(), anyString()))
- .thenReturn(List.of(toscaNodeTemplate1));
-
- var toscaNodeTemplate2 = new ToscaNodeTemplate();
- toscaNodeTemplate2.setName("org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement");
- toscaNodeTemplate2.setVersion("1.2.3");
- var toscaNodeTemplate3 = new ToscaNodeTemplate();
- toscaNodeTemplate3.setName("org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement");
- toscaNodeTemplate3.setVersion("1.2.3");
- var toscaNodeTemplate4 = new ToscaNodeTemplate();
- toscaNodeTemplate4.setName("org.onap.domain.pmsh.PMSH_DCAEMicroservice");
- toscaNodeTemplate4.setVersion("1.2.3");
-
- when(commissioningProvider.getControlLoopElementDefinitions(toscaNodeTemplate1))
- .thenReturn(List.of(toscaNodeTemplate1, toscaNodeTemplate2, toscaNodeTemplate3, toscaNodeTemplate4));
-
- ControlLoops controlLoopsCreate =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "NoDuplicates");
-
- var clProvider = mock(ControlLoopProvider.class);
- var participantProvider = Mockito.mock(ParticipantProvider.class);
- var supervisionHandler = mock(SupervisionHandler.class);
-
- var instantiationProvider = new ControlLoopInstantiationProvider(clProvider, commissioningProvider,
- supervisionHandler, participantProvider);
-
- InstantiationResponse instantiationResponse = instantiationProvider.createControlLoops(controlLoopsCreate);
- InstantiationUtils.assertInstantiationResponse(instantiationResponse, controlLoopsCreate);
-
- when(clProvider.findControlLoop(controlLoopsCreate.getControlLoopList().get(0).getKey().asIdentifier()))
- .thenReturn(Optional.of(controlLoopsCreate.getControlLoopList().get(0)));
-
- assertThatThrownBy(() -> instantiationProvider.createControlLoops(controlLoopsCreate)).hasMessageMatching(
- controlLoopsCreate.getControlLoopList().get(0).getKey().asIdentifier() + " already defined");
- }
-
- @Test
- void testCreateControlLoops_CommissionedClElementNotFound() throws Exception {
- var toscaNodeTemplate1 = new ToscaNodeTemplate();
- toscaNodeTemplate1.setName("org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement");
- toscaNodeTemplate1.setVersion("1.2.3");
-
- var toscaNodeTemplate2 = new ToscaNodeTemplate();
- toscaNodeTemplate2.setName("org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement");
- toscaNodeTemplate2.setVersion("1.2.3");
- var toscaNodeTemplate3 = new ToscaNodeTemplate();
- toscaNodeTemplate3.setName("org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement");
- toscaNodeTemplate3.setVersion("1.2.3");
- var commissioningProvider = mock(CommissioningProvider.class);
- ControlLoops controlLoops = InstantiationUtils
- .getControlLoopsFromResource(CL_INSTANTIATION_DEFINITION_NAME_NOT_FOUND_JSON, "ClElementNotFound");
-
- when(commissioningProvider.getControlLoopDefinitions(
- controlLoops.getControlLoopList().get(0).getDefinition().getName(),
- controlLoops.getControlLoopList().get(0).getDefinition().getVersion()))
- .thenReturn(List.of(toscaNodeTemplate1));
-
- when(commissioningProvider.getControlLoopElementDefinitions(toscaNodeTemplate1))
- .thenReturn(List.of(toscaNodeTemplate1, toscaNodeTemplate2, toscaNodeTemplate3));
-
- var clProvider = mock(ControlLoopProvider.class);
- var participantProvider = mock(ParticipantProvider.class);
- var supervisionHandler = mock(SupervisionHandler.class);
- var provider = new ControlLoopInstantiationProvider(clProvider, commissioningProvider, supervisionHandler,
- participantProvider);
-
- assertThatThrownBy(() -> provider.createControlLoops(controlLoops))
- .hasMessageMatching(CONTROLLOOP_ELEMENT_NAME_NOT_FOUND);
-
- assertThatThrownBy(() -> provider.updateControlLoops(controlLoops))
- .hasMessageMatching(CONTROLLOOP_ELEMENT_NAME_NOT_FOUND);
- }
-
- @Test
- void testCreateControlLoops_CommissionedClNotFound() throws Exception {
- ControlLoops controlLoops = InstantiationUtils
- .getControlLoopsFromResource(CL_INSTANTIATION_CONTROLLOOP_DEFINITION_NOT_FOUND_JSON, "ClNotFound");
-
- var participantProvider = Mockito.mock(ParticipantProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var supervisionHandler = mock(SupervisionHandler.class);
- var commissioningProvider = mock(CommissioningProvider.class);
- var provider = new ControlLoopInstantiationProvider(clProvider, commissioningProvider, supervisionHandler,
- participantProvider);
-
- assertThatThrownBy(() -> provider.createControlLoops(controlLoops))
- .hasMessageMatching(CONTROLLOOP_DEFINITION_NOT_FOUND);
-
- assertThatThrownBy(() -> provider.updateControlLoops(controlLoops))
- .hasMessageMatching(CONTROLLOOP_DEFINITION_NOT_FOUND);
- }
-
- @Test
- void testIssueControlLoopCommand_OrderedStateInvalid() throws ControlLoopRuntimeException, IOException {
- var participantProvider = Mockito.mock(ParticipantProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- var supervisionHandler = mock(SupervisionHandler.class);
- var commissioningProvider = mock(CommissioningProvider.class);
- var instantiationProvider = new ControlLoopInstantiationProvider(clProvider, commissioningProvider,
- supervisionHandler, participantProvider);
- assertThatThrownBy(() -> instantiationProvider.issueControlLoopCommand(new InstantiationCommand()))
- .hasMessageMatching(ORDERED_STATE_INVALID);
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/InstantiationUtils.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/InstantiationUtils.java
deleted file mode 100644
index 5aa68657c..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/InstantiationUtils.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.instantiation;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
-
-import java.io.File;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoops;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstantiationCommand;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstantiationResponse;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.common.utils.coder.StandardYamlCoder;
-import org.onap.policy.common.utils.resources.ResourceUtils;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-
-/**
- * Utility methods supporting tests for Instantiation.
- */
-public class InstantiationUtils {
-
- private static final Coder CODER = new StandardCoder();
- private static final StandardYamlCoder YAML_TRANSLATOR = new StandardYamlCoder();
-
- /**
- * Gets the ControlLoops from Resource.
- *
- * @param path path of the resource
- * @param suffix suffix to add to all names in ControlLoops
- * @return the ControlLoops from Resource
- * @throws CoderException if an error occurs
- */
- public static ControlLoops getControlLoopsFromResource(final String path, final String suffix)
- throws CoderException {
- ControlLoops controlLoops = CODER.decode(new File(path), ControlLoops.class);
-
- // add suffix to all names
- controlLoops.getControlLoopList().forEach(controlLoop -> controlLoop.setName(controlLoop.getName() + suffix));
- return controlLoops;
- }
-
- /**
- * Gets InstantiationCommand from Resource.
- *
- * @param path path of the resource
- * @param suffix suffix to add to all names in ControlLoops
- * @return the InstantiationCommand
- * @throws CoderException if an error occurs
- */
- public static InstantiationCommand getInstantiationCommandFromResource(final String path, final String suffix)
- throws CoderException {
- InstantiationCommand instantiationCommand = CODER.decode(new File(path), InstantiationCommand.class);
-
- // add suffix to all names
- instantiationCommand.getControlLoopIdentifierList().forEach(cl -> cl.setName(cl.getName() + suffix));
- return instantiationCommand;
- }
-
- /**
- * Assert that Instantiation Response contains proper ControlLoops.
- *
- * @param response InstantiationResponse
- * @param controlLoops ControlLoops
- */
- public static void assertInstantiationResponse(InstantiationResponse response, ControlLoops controlLoops) {
- assertThat(response).isNotNull();
- assertThat(response.getErrorDetails()).isNull();
- assertThat(response.getAffectedControlLoops().size()).isEqualTo(controlLoops.getControlLoopList().size());
- for (ControlLoop controlLoop : controlLoops.getControlLoopList()) {
- assertTrue(response.getAffectedControlLoops().stream()
- .filter(ac -> ac.equals(controlLoop.getKey().asIdentifier())).findAny().isPresent());
- }
- }
-
- /**
- * Assert that Instantiation Response contains proper ControlLoops.
- *
- * @param response InstantiationResponse
- * @param command InstantiationCommand
- */
- public static void assertInstantiationResponse(InstantiationResponse response, InstantiationCommand command) {
- assertThat(response).isNotNull();
- assertEquals(response.getAffectedControlLoops().size(), command.getControlLoopIdentifierList().size());
- for (ToscaConceptIdentifier toscaConceptIdentifier : command.getControlLoopIdentifierList()) {
- assertTrue(response.getAffectedControlLoops().stream()
- .filter(ac -> ac.compareTo(toscaConceptIdentifier) == 0).findAny().isPresent());
- }
- }
-
- /**
- * Assert that Instantiation Response contains ControlLoop equals to controlLoop.
- *
- * @param response InstantiationResponse
- * @param controlLoop ControlLoop
- */
- public static void assertInstantiationResponse(InstantiationResponse response, ControlLoop controlLoop) {
- assertThat(response).isNotNull();
- assertThat(response.getErrorDetails()).isNull();
- assertEquals(1, response.getAffectedControlLoops().size());
- assertEquals(0, response.getAffectedControlLoops().get(0).compareTo(controlLoop.getKey().asIdentifier()));
- }
-
- /**
- * Get ToscaServiceTemplate from resource.
- *
- * @param path path of the resource
- */
- public static ToscaServiceTemplate getToscaServiceTemplate(String path) {
-
- try {
- return YAML_TRANSLATOR.decode(ResourceUtils.getResourceAsStream(path), ToscaServiceTemplate.class);
- } catch (CoderException e) {
- fail("Cannot read or decode " + path);
- return null;
- }
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java
deleted file mode 100644
index 9cc0195d9..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/instantiation/rest/InstantiationControllerTest.java
+++ /dev/null
@@ -1,527 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.instantiation.rest;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Response;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopOrderedState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoops;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.repository.ControlLoopRepository;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.ControlLoopOrderStateResponse;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.ControlLoopPrimedResponse;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstancePropertiesResponse;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstantiationCommand;
-import org.onap.policy.clamp.controlloop.models.messages.rest.instantiation.InstantiationResponse;
-import org.onap.policy.clamp.controlloop.runtime.instantiation.ControlLoopInstantiationProvider;
-import org.onap.policy.clamp.controlloop.runtime.instantiation.InstantiationUtils;
-import org.onap.policy.clamp.controlloop.runtime.main.rest.InstantiationController;
-import org.onap.policy.clamp.controlloop.runtime.util.CommonTestData;
-import org.onap.policy.clamp.controlloop.runtime.util.rest.CommonRestController;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.web.server.LocalServerPort;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-/**
- * Class to perform unit test of {@link InstantiationController}}.
- *
- */
-@ExtendWith(SpringExtension.class)
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
-@TestPropertySource(locations = {"classpath:application_test.properties"})
-class InstantiationControllerTest extends CommonRestController {
-
- private static final String ID_NAME = "PMSH_Instance1";
- private static final String ID_VERSION = "1.2.3";
-
- private static final String CL_INSTANTIATION_CREATE_JSON = "src/test/resources/rest/controlloops/ControlLoops.json";
-
- private static final String CL_INSTANTIATION_UPDATE_JSON =
- "src/test/resources/rest/controlloops/ControlLoopsUpdate.json";
-
- private static final String CL_INSTANTIATION_CHANGE_STATE_JSON =
- "src/test/resources/rest/controlloops/PassiveCommand.json";
-
- private static final String TOSCA_TEMPLATE_YAML =
- "src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml";
-
- private static final String INSTANTIATION_ENDPOINT = "instantiation";
- private static final String INSTANTIATION_COMMAND_ENDPOINT = "instantiation/command";
- private static final String PRIMING_ENDPOINT = "controlLoopPriming";
- private static final String INSTANTIATION_PROPERTIES = "instanceProperties";
- private static final String INSTANTIATION_STATE = "instantiationState";
-
- private static ToscaServiceTemplate serviceTemplate = new ToscaServiceTemplate();
-
- @Autowired
- private ControlLoopRepository controlLoopRepository;
-
- @Autowired
- private ServiceTemplateProvider serviceTemplateProvider;
-
- @Autowired
- private ControlLoopInstantiationProvider instantiationProvider;
-
- @Autowired
- private ParticipantProvider participantProvider;
-
- @LocalServerPort
- private int randomServerPort;
-
- @BeforeAll
- public static void setUpBeforeClass() throws Exception {
- serviceTemplate = InstantiationUtils.getToscaServiceTemplate(TOSCA_TEMPLATE_YAML);
- }
-
- @BeforeEach
- public void populateDb() throws Exception {
- createEntryInDB();
- }
-
- @BeforeEach
- public void setUpPort() {
- super.setHttpPrefix(randomServerPort);
- }
-
- @AfterEach
- public void cleanDatabase() throws Exception {
- deleteEntryInDB();
- }
-
- @Test
- void testSwagger() throws Exception {
- super.testSwagger(INSTANTIATION_ENDPOINT);
- }
-
- @Test
- void testCreate_Unauthorized() throws Exception {
- ControlLoops controlLoops =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Unauthorized");
-
- assertUnauthorizedPost(INSTANTIATION_ENDPOINT, Entity.json(controlLoops));
- }
-
- @Test
- void testQuery_Unauthorized() throws Exception {
- assertUnauthorizedGet(INSTANTIATION_ENDPOINT);
- }
-
- @Test
- void testUpdate_Unauthorized() throws Exception {
- ControlLoops controlLoops =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_UPDATE_JSON, "Unauthorized");
-
- assertUnauthorizedPut(INSTANTIATION_ENDPOINT, Entity.json(controlLoops));
- }
-
- @Test
- void testDelete_Unauthorized() throws Exception {
- assertUnauthorizedDelete(INSTANTIATION_ENDPOINT);
- }
-
- @Test
- void testCommand_Unauthorized() throws Exception {
- InstantiationCommand instantiationCommand = InstantiationUtils
- .getInstantiationCommandFromResource(CL_INSTANTIATION_CHANGE_STATE_JSON, "Unauthorized");
-
- assertUnauthorizedPut(INSTANTIATION_COMMAND_ENDPOINT, Entity.json(instantiationCommand));
- }
-
- @Test
- void testCreate() throws Exception {
-
- ControlLoops controlLoopsFromRsc =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Create");
-
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_ENDPOINT);
- Response resp = invocationBuilder.post(Entity.json(controlLoopsFromRsc));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- InstantiationResponse instResponse = resp.readEntity(InstantiationResponse.class);
- InstantiationUtils.assertInstantiationResponse(instResponse, controlLoopsFromRsc);
-
- for (ControlLoop controlLoopFromRsc : controlLoopsFromRsc.getControlLoopList()) {
- ControlLoops controlLoopsFromDb = instantiationProvider
- .getControlLoops(controlLoopFromRsc.getKey().getName(), controlLoopFromRsc.getKey().getVersion());
-
- assertNotNull(controlLoopsFromDb);
- assertThat(controlLoopsFromDb.getControlLoopList()).hasSize(1);
- assertEquals(controlLoopFromRsc, controlLoopsFromDb.getControlLoopList().get(0));
- }
-
- invocationBuilder =
- super.sendRequest(PRIMING_ENDPOINT + "?name=" + "PMSHInstance0Create" + "&version=" + "1.0.1");
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- ControlLoopPrimedResponse primResponse = rawresp.readEntity(ControlLoopPrimedResponse.class);
- assertEquals(false, primResponse.getPrimedControlLoopsList().get(0).isPrimed());
- }
-
- @Test
- void testCreateBadRequest() throws Exception {
-
- ControlLoops controlLoopsFromRsc =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "CreateBadRequest");
-
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_ENDPOINT);
- Response resp = invocationBuilder.post(Entity.json(controlLoopsFromRsc));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
-
- // testing Bad Request: CL already defined
- resp = invocationBuilder.post(Entity.json(controlLoopsFromRsc));
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resp.getStatus());
- InstantiationResponse instResponse = resp.readEntity(InstantiationResponse.class);
- assertNotNull(instResponse.getErrorDetails());
- assertNull(instResponse.getAffectedControlLoops());
- }
-
- @Test
- void testQuery_NoResultWithThisName() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_ENDPOINT + "?name=noResultWithThisName");
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- ControlLoops resp = rawresp.readEntity(ControlLoops.class);
- assertThat(resp.getControlLoopList()).isEmpty();
- }
-
- @Test
- void testQuery() throws Exception {
-
- var controlLoops = InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Query");
- instantiationProvider.createControlLoops(controlLoops);
-
- for (ControlLoop controlLoopFromRsc : controlLoops.getControlLoopList()) {
- Invocation.Builder invocationBuilder =
- super.sendRequest(INSTANTIATION_ENDPOINT + "?name=" + controlLoopFromRsc.getKey().getName());
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- ControlLoops controlLoopsQuery = rawresp.readEntity(ControlLoops.class);
- assertNotNull(controlLoopsQuery);
- assertThat(controlLoopsQuery.getControlLoopList()).hasSize(1);
- assertEquals(controlLoopFromRsc, controlLoopsQuery.getControlLoopList().get(0));
- }
- }
-
- @Test
- void testUpdate() throws Exception {
-
- ControlLoops controlLoopsCreate =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Update");
-
- var controlLoops = InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_UPDATE_JSON, "Update");
- instantiationProvider.createControlLoops(controlLoopsCreate);
-
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_ENDPOINT);
- Response resp = invocationBuilder.put(Entity.json(controlLoops));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
-
- InstantiationResponse instResponse = resp.readEntity(InstantiationResponse.class);
- InstantiationUtils.assertInstantiationResponse(instResponse, controlLoops);
-
- for (ControlLoop controlLoopUpdate : controlLoops.getControlLoopList()) {
- ControlLoops controlLoopsFromDb = instantiationProvider
- .getControlLoops(controlLoopUpdate.getKey().getName(), controlLoopUpdate.getKey().getVersion());
-
- assertNotNull(controlLoopsFromDb);
- assertThat(controlLoopsFromDb.getControlLoopList()).hasSize(1);
- assertEquals(controlLoopUpdate, controlLoopsFromDb.getControlLoopList().get(0));
- }
- }
-
- @Test
- void testDelete_NoResultWithThisName() throws Exception {
- Invocation.Builder invocationBuilder =
- super.sendRequest(INSTANTIATION_ENDPOINT + "?name=noResultWithThisName&version=1.0.1");
- Response resp = invocationBuilder.delete();
- assertEquals(Response.Status.NOT_FOUND.getStatusCode(), resp.getStatus());
- InstantiationResponse instResponse = resp.readEntity(InstantiationResponse.class);
- assertNotNull(instResponse.getErrorDetails());
- assertNull(instResponse.getAffectedControlLoops());
- }
-
- @Test
- void testDelete() throws Exception {
-
- ControlLoops controlLoopsFromRsc =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Delete");
-
- instantiationProvider.createControlLoops(controlLoopsFromRsc);
-
- for (ControlLoop controlLoopFromRsc : controlLoopsFromRsc.getControlLoopList()) {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_ENDPOINT + "?name="
- + controlLoopFromRsc.getKey().getName() + "&version=" + controlLoopFromRsc.getKey().getVersion());
- Response resp = invocationBuilder.delete();
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- InstantiationResponse instResponse = resp.readEntity(InstantiationResponse.class);
- InstantiationUtils.assertInstantiationResponse(instResponse, controlLoopFromRsc);
-
- ControlLoops controlLoopsFromDb = instantiationProvider
- .getControlLoops(controlLoopFromRsc.getKey().getName(), controlLoopFromRsc.getKey().getVersion());
- assertThat(controlLoopsFromDb.getControlLoopList()).isEmpty();
- }
- }
-
- @Test
- void testDeleteBadRequest() throws Exception {
-
- ControlLoops controlLoopsFromRsc =
- InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "DelBadRequest");
-
- instantiationProvider.createControlLoops(controlLoopsFromRsc);
-
- for (ControlLoop controlLoopFromRsc : controlLoopsFromRsc.getControlLoopList()) {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_ENDPOINT + "?name="
- + controlLoopFromRsc.getKey().getName());
- Response resp = invocationBuilder.delete();
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resp.getStatus());
- }
- }
-
- @Test
- void testCreateInstanceProperties() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES);
- Response resp = invocationBuilder.post(Entity.json(serviceTemplate));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- var instancePropertyList = resp.readEntity(InstancePropertiesResponse.class);
- assertNull(instancePropertyList.getErrorDetails());
- var id = new ToscaConceptIdentifier(ID_NAME, ID_VERSION);
- assertEquals(id, instancePropertyList.getAffectedInstanceProperties().get(0));
-
- invocationBuilder = super.sendRequest(INSTANTIATION_ENDPOINT);
- resp = invocationBuilder.get();
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- var controlLoopsGet = resp.readEntity(ControlLoops.class);
- assertThat(controlLoopsGet.getControlLoopList()).hasSize(1);
- }
-
- @Test
- void testDeleteInstanceProperties() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES);
- Response resp = invocationBuilder.post(Entity.json(serviceTemplate));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
-
- invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES + "?name=" + ID_NAME + "&version=" + ID_VERSION);
- resp = invocationBuilder.delete();
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- var instanceResponse = resp.readEntity(InstantiationResponse.class);
- assertEquals(ID_NAME, instanceResponse.getAffectedControlLoops().get(0).getName());
- ControlLoops controlLoopsGet = instantiationProvider.getControlLoops(ID_NAME, ID_VERSION);
- assertThat(controlLoopsGet.getControlLoopList()).isEmpty();
- }
-
- @Test
- void testDeleteInstancePropertiesBadRequest() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES);
- Response resp = invocationBuilder.post(Entity.json(serviceTemplate));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
-
- invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES + "?name=" + ID_NAME);
- resp = invocationBuilder.delete();
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resp.getStatus());
- }
-
- @Test
- void testDeleteInstancePropertiesPassiveMode() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES);
- Response resp = invocationBuilder.post(Entity.json(serviceTemplate));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
-
- var controlLoops = InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Command");
- instantiationProvider.createControlLoops(controlLoops);
-
- var participants = CommonTestData.createParticipants();
- for (var participant : participants) {
- participantProvider.saveParticipant(participant);
- }
-
- InstantiationCommand command =
- InstantiationUtils.getInstantiationCommandFromResource(CL_INSTANTIATION_CHANGE_STATE_JSON, "Command");
-
- invocationBuilder = super.sendRequest(INSTANTIATION_COMMAND_ENDPOINT);
- resp = invocationBuilder.put(Entity.json(command));
- assertEquals(Response.Status.ACCEPTED.getStatusCode(), resp.getStatus());
- InstantiationResponse instResponse = resp.readEntity(InstantiationResponse.class);
- InstantiationUtils.assertInstantiationResponse(instResponse, command);
-
- // check passive state on DB and delete properties
- for (ToscaConceptIdentifier toscaConceptIdentifier : command.getControlLoopIdentifierList()) {
- ControlLoops controlLoopsGet = instantiationProvider.getControlLoops(toscaConceptIdentifier.getName(),
- toscaConceptIdentifier.getVersion());
- assertThat(controlLoopsGet.getControlLoopList()).hasSize(1);
- assertEquals(command.getOrderedState(), controlLoopsGet.getControlLoopList().get(0).getOrderedState());
-
- invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES + "?name="
- + toscaConceptIdentifier.getName() + "&version=" + toscaConceptIdentifier.getVersion());
- resp = invocationBuilder.delete();
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resp.getStatus());
- }
- }
-
- @Test
- void testCommand_NotFound1() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_COMMAND_ENDPOINT);
- Response resp = invocationBuilder.put(Entity.json(new InstantiationCommand()));
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resp.getStatus());
- }
-
- @Test
- void testCommand_NotFound2() throws Exception {
- InstantiationCommand command =
- InstantiationUtils.getInstantiationCommandFromResource(CL_INSTANTIATION_CHANGE_STATE_JSON, "Command");
- command.setOrderedState(null);
-
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_COMMAND_ENDPOINT);
- Response resp = invocationBuilder.put(Entity.json(command));
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resp.getStatus());
- }
-
- @Test
- void testCommand() throws Exception {
- var controlLoops = InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Command");
- instantiationProvider.createControlLoops(controlLoops);
-
- var participants = CommonTestData.createParticipants();
- for (var participant : participants) {
- participantProvider.saveParticipant(participant);
- }
-
- InstantiationCommand command =
- InstantiationUtils.getInstantiationCommandFromResource(CL_INSTANTIATION_CHANGE_STATE_JSON, "Command");
-
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_COMMAND_ENDPOINT);
- Response resp = invocationBuilder.put(Entity.json(command));
- assertEquals(Response.Status.ACCEPTED.getStatusCode(), resp.getStatus());
- InstantiationResponse instResponse = resp.readEntity(InstantiationResponse.class);
- InstantiationUtils.assertInstantiationResponse(instResponse, command);
-
- // check passive state on DB
- for (ToscaConceptIdentifier toscaConceptIdentifier : command.getControlLoopIdentifierList()) {
- ControlLoops controlLoopsGet = instantiationProvider.getControlLoops(toscaConceptIdentifier.getName(),
- toscaConceptIdentifier.getVersion());
- assertThat(controlLoopsGet.getControlLoopList()).hasSize(1);
- assertEquals(command.getOrderedState(), controlLoopsGet.getControlLoopList().get(0).getOrderedState());
- }
- }
-
- @Test
- void testIntanceProperties() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES);
- Response resp = invocationBuilder.post(Entity.json(serviceTemplate));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- var instancePropertyList = resp.readEntity(InstancePropertiesResponse.class);
- assertNull(instancePropertyList.getErrorDetails());
- var id = new ToscaConceptIdentifier(ID_NAME, ID_VERSION);
- assertEquals(id, instancePropertyList.getAffectedInstanceProperties().get(0));
-
- invocationBuilder = super.sendRequest(INSTANTIATION_STATE + "?name=" + ID_NAME + "&version=" + ID_VERSION);
- resp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- var instanceOrderState = resp.readEntity(ControlLoopOrderStateResponse.class);
- assertEquals(ControlLoopOrderedState.UNINITIALISED, instanceOrderState.getOrderedState());
- assertEquals(ID_NAME, instanceOrderState.getControlLoopIdentifierList().get(0).getName());
- ControlLoops controlLoopsGet = instantiationProvider.getControlLoops(ID_NAME, ID_VERSION);
- assertThat(controlLoopsGet.getControlLoopList()).hasSize(1);
-
- invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES + "?name=" + ID_NAME + "&version=" + ID_VERSION);
- resp = invocationBuilder.delete();
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
- var instanceResponse = resp.readEntity(InstantiationResponse.class);
- assertEquals(ID_NAME, instanceResponse.getAffectedControlLoops().get(0).getName());
- controlLoopsGet = instantiationProvider.getControlLoops(ID_NAME, ID_VERSION);
- assertThat(controlLoopsGet.getControlLoopList()).isEmpty();
- }
-
- @Test
- void testChangeOrderStateFromUninitializedPassiveMode() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES);
- Response resp = invocationBuilder.post(Entity.json(serviceTemplate));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
-
- var controlLoops = InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON,
- "CommandPassive");
- instantiationProvider.createControlLoops(controlLoops);
-
- var participants = CommonTestData.createParticipants();
- for (var participant : participants) {
- participantProvider.saveParticipant(participant);
- }
-
- InstantiationCommand command =
- InstantiationUtils.getInstantiationCommandFromResource(CL_INSTANTIATION_CHANGE_STATE_JSON,
- "CommandPassive");
-
- invocationBuilder = super.sendRequest(INSTANTIATION_COMMAND_ENDPOINT);
- resp = invocationBuilder.put(Entity.json(command));
- assertEquals(Response.Status.ACCEPTED.getStatusCode(), resp.getStatus());
- InstantiationResponse instResponse = resp.readEntity(InstantiationResponse.class);
- InstantiationUtils.assertInstantiationResponse(instResponse, command);
- }
-
- @Test
- void testChangeOrderStateWithoutRegisteredParticipants() throws Exception {
- Invocation.Builder invocationBuilder = super.sendRequest(INSTANTIATION_PROPERTIES);
- Response resp = invocationBuilder.post(Entity.json(serviceTemplate));
- assertEquals(Response.Status.OK.getStatusCode(), resp.getStatus());
-
- var controlLoops = InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON,
- "CommandPassive");
- instantiationProvider.createControlLoops(controlLoops);
-
- InstantiationCommand command =
- InstantiationUtils.getInstantiationCommandFromResource(CL_INSTANTIATION_CHANGE_STATE_JSON,
- "CommandPassive");
-
- invocationBuilder = super.sendRequest(INSTANTIATION_COMMAND_ENDPOINT);
- resp = invocationBuilder.put(Entity.json(command));
- assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), resp.getStatus());
- }
-
- private synchronized void deleteEntryInDB() throws Exception {
- controlLoopRepository.deleteAll();
- var list = serviceTemplateProvider.getAllServiceTemplates();
- if (!list.isEmpty()) {
- serviceTemplateProvider.deleteServiceTemplate(list.get(0).getName(), list.get(0).getVersion());
- }
- }
-
- private synchronized void createEntryInDB() throws Exception {
- deleteEntryInDB();
- serviceTemplateProvider.createServiceTemplate(serviceTemplate);
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/main/rest/ActuatorControllerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/main/rest/ActuatorControllerTest.java
deleted file mode 100644
index 433e914ae..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/main/rest/ActuatorControllerTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.main.rest;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Response;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.onap.policy.clamp.controlloop.runtime.util.rest.CommonRestController;
-import org.springframework.boot.test.autoconfigure.actuate.metrics.AutoConfigureMetrics;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.web.server.LocalServerPort;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-@AutoConfigureMetrics
-@ExtendWith(SpringExtension.class)
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
-@TestPropertySource(locations = {"classpath:application_test.properties"})
-class ActuatorControllerTest extends CommonRestController {
-
- private static final String HEALTH_ENDPOINT = "health";
- private static final String METRICS_ENDPOINT = "metrics";
- private static final String PROMETHEUS_ENDPOINT = "prometheus";
-
- @LocalServerPort
- private int randomServerPort;
-
- @BeforeEach
- public void setUpPort() {
- super.setHttpPrefix(randomServerPort);
- }
-
- @Test
- void testGetHealth_Unauthorized() throws Exception {
- assertUnauthorizedActGet(HEALTH_ENDPOINT);
- }
-
- @Test
- void testGetMetrics_Unauthorized() throws Exception {
- assertUnauthorizedActGet(METRICS_ENDPOINT);
- }
-
- @Test
- void testGetPrometheus_Unauthorized() throws Exception {
- assertUnauthorizedActGet(PROMETHEUS_ENDPOINT);
- }
-
- @Test
- void testGetHealth() throws Exception {
- Invocation.Builder invocationBuilder = super.sendActRequest(HEALTH_ENDPOINT);
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- }
-
- @Test
- void testGetMetrics() throws Exception {
- Invocation.Builder invocationBuilder = super.sendActRequest(METRICS_ENDPOINT);
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- }
-
- @Test
- void testGePrometheus() throws Exception {
- Invocation.Builder invocationBuilder = super.sendActRequest(PROMETHEUS_ENDPOINT);
- Response rawresp = invocationBuilder.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), rawresp.getStatus());
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/monitoring/TestMonitoringProvider.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/monitoring/TestMonitoringProvider.java
deleted file mode 100644
index cbc4c7104..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/monitoring/TestMonitoringProvider.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.monitoring;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyMap;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.time.Instant;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.UUID;
-import javax.ws.rs.core.Response;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ClElementStatisticsList;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopElement;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantStatisticsList;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ClElementStatisticsProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantStatisticsProvider;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.models.base.PfModelRuntimeException;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-
-class TestMonitoringProvider {
-
- private static final String CL_PARTICIPANT_STATISTICS_JSON =
- "src/test/resources/rest/monitoring/TestParticipantStatistics.json";
- private static final String INVALID_PARTICIPANT_JSON_INPUT =
- "src/test/resources/rest/monitoring/TestParticipantStatistics_Invalid.json";
- private static final String CL_ELEMENT_STATISTICS_JSON =
- "src/test/resources/rest/monitoring/TestClElementStatistics.json";
- private static final String INVALID_CL_ELEMENT_JSON_INPUT =
- "src/test/resources/rest/monitoring/TestClElementStatistics_Invalid.json";
- private static final Coder CODER = new StandardCoder();
-
- private static final String STAT_LIST_IS_NULL = ".*StatisticsList is marked .*ull but is null";
- private static final String PARTICIPANT_STAT_LIST_IS_NULL =
- "participantStatisticsList is marked .*null but is null";
- private static final String NAME_IS_NULL = "name is marked .*null but is null";
- private static final String CL_LIST_IS_NULL = "clElementStatisticsList is marked .*null but is null";
- private static final String ID_VERSION1 = "1.001";
- private static final String ID_VERSION2 = "1.002";
- private static final String ID_NAME1 = "name1";
- private static final String ID_NAME2 = "name2";
- private static final String SORT_DESC = "DESC";
- private static final String ID_NAME3 = "testCLName";
- private static final String ID_INVALID_NAME = "invalidCLName";
- private static ParticipantStatisticsList inputParticipantStatistics;
- private static ParticipantStatisticsList invalidParticipantInput;
- private static ClElementStatisticsList inputClElementStatistics;
- private static ClElementStatisticsList invalidClElementInput;
-
- @BeforeAll
- public static void beforeSetupStatistics() throws CoderException {
- // Reading input json for statistics data
- inputParticipantStatistics =
- CODER.decode(new File(CL_PARTICIPANT_STATISTICS_JSON), ParticipantStatisticsList.class);
- invalidParticipantInput =
- CODER.decode(new File(INVALID_PARTICIPANT_JSON_INPUT), ParticipantStatisticsList.class);
- inputClElementStatistics = CODER.decode(new File(CL_ELEMENT_STATISTICS_JSON), ClElementStatisticsList.class);
- invalidClElementInput = CODER.decode(new File(INVALID_CL_ELEMENT_JSON_INPUT), ClElementStatisticsList.class);
- }
-
- @Test
- void testCreateParticipantStatistics() throws Exception {
- var participantStatisticsProvider = mock(ParticipantStatisticsProvider.class);
- var clElementStatisticsProvider = mock(ClElementStatisticsProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
- MonitoringProvider provider =
- new MonitoringProvider(participantStatisticsProvider, clElementStatisticsProvider, clProvider);
-
- when(participantStatisticsProvider.createParticipantStatistics(any()))
- .thenReturn(inputParticipantStatistics.getStatisticsList());
-
- when(participantStatisticsProvider.createParticipantStatistics(eq(null)))
- .thenThrow(new PfModelRuntimeException(Response.Status.BAD_REQUEST, PARTICIPANT_STAT_LIST_IS_NULL));
-
- // Creating statistics data in db with null input
-
- assertThatThrownBy(() -> {
- provider.createParticipantStatistics(null);
- }).hasMessageMatching(STAT_LIST_IS_NULL);
-
- assertThatThrownBy(() -> {
- provider.createParticipantStatistics(invalidParticipantInput.getStatisticsList());
- }).hasMessageMatching(PARTICIPANT_STAT_LIST_IS_NULL);
-
- // Creating statistics data from input json
- ParticipantStatisticsList createResponse =
- provider.createParticipantStatistics(inputParticipantStatistics.getStatisticsList());
-
- assertThat(createResponse.getStatisticsList()).hasSize(3);
- assertEquals(createResponse.getStatisticsList().toString().replaceAll("\\s+", ""),
- inputParticipantStatistics.getStatisticsList().toString().replaceAll("\\s+", ""));
- }
-
- @Test
- void testGetParticipantStatistics() throws Exception {
- var participantStatisticsProvider = mock(ParticipantStatisticsProvider.class);
- when(participantStatisticsProvider.getFilteredParticipantStatistics(eq(ID_NAME1), any(), any(), any(), eq(null),
- eq(SORT_DESC), eq(0))).thenReturn(List.of(inputParticipantStatistics.getStatisticsList().get(0)));
-
- when(participantStatisticsProvider.getFilteredParticipantStatistics(eq(ID_NAME1), any(),
- eq(Instant.parse("2021-01-11T12:00:00.000Z")), eq(Instant.parse("2021-01-11T16:00:00.000Z")), eq(null),
- eq(SORT_DESC), eq(0))).thenReturn(List.of());
-
- when(participantStatisticsProvider.getFilteredParticipantStatistics(eq(ID_NAME2), any(), any(), any(), eq(null),
- eq(SORT_DESC), eq(1))).thenReturn(List.of(inputParticipantStatistics.getStatisticsList().get(2)));
-
- var clProvider = mock(ControlLoopProvider.class);
- var clElementStatisticsProvider = mock(ClElementStatisticsProvider.class);
- MonitoringProvider provider =
- new MonitoringProvider(participantStatisticsProvider, clElementStatisticsProvider, clProvider);
- provider.createParticipantStatistics(inputParticipantStatistics.getStatisticsList());
-
- assertThatThrownBy(() -> {
- provider.fetchFilteredParticipantStatistics(null, null, 0, null, null);
- }).hasMessageMatching(NAME_IS_NULL);
-
- // Fetch specific statistics record with name, version and record count
- ParticipantStatisticsList getResponse =
- provider.fetchFilteredParticipantStatistics(ID_NAME2, ID_VERSION1, 1, null, null);
- assertThat(getResponse.getStatisticsList()).hasSize(1);
- assertEquals(getResponse.getStatisticsList().get(0).toString().replaceAll("\\s+", ""),
- inputParticipantStatistics.getStatisticsList().get(2).toString().replaceAll("\\s+", ""));
-
- // Fetch statistics using timestamp
- getResponse = provider.fetchFilteredParticipantStatistics(ID_NAME1, ID_VERSION1, 0, null,
- Instant.parse("2021-01-10T15:00:00.000Z"));
- assertThat(getResponse.getStatisticsList()).hasSize(1);
-
- getResponse = provider.fetchFilteredParticipantStatistics(ID_NAME1, ID_VERSION1, 0,
- Instant.parse("2021-01-11T12:00:00.000Z"), Instant.parse("2021-01-11T16:00:00.000Z"));
-
- assertThat(getResponse.getStatisticsList()).isEmpty();
- }
-
- @Test
- void testCreateClElementStatistics() throws Exception {
- var clElementStatisticsProvider = mock(ClElementStatisticsProvider.class);
- when(clElementStatisticsProvider.createClElementStatistics(any()))
- .thenReturn(inputClElementStatistics.getClElementStatistics());
-
- when(clElementStatisticsProvider.createClElementStatistics(eq(null)))
- .thenThrow(new PfModelRuntimeException(Response.Status.BAD_REQUEST, CL_LIST_IS_NULL));
-
- var clProvider = mock(ControlLoopProvider.class);
-
- var participantStatisticsProvider = mock(ParticipantStatisticsProvider.class);
- MonitoringProvider provider =
- new MonitoringProvider(participantStatisticsProvider, clElementStatisticsProvider, clProvider);
- // Creating statistics data in db with null input
- assertThatThrownBy(() -> {
- provider.createClElementStatistics(null);
- }).hasMessageMatching(STAT_LIST_IS_NULL);
-
- assertThatThrownBy(() -> {
- provider.createClElementStatistics(invalidClElementInput.getClElementStatistics());
- }).hasMessageMatching(CL_LIST_IS_NULL);
-
- // Creating clElement statistics data from input json
- ClElementStatisticsList createResponse =
- provider.createClElementStatistics(inputClElementStatistics.getClElementStatistics());
-
- assertThat(createResponse.getClElementStatistics()).hasSize(4);
- assertEquals(createResponse.getClElementStatistics().toString().replaceAll("\\s+", ""),
- inputClElementStatistics.getClElementStatistics().toString().replaceAll("\\s+", ""));
- }
-
- @Test
- void testGetClElementStatistics() throws Exception {
- var participantStatisticsProvider = mock(ParticipantStatisticsProvider.class);
- var clElementStatisticsProvider = mock(ClElementStatisticsProvider.class);
- var clProvider = mock(ControlLoopProvider.class);
-
- when(clElementStatisticsProvider.getFilteredClElementStatistics(eq(ID_NAME1), any(), any(), any(), anyMap(),
- eq(SORT_DESC), eq(0)))
- .thenReturn(List.of(inputClElementStatistics.getClElementStatistics().get(0),
- inputClElementStatistics.getClElementStatistics().get(1)));
-
- when(clElementStatisticsProvider.getFilteredClElementStatistics(eq(ID_NAME1), any(), any(), any(), anyMap(),
- eq(SORT_DESC), eq(0)))
- .thenReturn(List.of(inputClElementStatistics.getClElementStatistics().get(0),
- inputClElementStatistics.getClElementStatistics().get(1)));
-
- MonitoringProvider provider =
- new MonitoringProvider(participantStatisticsProvider, clElementStatisticsProvider, clProvider);
- assertThatThrownBy(() -> {
- provider.fetchFilteredClElementStatistics(null, null, null, null, null, 0);
- }).hasMessageMatching(NAME_IS_NULL);
-
- provider.createClElementStatistics(inputClElementStatistics.getClElementStatistics());
-
- ClElementStatisticsList getResponse =
- provider.fetchFilteredClElementStatistics(ID_NAME1, null, null, null, null, 0);
-
- assertThat(getResponse.getClElementStatistics()).hasSize(2);
- assertEquals(getResponse.getClElementStatistics().get(0).toString().replaceAll("\\s+", ""),
- inputClElementStatistics.getClElementStatistics().get(0).toString().replaceAll("\\s+", ""));
-
- // Fetch specific statistics record with name, id and record count
- getResponse = provider.fetchFilteredClElementStatistics(ID_NAME1, ID_VERSION1,
- "709c62b3-8918-41b9-a747-d21eb79c6c20", null, null, 0);
- assertThat(getResponse.getClElementStatistics()).hasSize(2);
-
- // Fetch statistics using timestamp
- getResponse = provider.fetchFilteredClElementStatistics(ID_NAME1, ID_VERSION1, null,
- Instant.parse("2021-01-10T13:45:00.000Z"), null, 0);
- assertThat(getResponse.getClElementStatistics()).hasSize(2);
- }
-
- @Test
- void testGetParticipantStatsPerCL() throws Exception {
- var participantStatisticsProvider = mock(ParticipantStatisticsProvider.class);
- var clElementStatisticsProvider = mock(ClElementStatisticsProvider.class);
- var mockClProvider = Mockito.mock(ControlLoopProvider.class);
- var provider =
- new MonitoringProvider(participantStatisticsProvider, clElementStatisticsProvider, mockClProvider);
-
- provider.createParticipantStatistics(inputParticipantStatistics.getStatisticsList());
-
- var controlLoop = new ControlLoop();
- var element = new ControlLoopElement();
- element.setParticipantId(new ToscaConceptIdentifier(ID_NAME1, ID_VERSION1));
- controlLoop.setElements(Map.of(UUID.randomUUID(), element));
- when(mockClProvider.findControlLoop(new ToscaConceptIdentifier(ID_NAME2, ID_VERSION1)))
- .thenReturn(Optional.of(controlLoop));
-
- when(participantStatisticsProvider.getFilteredParticipantStatistics(eq(ID_NAME1), eq(ID_VERSION1), any(), any(),
- eq(null), eq(SORT_DESC), eq(0)))
- .thenReturn(List.of(inputParticipantStatistics.getStatisticsList().get(0),
- inputParticipantStatistics.getStatisticsList().get(1)));
-
- ParticipantStatisticsList getResponse = provider.fetchParticipantStatsPerControlLoop(ID_NAME2, ID_VERSION1);
- assertThat(getResponse.getStatisticsList()).hasSize(2);
- assertEquals(getResponse.getStatisticsList().get(0).toString().replaceAll("\\s+", ""),
- inputParticipantStatistics.getStatisticsList().get(0).toString().replaceAll("\\s+", ""));
- assertThat(provider.fetchParticipantStatsPerControlLoop(ID_INVALID_NAME, ID_VERSION2).getStatisticsList())
- .isEmpty();
- }
-
- @Test
- void testClElementStatsPerCL() throws Exception {
- // Setup a dummy Control loop data
- var mockClElement = new ControlLoopElement();
- mockClElement.setId(inputClElementStatistics.getClElementStatistics().get(0).getId());
- mockClElement.setParticipantId(new ToscaConceptIdentifier(
- inputClElementStatistics.getClElementStatistics().get(0).getParticipantId().getName(),
- inputClElementStatistics.getClElementStatistics().get(0).getParticipantId().getVersion()));
- var mockCL = new ControlLoop();
- mockCL.setElements(new LinkedHashMap<>());
- mockCL.getElements().put(mockClElement.getId(), mockClElement);
-
- var participantStatisticsProvider = mock(ParticipantStatisticsProvider.class);
- var clElementStatisticsProvider = mock(ClElementStatisticsProvider.class);
- var mockClProvider = Mockito.mock(ControlLoopProvider.class);
- var monitoringProvider =
- new MonitoringProvider(participantStatisticsProvider, clElementStatisticsProvider, mockClProvider);
-
- // Mock controlloop data to be returned for the given CL Id
- when(mockClProvider.findControlLoop(new ToscaConceptIdentifier(ID_NAME3, ID_VERSION1)))
- .thenReturn(Optional.of(mockCL));
-
- when(clElementStatisticsProvider.getFilteredClElementStatistics(eq(ID_NAME1), eq(ID_VERSION1), any(), any(),
- anyMap(), eq(SORT_DESC), eq(0)))
- .thenReturn(List.of(inputClElementStatistics.getClElementStatistics().get(0),
- inputClElementStatistics.getClElementStatistics().get(1)));
-
- monitoringProvider.createClElementStatistics(inputClElementStatistics.getClElementStatistics());
-
- ClElementStatisticsList getResponse =
- monitoringProvider.fetchClElementStatsPerControlLoop(ID_NAME3, ID_VERSION1);
-
- assertThat(getResponse.getClElementStatistics()).hasSize(2);
- assertEquals(getResponse.getClElementStatistics().get(1).toString().replaceAll("\\s+", ""),
- inputClElementStatistics.getClElementStatistics().get(1).toString().replaceAll("\\s+", ""));
-
- assertThat(monitoringProvider.fetchClElementStatsPerControlLoop(ID_INVALID_NAME, ID_VERSION2)
- .getClElementStatistics()).isEmpty();
-
- Map<String, ToscaConceptIdentifier> clElementIds =
- monitoringProvider.getAllClElementsIdPerControlLoop(ID_NAME3, ID_VERSION1);
- assertThat(clElementIds)
- .containsKey(inputClElementStatistics.getClElementStatistics().get(0).getId().toString());
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/monitoring/rest/MonitoringQueryControllerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/monitoring/rest/MonitoringQueryControllerTest.java
deleted file mode 100644
index eaf824623..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/monitoring/rest/MonitoringQueryControllerTest.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.monitoring.rest;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-import java.io.File;
-import java.time.Instant;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Response;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ClElementStatisticsList;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantStatisticsList;
-import org.onap.policy.clamp.controlloop.runtime.monitoring.MonitoringProvider;
-import org.onap.policy.clamp.controlloop.runtime.util.rest.CommonRestController;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.web.server.LocalServerPort;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-@ExtendWith(SpringExtension.class)
-@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
-@TestPropertySource(locations = {"classpath:application_test.properties"})
-class MonitoringQueryControllerTest extends CommonRestController {
-
- private static final String CL_PARTICIPANT_STATISTICS_JSON =
- "src/test/resources/rest/monitoring/TestParticipantStatistics.json";
- private static final String CL_ELEMENT_STATISTICS_JSON =
- "src/test/resources/rest/monitoring/TestClElementStatistics.json";
-
- private static final Coder CODER = new StandardCoder();
-
- private static ParticipantStatisticsList inputParticipantStatistics;
- private static ClElementStatisticsList inputClElementStatistics;
-
- private static ParticipantStatisticsList participantStatisticsList;
- private static ClElementStatisticsList clElementStatisticsList;
-
- private static final String CLELEMENT_STATS_ENDPOINT = "monitoring/clelement";
- private static final String PARTICIPANT_STATS_ENDPOINT = "monitoring/participant";
- private static final String PARTICIPANT_STATS_PER_CL_ENDPOINT = "monitoring/participants/controlloop";
- private static final String CLELEMENT_STATS_PER_CL_ENDPOINT = "monitoring/clelements/controlloop";
-
- @Autowired
- private MonitoringProvider monitoringProvider;
-
- @LocalServerPort
- private int randomServerPort;
-
- /**
- * starts Main.
- *
- * @throws Exception if an error occurs
- */
- @BeforeAll
- public static void setUpBeforeAll() throws Exception {
-
- inputParticipantStatistics =
- CODER.decode(new File(CL_PARTICIPANT_STATISTICS_JSON), ParticipantStatisticsList.class);
- inputClElementStatistics = CODER.decode(new File(CL_ELEMENT_STATISTICS_JSON), ClElementStatisticsList.class);
- }
-
- @BeforeEach
- public void setUpBeforeEach() throws Exception {
- super.setHttpPrefix(randomServerPort);
-
- // Insert Participant statistics to DB
- participantStatisticsList =
- monitoringProvider.createParticipantStatistics(inputParticipantStatistics.getStatisticsList());
- // Insert CL Element statistics to DB
- clElementStatisticsList =
- monitoringProvider.createClElementStatistics(inputClElementStatistics.getClElementStatistics());
- }
-
- @Test
- void testQuery_Unauthorized_for_ClElementStats() throws Exception {
- assertUnauthorizedGet(CLELEMENT_STATS_ENDPOINT);
- }
-
- @Test
- void testQuery_Unauthorized_for_ClParticipantStats() throws Exception {
- assertUnauthorizedGet(PARTICIPANT_STATS_ENDPOINT);
- }
-
- @Test
- void testQuery_Unauthorized_for_ParticipantStatsPerCl() throws Exception {
- assertUnauthorizedGet(PARTICIPANT_STATS_PER_CL_ENDPOINT);
- }
-
- @Test
- void testQuery_Unauthorized_for_ClElementStatsPerCl() throws Exception {
- assertUnauthorizedGet(CLELEMENT_STATS_PER_CL_ENDPOINT);
- }
-
- @Test
- void testSwagger_ClStats() throws Exception {
- super.testSwagger(CLELEMENT_STATS_ENDPOINT);
- super.testSwagger(PARTICIPANT_STATS_ENDPOINT);
- super.testSwagger(CLELEMENT_STATS_PER_CL_ENDPOINT);
- super.testSwagger(PARTICIPANT_STATS_PER_CL_ENDPOINT);
- }
-
- @Test
- void testClElementStatisticsEndpoint() throws Exception {
- // Filter statistics only based on participant Id and UUID
- Invocation.Builder invokeRequest1 = super.sendRequest(CLELEMENT_STATS_ENDPOINT + "?name="
- + clElementStatisticsList.getClElementStatistics().get(0).getParticipantId().getName() + "&version="
- + clElementStatisticsList.getClElementStatistics().get(0).getParticipantId().getVersion() + "&id="
- + clElementStatisticsList.getClElementStatistics().get(0).getId().toString());
- Response response1 = invokeRequest1.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), response1.getStatus());
-
- ClElementStatisticsList result1 = response1.readEntity(ClElementStatisticsList.class);
-
- assertNotNull(result1);
- assertThat(result1.getClElementStatistics()).hasSize(2);
-
- var clElementStat0 = clElementStatisticsList.getClElementStatistics().get(0);
- for (var clElement : result1.getClElementStatistics()) {
- assertEquals(clElement.getParticipantId().asConceptKey(), clElementStat0.getParticipantId().asConceptKey());
- assertEquals(clElement.getId(), clElementStat0.getId());
- }
-
- // Filter statistics based on timestamp
- Invocation.Builder invokeRequest2 = super.sendRequest(CLELEMENT_STATS_ENDPOINT + "?name="
- + clElementStatisticsList.getClElementStatistics().get(1).getParticipantId().getName() + "&version="
- + clElementStatisticsList.getClElementStatistics().get(1).getParticipantId().getVersion()
- + "&startTime=" + Instant.parse("2021-01-10T13:00:00.000Z") + "&endTime="
- + Instant.parse("2021-01-10T14:00:00.000Z"));
- Response response2 = invokeRequest2.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), response2.getStatus());
- ClElementStatisticsList result2 = response2.readEntity(ClElementStatisticsList.class);
-
- assertNotNull(result2);
- assertThat(result2.getClElementStatistics()).hasSize(1);
- assertEquals(result2.getClElementStatistics().get(0), clElementStat0);
- }
-
- @Test
- void testClElementStats_BadRequest() throws Exception {
- Invocation.Builder invokeRequest1 = super.sendRequest(CLELEMENT_STATS_ENDPOINT + "?version=1.0.0");
- Response response1 = invokeRequest1.buildGet().invoke();
- assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response1.getStatus());
- }
-
- @Test
- void testParticipantStatisticsEndpoint() throws Exception {
-
- // Filter statistics only based on participant Id
- Invocation.Builder invokeRequest1 = super.sendRequest(PARTICIPANT_STATS_ENDPOINT + "?name="
- + participantStatisticsList.getStatisticsList().get(0).getParticipantId().getName() + "&version="
- + participantStatisticsList.getStatisticsList().get(0).getParticipantId().getVersion());
- Response response1 = invokeRequest1.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), response1.getStatus());
- ParticipantStatisticsList result1 = response1.readEntity(ParticipantStatisticsList.class);
-
- assertNotNull(result1);
- assertThat(result1.getStatisticsList()).hasSize(2);
- assertThat(result1.getStatisticsList()).contains(participantStatisticsList.getStatisticsList().get(0));
-
- // Filter statistics based on timestamp
- Invocation.Builder invokeRequest2 = super.sendRequest(PARTICIPANT_STATS_ENDPOINT + "?name="
- + participantStatisticsList.getStatisticsList().get(1).getParticipantId().getName() + "&version="
- + participantStatisticsList.getStatisticsList().get(1).getParticipantId().getVersion() + "&startTime="
- + Instant.parse("2021-01-10T13:00:00.000Z") + "&endTime=" + Instant.parse("2021-01-10T14:00:00.000Z"));
- Response response2 = invokeRequest2.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), response2.getStatus());
- ParticipantStatisticsList result2 = response2.readEntity(ParticipantStatisticsList.class);
-
- assertNotNull(result2);
- assertThat(result2.getStatisticsList()).hasSize(1);
- assertEquals(result2.getStatisticsList().get(0), participantStatisticsList.getStatisticsList().get(0));
- }
-
- @Test
- void testParticipantStats_BadRequest() throws Exception {
- Invocation.Builder invokeRequest1 = super.sendRequest(PARTICIPANT_STATS_ENDPOINT + "?version=0.0");
- Response response1 = invokeRequest1.buildGet().invoke();
- assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response1.getStatus());
- }
-
- @Test
- void testParticipantStatsPerClEndpoint() throws Exception {
- Invocation.Builder invokeRequest1 =
- super.sendRequest(PARTICIPANT_STATS_PER_CL_ENDPOINT + "?name=dummyName&version=1.001");
- Response response1 = invokeRequest1.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), response1.getStatus());
- ParticipantStatisticsList result1 = response1.readEntity(ParticipantStatisticsList.class);
- assertThat(result1.getStatisticsList()).isEmpty();
- }
-
- @Test
- void testParticipantStatsPerCl_BadRequest() throws Exception {
- Invocation.Builder invokeRequest1 = super.sendRequest(PARTICIPANT_STATS_PER_CL_ENDPOINT);
- Response response1 = invokeRequest1.buildGet().invoke();
- assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response1.getStatus());
- }
-
- @Test
- void testClElementStatisticsPerClEndpoint() throws Exception {
- Invocation.Builder invokeRequest1 =
- super.sendRequest(CLELEMENT_STATS_PER_CL_ENDPOINT + "?name=dummyName&version=1.001");
- Response response1 = invokeRequest1.buildGet().invoke();
- assertEquals(Response.Status.OK.getStatusCode(), response1.getStatus());
- ClElementStatisticsList result1 = response1.readEntity(ClElementStatisticsList.class);
- assertThat(result1.getClElementStatistics()).isEmpty();
- }
-
- @Test
- void testClElementStatsPerCl_BadRequest() throws Exception {
- Invocation.Builder invokeRequest1 = super.sendRequest(CLELEMENT_STATS_PER_CL_ENDPOINT);
- Response response1 = invokeRequest1.buildGet().invoke();
- assertEquals(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(), response1.getStatus());
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/HandleCounterTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/HandleCounterTest.java
deleted file mode 100644
index 51f3b4a32..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/HandleCounterTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.supervision;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-import org.junit.jupiter.api.Test;
-
-class HandleCounterTest {
-
- private static final int ID = 1;
-
- @Test
- void testCount() {
- var handleCounter = new HandleCounter<Integer>();
- handleCounter.setMaxRetryCount(2);
- assertThat(handleCounter.count(ID)).isTrue();
- assertThat(handleCounter.getCounter(ID)).isEqualTo(1);
- assertThat(handleCounter.count(ID)).isTrue();
- assertThat(handleCounter.getCounter(ID)).isEqualTo(2);
- assertThat(handleCounter.count(ID)).isFalse();
- assertThat(handleCounter.getCounter(ID)).isEqualTo(2);
-
- handleCounter.clear(ID);
- assertThat(handleCounter.count(ID)).isTrue();
- assertThat(handleCounter.getCounter(ID)).isEqualTo(1);
- }
-
- @Test
- void testFault() {
- var handleCounter = new HandleCounter<Integer>();
- handleCounter.setFault(ID);
- assertThat(handleCounter.isFault(ID)).isTrue();
- handleCounter.clear(ID);
- assertThat(handleCounter.isFault(ID)).isFalse();
- }
-
- @Test
- void testDuration() throws InterruptedException {
-
- var handleCounter = new HandleCounter<Integer>() {
- long epochMilli = 0;
-
- @Override
- protected long getEpochMilli() {
- return epochMilli;
- }
- };
- handleCounter.epochMilli = 100;
- var result = handleCounter.getDuration(ID);
- assertThat(result).isZero();
-
- handleCounter.epochMilli += 100;
- result = handleCounter.getDuration(ID);
- assertThat(result).isEqualTo(100);
-
- handleCounter.epochMilli += 100;
- result = handleCounter.getDuration(ID);
- assertThat(result).isEqualTo(200);
-
- handleCounter.epochMilli += 100;
- handleCounter.clear(ID);
- result = handleCounter.getDuration(ID);
- assertThat(result).isZero();
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionAspectTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionAspectTest.java
deleted file mode 100644
index f5ab9f28d..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionAspectTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.supervision;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.timeout;
-import static org.mockito.Mockito.verify;
-
-import org.junit.jupiter.api.Test;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantStatus;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-
-class SupervisionAspectTest {
-
- @Test
- void testSchedule() throws Exception {
- var supervisionScanner = spy(mock(SupervisionScanner.class));
- try (var supervisionAspect = new SupervisionAspect(supervisionScanner)) {
- supervisionAspect.schedule();
- verify(supervisionScanner, timeout(500)).run(true);
- }
- }
-
- @Test
- void testDoCheck() throws Exception {
- var supervisionScanner = spy(mock(SupervisionScanner.class));
- try (var supervisionAspect = new SupervisionAspect(supervisionScanner)) {
- supervisionAspect.doCheck();
- supervisionAspect.doCheck();
- verify(supervisionScanner, timeout(500).times(2)).run(false);
- }
- }
-
- @Test
- void testHandleParticipantStatus() throws Exception {
- var supervisionScanner = spy(mock(SupervisionScanner.class));
- var participantStatusMessage = new ParticipantStatus();
- var identifier = new ToscaConceptIdentifier("abc", "1.0.0");
- participantStatusMessage.setParticipantId(identifier);
-
- try (var supervisionAspect = new SupervisionAspect(supervisionScanner)) {
- supervisionAspect.handleParticipantStatus(participantStatusMessage);
- verify(supervisionScanner, timeout(500)).handleParticipantStatus(identifier);
- }
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java
deleted file mode 100644
index 21a826743..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionHandlerTest.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.supervision;
-
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyList;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.UUID;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopException;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopOrderedState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantHealthStatus;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantStatistics;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ControlLoopAck;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantDeregister;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantMessageType;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantRegister;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantStatus;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantUpdateAck;
-import org.onap.policy.clamp.controlloop.runtime.instantiation.InstantiationUtils;
-import org.onap.policy.clamp.controlloop.runtime.monitoring.MonitoringProvider;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ControlLoopStateChangePublisher;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ControlLoopUpdatePublisher;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantDeregisterAckPublisher;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantRegisterAckPublisher;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantUpdatePublisher;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-
-class SupervisionHandlerTest {
- private static final String TOSCA_TEMPLATE_YAML =
- "src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml";
- private static final String CL_INSTANTIATION_CREATE_JSON = "src/test/resources/rest/controlloops/ControlLoops.json";
- private static final ToscaConceptIdentifier identifier = new ToscaConceptIdentifier("PMSHInstance0Crud", "1.0.1");
- private static final ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("ParticipantId", "1.0.0");
- private static final ToscaConceptIdentifier participantType =
- new ToscaConceptIdentifier("ParticipantType", "1.0.0");
-
- @Test
- void testTriggerControlLoopSupervisionEmpty() throws ControlLoopException, PfModelException, CoderException {
- var handler = createSupervisionHandler(mock(ControlLoopProvider.class), mock(ParticipantProvider.class),
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), mock(ControlLoopUpdatePublisher.class),
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.PASSIVE);
-
- assertThatThrownBy(() -> handler.triggerControlLoopSupervision(List.of()))
- .hasMessageMatching("The list of control loops for supervision is empty");
- }
-
- @Test
- void testTriggerControlLoopSupervision() throws ControlLoopException, PfModelException, CoderException {
- var controlLoopProvider = mock(ControlLoopProvider.class);
- var controlLoopUpdatePublisher = mock(ControlLoopUpdatePublisher.class);
- var handler = createSupervisionHandler(controlLoopProvider, mock(ParticipantProvider.class),
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), controlLoopUpdatePublisher,
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.PASSIVE);
-
- handler.triggerControlLoopSupervision(List.of(identifier));
-
- verify(controlLoopUpdatePublisher).send(any(ControlLoop.class));
- verify(controlLoopProvider).saveControlLoop(any(ControlLoop.class));
- }
-
- @Test
- void testTriggerControlLoopUninitialised() throws ControlLoopException, PfModelException, CoderException {
- var controlLoopProvider = mock(ControlLoopProvider.class);
- var controlLoopUpdatePublisher = mock(ControlLoopUpdatePublisher.class);
- var handler = createSupervisionHandler(controlLoopProvider, mock(ParticipantProvider.class),
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), controlLoopUpdatePublisher,
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.UNINITIALISED);
-
- assertThatThrownBy(() -> handler.triggerControlLoopSupervision(List.of(identifier)))
- .hasMessageMatching("Control loop is already in state UNINITIALISED");
- }
-
- @Test
- void testTriggerControlLoopRunning() throws ControlLoopException, PfModelException, CoderException {
- var controlLoopProvider = mock(ControlLoopProvider.class);
- var controlLoopUpdatePublisher = mock(ControlLoopUpdatePublisher.class);
- var handler = createSupervisionHandler(controlLoopProvider, mock(ParticipantProvider.class),
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), controlLoopUpdatePublisher,
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.RUNNING);
-
- assertThatThrownBy(() -> handler.triggerControlLoopSupervision(List.of(identifier)))
- .hasMessageMatching("Control loop can't transition from state UNINITIALISED to state RUNNING");
- }
-
- @Test
- void testHandleControlLoopStateChangeAckMessage() throws PfModelException, CoderException {
- var controlLoopProvider = mock(ControlLoopProvider.class);
- var handler = createSupervisionHandler(controlLoopProvider, mock(ParticipantProvider.class),
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), mock(ControlLoopUpdatePublisher.class),
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.PASSIVE);
- var controlLoopAckMessage = new ControlLoopAck(ParticipantMessageType.CONTROLLOOP_STATECHANGE_ACK);
- controlLoopAckMessage.setControlLoopResultMap(Map.of());
- controlLoopAckMessage.setControlLoopId(identifier);
-
- handler.handleControlLoopStateChangeAckMessage(controlLoopAckMessage);
-
- verify(controlLoopProvider).saveControlLoop(any(ControlLoop.class));
- }
-
- @Test
- void testHandleControlLoopUpdateAckMessage() throws PfModelException, CoderException {
- var controlLoopAckMessage = new ControlLoopAck(ParticipantMessageType.CONTROLLOOP_UPDATE_ACK);
- controlLoopAckMessage.setParticipantId(participantId);
- controlLoopAckMessage.setParticipantType(participantType);
- controlLoopAckMessage.setControlLoopResultMap(Map.of());
- controlLoopAckMessage.setControlLoopId(identifier);
- var controlLoopProvider = mock(ControlLoopProvider.class);
- var handler = createSupervisionHandler(controlLoopProvider, mock(ParticipantProvider.class),
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), mock(ControlLoopUpdatePublisher.class),
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.PASSIVE);
-
- handler.handleControlLoopUpdateAckMessage(controlLoopAckMessage);
-
- verify(controlLoopProvider).saveControlLoop(any(ControlLoop.class));
- }
-
- @Test
- void testHandleParticipantDeregister() throws PfModelException, CoderException {
- var participant = new Participant();
- participant.setName(participantId.getName());
- participant.setVersion(participantId.getVersion());
- participant.setParticipantType(participantType);
-
- var participantProvider = mock(ParticipantProvider.class);
- when(participantProvider.findParticipant(participantId.getName(), participantId.getVersion()))
- .thenReturn(Optional.of(participant));
-
- var participantDeregisterMessage = new ParticipantDeregister();
- participantDeregisterMessage.setMessageId(UUID.randomUUID());
- participantDeregisterMessage.setParticipantId(participantId);
- participantDeregisterMessage.setParticipantType(participantType);
- var participantDeregisterAckPublisher = mock(ParticipantDeregisterAckPublisher.class);
- var handler = createSupervisionHandler(mock(ControlLoopProvider.class), participantProvider,
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- participantDeregisterAckPublisher, mock(ControlLoopUpdatePublisher.class),
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.PASSIVE);
-
- handler.handleParticipantMessage(participantDeregisterMessage);
-
- verify(participantProvider).saveParticipant(any());
- verify(participantDeregisterAckPublisher).send(participantDeregisterMessage.getMessageId());
- }
-
- @Test
- void testHandleParticipantRegister() throws PfModelException, CoderException {
- var participant = new Participant();
- participant.setName(participantId.getName());
- participant.setVersion(participantId.getVersion());
- participant.setParticipantType(participantType);
-
- var participantRegisterMessage = new ParticipantRegister();
- participantRegisterMessage.setMessageId(UUID.randomUUID());
- participantRegisterMessage.setParticipantId(participantId);
- participantRegisterMessage.setParticipantType(participantType);
- var participantProvider = mock(ParticipantProvider.class);
- var participantRegisterAckPublisher = mock(ParticipantRegisterAckPublisher.class);
- var handler = createSupervisionHandler(mock(ControlLoopProvider.class), participantProvider,
- mock(MonitoringProvider.class), participantRegisterAckPublisher,
- mock(ParticipantDeregisterAckPublisher.class), mock(ControlLoopUpdatePublisher.class),
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.PASSIVE);
-
- handler.handleParticipantMessage(participantRegisterMessage);
-
- verify(participantProvider).saveParticipant(any());
- verify(participantRegisterAckPublisher).send(participantRegisterMessage.getMessageId(), participantId,
- participantType);
- }
-
- @Test
- void testParticipantUpdateAck() throws PfModelException, CoderException {
- var participant = new Participant();
- participant.setName(participantId.getName());
- participant.setVersion(participantId.getVersion());
- participant.setParticipantType(participantType);
-
- var participantProvider = mock(ParticipantProvider.class);
- when(participantProvider.findParticipant(participantId.getName(), participantId.getVersion()))
- .thenReturn(Optional.of(participant));
-
- var participantUpdateAckMessage = new ParticipantUpdateAck();
- participantUpdateAckMessage.setParticipantId(participantId);
- participantUpdateAckMessage.setParticipantType(participantType);
- participantUpdateAckMessage.setState(ParticipantState.PASSIVE);
- var handler = createSupervisionHandler(mock(ControlLoopProvider.class), participantProvider,
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), mock(ControlLoopUpdatePublisher.class),
- mock(ParticipantUpdatePublisher.class), ControlLoopOrderedState.PASSIVE);
-
- handler.handleParticipantMessage(participantUpdateAckMessage);
-
- verify(participantProvider).saveParticipant(any());
- }
-
- @Test
- void testHandleParticipantStatus() throws PfModelException, CoderException {
- var participantStatusMessage = new ParticipantStatus();
- participantStatusMessage.setParticipantId(participantId);
- participantStatusMessage.setParticipantType(participantType);
- participantStatusMessage.setState(ParticipantState.PASSIVE);
- participantStatusMessage.setHealthStatus(ParticipantHealthStatus.HEALTHY);
- participantStatusMessage.setParticipantStatistics(new ParticipantStatistics());
-
- var participantProvider = mock(ParticipantProvider.class);
- var monitoringProvider = mock(MonitoringProvider.class);
- var handler = createSupervisionHandler(mock(ControlLoopProvider.class), participantProvider, monitoringProvider,
- mock(ParticipantRegisterAckPublisher.class), mock(ParticipantDeregisterAckPublisher.class),
- mock(ControlLoopUpdatePublisher.class), mock(ParticipantUpdatePublisher.class),
- ControlLoopOrderedState.PASSIVE);
- handler.handleParticipantMessage(participantStatusMessage);
-
- verify(participantProvider).saveParticipant(any());
- verify(monitoringProvider).createParticipantStatistics(anyList());
- }
-
- @Test
- void testHandleSendCommissionMessage() throws PfModelException, CoderException {
- var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
- var handler = createSupervisionHandler(mock(ControlLoopProvider.class), mock(ParticipantProvider.class),
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), mock(ControlLoopUpdatePublisher.class),
- participantUpdatePublisher, ControlLoopOrderedState.PASSIVE);
- handler.handleSendCommissionMessage(participantId.getName(), participantId.getVersion());
-
- verify(participantUpdatePublisher).sendComissioningBroadcast(participantId.getName(),
- participantId.getVersion());
- }
-
- @Test
- void testHandleSendDeCommissionMessage() throws PfModelException, CoderException {
- var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
- var handler = createSupervisionHandler(mock(ControlLoopProvider.class), mock(ParticipantProvider.class),
- mock(MonitoringProvider.class), mock(ParticipantRegisterAckPublisher.class),
- mock(ParticipantDeregisterAckPublisher.class), mock(ControlLoopUpdatePublisher.class),
- participantUpdatePublisher, ControlLoopOrderedState.PASSIVE);
- handler.handleSendDeCommissionMessage();
-
- verify(participantUpdatePublisher).sendDecomisioning();
- }
-
- private SupervisionHandler createSupervisionHandler(ControlLoopProvider controlLoopProvider,
- ParticipantProvider participantProvider, MonitoringProvider monitoringProvider,
- ParticipantRegisterAckPublisher participantRegisterAckPublisher,
- ParticipantDeregisterAckPublisher participantDeregisterAckPublisher,
- ControlLoopUpdatePublisher controlLoopUpdatePublisher,
- ParticipantUpdatePublisher participantUpdatePublisher,
- ControlLoopOrderedState orderedState) throws PfModelException, CoderException {
- var controlLoopsCreate = InstantiationUtils.getControlLoopsFromResource(CL_INSTANTIATION_CREATE_JSON, "Crud");
-
- var controlLoop = controlLoopsCreate.getControlLoopList().get(0);
- controlLoop.setOrderedState(orderedState);
-
- when(controlLoopProvider.findControlLoop(identifier)).thenReturn(Optional.of(controlLoop));
- when(controlLoopProvider.getControlLoop(identifier)).thenReturn(controlLoop);
-
- var serviceTemplateProvider = Mockito.mock(ServiceTemplateProvider.class);
- when(serviceTemplateProvider.getServiceTemplateList(any(), any()))
- .thenReturn(List.of(InstantiationUtils.getToscaServiceTemplate(TOSCA_TEMPLATE_YAML)));
-
- var controlLoopStateChangePublisher = mock(ControlLoopStateChangePublisher.class);
-
- return new SupervisionHandler(controlLoopProvider, participantProvider, monitoringProvider,
- serviceTemplateProvider, controlLoopUpdatePublisher, controlLoopStateChangePublisher,
- participantRegisterAckPublisher, participantDeregisterAckPublisher, participantUpdatePublisher);
-
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java
deleted file mode 100644
index b7a3fe005..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/SupervisionScannerTest.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.supervision;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.util.List;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopOrderedState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantHealthStatus;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantState;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
-import org.onap.policy.clamp.controlloop.runtime.instantiation.InstantiationUtils;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ControlLoopStateChangePublisher;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ControlLoopUpdatePublisher;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantStatusReqPublisher;
-import org.onap.policy.clamp.controlloop.runtime.supervision.comm.ParticipantUpdatePublisher;
-import org.onap.policy.clamp.controlloop.runtime.util.CommonTestData;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-
-class SupervisionScannerTest {
-
- private static final String TOSCA_SERVICE_TEMPLATE_YAML =
- "src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml";
- private static final String CONTROLLOOP_JSON = "src/test/resources/rest/controlloops/ControlLoopsSmoke.json";
-
- private static ServiceTemplateProvider serviceTemplateProvider = mock(ServiceTemplateProvider.class);
-
- @BeforeAll
- public static void setUpBeforeAll() throws Exception {
- ToscaServiceTemplate serviceTemplate = InstantiationUtils.getToscaServiceTemplate(TOSCA_SERVICE_TEMPLATE_YAML);
- when(serviceTemplateProvider.getAllServiceTemplates()).thenReturn(List.of(serviceTemplate));
- }
-
- @Test
- void testScannerOrderedStateEqualsToState() throws PfModelException, CoderException {
- var controlLoopProvider = mock(ControlLoopProvider.class);
- var controlLoopStateChangePublisher = mock(ControlLoopStateChangePublisher.class);
- var controlLoopUpdatePublisher = mock(ControlLoopUpdatePublisher.class);
- var participantProvider = mock(ParticipantProvider.class);
- var participantStatusReqPublisher = mock(ParticipantStatusReqPublisher.class);
- var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
- var clRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanner");
-
- var controlLoops =
- InstantiationUtils.getControlLoopsFromResource(CONTROLLOOP_JSON, "Crud").getControlLoopList();
- when(controlLoopProvider.getControlLoops()).thenReturn(controlLoops);
-
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
- controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
- participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
- supervisionScanner.run(false);
-
- verify(controlLoopProvider, times(0)).saveControlLoop(any(ControlLoop.class));
- }
-
- @Test
- void testScannerOrderedStateDifferentToState() throws PfModelException, CoderException {
- var controlLoops =
- InstantiationUtils.getControlLoopsFromResource(CONTROLLOOP_JSON, "Crud").getControlLoopList();
- controlLoops.get(0).setState(ControlLoopState.UNINITIALISED2PASSIVE);
- controlLoops.get(0).setOrderedState(ControlLoopOrderedState.UNINITIALISED);
- var controlLoopProvider = mock(ControlLoopProvider.class);
- when(controlLoopProvider.getControlLoops()).thenReturn(controlLoops);
-
- var controlLoopUpdatePublisher = mock(ControlLoopUpdatePublisher.class);
- var controlLoopStateChangePublisher = mock(ControlLoopStateChangePublisher.class);
- var participantProvider = mock(ParticipantProvider.class);
- var participantStatusReqPublisher = mock(ParticipantStatusReqPublisher.class);
- var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
- var clRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanner");
-
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
- controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
- participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
- supervisionScanner.run(false);
-
- verify(controlLoopProvider, times(1)).saveControlLoop(any(ControlLoop.class));
- }
-
- @Test
- void testScanner() throws PfModelException {
- var controlLoopProvider = mock(ControlLoopProvider.class);
- var controlLoop = new ControlLoop();
- when(controlLoopProvider.getControlLoops()).thenReturn(List.of(controlLoop));
-
- var participantProvider = mock(ParticipantProvider.class);
- var participant = new Participant();
- participant.setName("Participant0");
- participant.setVersion("1.0.0");
- when(participantProvider.getParticipants(null, null)).thenReturn(List.of(participant));
-
- var controlLoopUpdatePublisher = mock(ControlLoopUpdatePublisher.class);
- var participantStatusReqPublisher = mock(ParticipantStatusReqPublisher.class);
- var controlLoopStateChangePublisher = mock(ControlLoopStateChangePublisher.class);
- var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
- var clRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanner");
-
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
- controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
- participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
-
- supervisionScanner.handleParticipantStatus(participant.getKey().asIdentifier());
- supervisionScanner.run(true);
- verify(controlLoopProvider, times(0)).saveControlLoop(any(ControlLoop.class));
- verify(participantStatusReqPublisher, times(0)).send(any(ToscaConceptIdentifier.class));
- }
-
- @Test
- void testSendControlLoopMsgUpdate() throws PfModelException, CoderException {
- var controlLoops =
- InstantiationUtils.getControlLoopsFromResource(CONTROLLOOP_JSON, "Crud").getControlLoopList();
- controlLoops.get(0).setState(ControlLoopState.UNINITIALISED2PASSIVE);
- controlLoops.get(0).setOrderedState(ControlLoopOrderedState.PASSIVE);
- for (var element : controlLoops.get(0).getElements().values()) {
- if ("org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement"
- .equals(element.getDefinition().getName())) {
- element.setOrderedState(ControlLoopOrderedState.PASSIVE);
- element.setState(ControlLoopState.UNINITIALISED);
- } else {
- element.setOrderedState(ControlLoopOrderedState.PASSIVE);
- element.setState(ControlLoopState.PASSIVE);
- }
- }
-
- var controlLoopProvider = mock(ControlLoopProvider.class);
- when(controlLoopProvider.getControlLoops()).thenReturn(controlLoops);
-
- var participantProvider = mock(ParticipantProvider.class);
- var controlLoopUpdatePublisher = mock(ControlLoopUpdatePublisher.class);
- var participantStatusReqPublisher = mock(ParticipantStatusReqPublisher.class);
- var controlLoopStateChangePublisher = mock(ControlLoopStateChangePublisher.class);
- var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
- var clRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanner");
-
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
- controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
- participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
-
- supervisionScanner.run(false);
-
- verify(controlLoopUpdatePublisher).send(any(ControlLoop.class), anyInt());
- }
-
- @Test
- void testScanParticipant() throws PfModelException {
- var controlLoopProvider = mock(ControlLoopProvider.class);
- var controlLoop = new ControlLoop();
- when(controlLoopProvider.getControlLoops()).thenReturn(List.of(controlLoop));
-
- var clRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanParticipant");
- clRuntimeParameterGroup.getParticipantParameters().getUpdateParameters().setMaxWaitMs(-1);
- clRuntimeParameterGroup.getParticipantParameters().setMaxStatusWaitMs(-1);
-
- var participant = new Participant();
- participant.setName("Participant0");
- participant.setVersion("1.0.0");
- participant.setHealthStatus(ParticipantHealthStatus.HEALTHY);
- participant.setParticipantState(ParticipantState.ACTIVE);
- participant.setDefinition(new ToscaConceptIdentifier("unknown", "0.0.0"));
- participant.setParticipantType(new ToscaConceptIdentifier("ParticipantType1", "1.0.0"));
- var participantProvider = mock(ParticipantProvider.class);
- when(participantProvider.getParticipants()).thenReturn(List.of(participant));
-
- var controlLoopUpdatePublisher = mock(ControlLoopUpdatePublisher.class);
- var participantStatusReqPublisher = mock(ParticipantStatusReqPublisher.class);
- var controlLoopStateChangePublisher = mock(ControlLoopStateChangePublisher.class);
- var participantUpdatePublisher = mock(ParticipantUpdatePublisher.class);
-
- var supervisionScanner = new SupervisionScanner(controlLoopProvider, serviceTemplateProvider,
- controlLoopStateChangePublisher, controlLoopUpdatePublisher, participantProvider,
- participantStatusReqPublisher, participantUpdatePublisher, clRuntimeParameterGroup);
-
- supervisionScanner.handleParticipantStatus(participant.getKey().asIdentifier());
- supervisionScanner.run(true);
- verify(participantStatusReqPublisher).send(any(ToscaConceptIdentifier.class));
- verify(participantProvider).saveParticipant(any());
-
- supervisionScanner.run(true);
- verify(participantProvider, times(2)).saveParticipant(any());
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java
deleted file mode 100644
index a465aa254..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * Modifications Copyright (C) 2021 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.supervision.comm;
-
-import static org.assertj.core.api.Assertions.assertThatCode;
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import java.time.Instant;
-import java.util.Collections;
-import java.util.List;
-import java.util.UUID;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopState;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ClElementStatisticsProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ControlLoopProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ParticipantStatisticsProvider;
-import org.onap.policy.clamp.controlloop.models.controlloop.persistence.provider.ServiceTemplateProvider;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantDeregister;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantDeregisterAck;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantRegisterAck;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantUpdateAck;
-import org.onap.policy.clamp.controlloop.runtime.monitoring.MonitoringProvider;
-import org.onap.policy.clamp.controlloop.runtime.supervision.SupervisionHandler;
-import org.onap.policy.clamp.controlloop.runtime.util.rest.CommonRestController;
-import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
-import org.onap.policy.common.endpoints.event.comm.TopicSink;
-import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-
-class SupervisionMessagesTest extends CommonRestController {
-
- private static final String NOT_ACTIVE = "Not Active!";
- private static final Object lockit = new Object();
- private static final CommInfrastructure INFRA = CommInfrastructure.NOOP;
- private static final String TOPIC = "my-topic";
- private static SupervisionHandler supervisionHandler;
-
- /**
- * setup Db Provider Parameters.
- *
- * @throws PfModelException if an error occurs
- */
- @BeforeAll
- public static void setupDbProviderParameters() throws PfModelException {
- var clProvider = mock(ControlLoopProvider.class);
- var participantStatisticsProvider = mock(ParticipantStatisticsProvider.class);
- var clElementStatisticsProvider = mock(ClElementStatisticsProvider.class);
- var monitoringProvider =
- new MonitoringProvider(participantStatisticsProvider, clElementStatisticsProvider, clProvider);
- var participantProvider = mock(ParticipantProvider.class);
- var serviceTemplateProvider = Mockito.mock(ServiceTemplateProvider.class);
- var controlLoopUpdatePublisher = Mockito.mock(ControlLoopUpdatePublisher.class);
- var controlLoopStateChangePublisher = Mockito.mock(ControlLoopStateChangePublisher.class);
- var participantRegisterAckPublisher = Mockito.mock(ParticipantRegisterAckPublisher.class);
- var participantDeregisterAckPublisher = Mockito.mock(ParticipantDeregisterAckPublisher.class);
- var participantUpdatePublisher = Mockito.mock(ParticipantUpdatePublisher.class);
- supervisionHandler = new SupervisionHandler(clProvider, participantProvider, monitoringProvider,
- serviceTemplateProvider, controlLoopUpdatePublisher, controlLoopStateChangePublisher,
- participantRegisterAckPublisher, participantDeregisterAckPublisher, participantUpdatePublisher);
- }
-
- @Test
- void testSendParticipantRegisterAck() throws Exception {
- final ParticipantRegisterAck participantRegisterAckMsg = new ParticipantRegisterAck();
- participantRegisterAckMsg.setMessage("ParticipantRegisterAck message");
- participantRegisterAckMsg.setResponseTo(UUID.randomUUID());
- participantRegisterAckMsg.setResult(true);
-
- synchronized (lockit) {
- ParticipantRegisterAckPublisher clRegisterAckPublisher = new ParticipantRegisterAckPublisher();
- clRegisterAckPublisher.active(List.of(Mockito.mock(TopicSink.class)));
- assertThatCode(() -> clRegisterAckPublisher.send(participantRegisterAckMsg)).doesNotThrowAnyException();
- }
- }
-
- @Test
- void testReceiveParticipantDeregister() throws Exception {
- final ParticipantDeregister participantDeregisterMsg = new ParticipantDeregister();
- participantDeregisterMsg.setParticipantId(getParticipantId());
- participantDeregisterMsg.setTimestamp(Instant.now());
- participantDeregisterMsg.setParticipantType(getParticipantType());
-
- synchronized (lockit) {
- ParticipantDeregisterListener participantDeregisterListener =
- new ParticipantDeregisterListener(supervisionHandler);
- assertThatCode(
- () -> participantDeregisterListener.onTopicEvent(INFRA, TOPIC, null, participantDeregisterMsg))
- .doesNotThrowAnyException();
- }
- }
-
- @Test
- void testSendParticipantDeregisterAck() throws Exception {
- final ParticipantDeregisterAck participantDeregisterAckMsg = new ParticipantDeregisterAck();
- participantDeregisterAckMsg.setMessage("ParticipantDeregisterAck message");
- participantDeregisterAckMsg.setResponseTo(UUID.randomUUID());
- participantDeregisterAckMsg.setResult(true);
-
- synchronized (lockit) {
- ParticipantDeregisterAckPublisher clDeregisterAckPublisher = new ParticipantDeregisterAckPublisher();
- clDeregisterAckPublisher.active(Collections.singletonList(Mockito.mock(TopicSink.class)));
- assertThatCode(() -> clDeregisterAckPublisher.send(participantDeregisterAckMsg)).doesNotThrowAnyException();
- }
- }
-
- @Test
- void testReceiveParticipantUpdateAckMessage() throws Exception {
- final ParticipantUpdateAck participantUpdateAckMsg = new ParticipantUpdateAck();
- participantUpdateAckMsg.setMessage("ParticipantUpdateAck message");
- participantUpdateAckMsg.setResponseTo(UUID.randomUUID());
- participantUpdateAckMsg.setResult(true);
- participantUpdateAckMsg.setParticipantId(getParticipantId());
- participantUpdateAckMsg.setParticipantType(getParticipantType());
-
- synchronized (lockit) {
- ParticipantUpdateAckListener participantUpdateAckListener =
- new ParticipantUpdateAckListener(supervisionHandler);
- assertThatCode(() -> participantUpdateAckListener.onTopicEvent(INFRA, TOPIC, null, participantUpdateAckMsg))
- .doesNotThrowAnyException();
- }
- }
-
- @Test
- void testSendControlLoopStateChangePublisherNotActive() {
- var publisher = new ControlLoopStateChangePublisher();
- assertThatThrownBy(() -> publisher.send(getControlLoop(), 0)).hasMessage(NOT_ACTIVE);
- }
-
- @Test
- void testSendControlLoopStateChangePublisher() {
- var publisher = new ControlLoopStateChangePublisher();
- var topicSink = mock(TopicSink.class);
- publisher.active(List.of(topicSink));
- publisher.send(getControlLoop(), 0);
- verify(topicSink).send(anyString());
- }
-
- @Test
- void testParticipantUpdatePublisherDecomisioning() {
- var publisher = new ParticipantUpdatePublisher(mock(ServiceTemplateProvider.class));
- var topicSink = mock(TopicSink.class);
- publisher.active(List.of(topicSink));
- publisher.sendDecomisioning();
- verify(topicSink).send(anyString());
- }
-
- @Test
- void testParticipantUpdatePublisherComissioning() {
- var publisher = new ParticipantUpdatePublisher(mock(ServiceTemplateProvider.class));
- var topicSink = mock(TopicSink.class);
- publisher.active(List.of(topicSink));
- publisher.sendComissioningBroadcast("NAME", "1.0.0");
- verify(topicSink, times(0)).send(anyString());
- }
-
- @Test
- void testParticipantStatusReqPublisher() {
- var publisher = new ParticipantStatusReqPublisher();
- var topicSink = mock(TopicSink.class);
- publisher.active(List.of(topicSink));
- publisher.send(getParticipantId());
- verify(topicSink).send(anyString());
- }
-
- @Test
- void testParticipantRegisterAckPublisher() {
- var publisher = new ParticipantRegisterAckPublisher();
- var topicSink = mock(TopicSink.class);
- publisher.active(List.of(topicSink));
- publisher.send(UUID.randomUUID(), getParticipantId(), getParticipantType());
- verify(topicSink).send(anyString());
- }
-
- @Test
- void testParticipantDeregisterAckPublisher() {
- var publisher = new ParticipantDeregisterAckPublisher();
- var topicSink = mock(TopicSink.class);
- publisher.active(List.of(topicSink));
- publisher.send(UUID.randomUUID());
- verify(topicSink).send(anyString());
- }
-
- private ControlLoop getControlLoop() {
- var controlLoop = new ControlLoop();
- controlLoop.setName("NAME");
- controlLoop.setVersion("0.0.1");
- controlLoop.setState(ControlLoopState.UNINITIALISED);
- return controlLoop;
- }
-
- private ToscaConceptIdentifier getParticipantId() {
- return new ToscaConceptIdentifier("org.onap.PM_Policy", "1.0.0");
- }
-
- private ToscaConceptIdentifier getParticipantType() {
- return new ToscaConceptIdentifier("org.onap.policy.controlloop.PolicyControlLoopParticipant", "2.3.1");
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/util/CommonTestData.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/util/CommonTestData.java
deleted file mode 100644
index 13d30e401..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/util/CommonTestData.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.util;
-
-import java.util.List;
-import javax.ws.rs.core.Response.Status;
-import org.onap.policy.clamp.controlloop.common.exception.ControlLoopRuntimeException;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.Participant;
-import org.onap.policy.clamp.controlloop.runtime.main.parameters.ClRuntimeParameterGroup;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.common.utils.resources.ResourceUtils;
-import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.base.PfModelRuntimeException;
-import org.onap.policy.models.provider.PolicyModelsProvider;
-import org.onap.policy.models.provider.PolicyModelsProviderFactory;
-import org.onap.policy.models.provider.PolicyModelsProviderParameters;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
-
-/**
- * Class to hold/create all parameters for test cases.
- *
- */
-public class CommonTestData {
- private static final Coder CODER = new StandardCoder();
-
- /**
- * Gets the standard Control Loop parameters.
- *
- * @param dbName the database name
- * @return the standard Control Loop parameters
- * @throws ControlLoopRuntimeException on errors reading the control loop parameters
- */
- public static ClRuntimeParameterGroup geParameterGroup(final String dbName) {
- try {
- return CODER.convert(getParameterGroupAsString(dbName), ClRuntimeParameterGroup.class);
-
- } catch (CoderException e) {
- throw new ControlLoopRuntimeException(Status.NOT_ACCEPTABLE, "cannot read Control Loop parameters", e);
- }
- }
-
- /**
- * Gets the standard Control Loop parameters, as a String.
- *
- * @param dbName the database name
- * @return the standard Control Loop parameters as string
- */
- public static String getParameterGroupAsString(final String dbName) {
- return ResourceUtils.getResourceAsString("src/test/resources/parameters/TestParameters.json")
- .replace("${dbName}", "jdbc:h2:mem:" + dbName);
- }
-
- /**
- * Create a new PolicyModelsProvider.
- *
- * @param databaseProviderParameters the database Provider Parameters
- * @return a new PolicyModelsProvider
- */
- public static PolicyModelsProvider getPolicyModelsProvider(
- PolicyModelsProviderParameters databaseProviderParameters) {
- try {
- return new PolicyModelsProviderFactory().createPolicyModelsProvider(databaseProviderParameters);
- } catch (PfModelException e) {
- throw new PfModelRuntimeException(e);
- }
- }
-
- /**
- * Create a List of Participants.
- *
- * @return a List of Participants
- */
- public static List<Participant> createParticipants() {
- var participant1 = createParticipant(
- new ToscaConceptIdentifier("org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant", "2.3.4"),
- new ToscaConceptIdentifier("org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "2.3.4"));
- var participant2 = createParticipant(
- new ToscaConceptIdentifier("org.onap.policy.controlloop.PolicyControlLoopParticipant", "2.3.1"),
- new ToscaConceptIdentifier("org.onap.policy.controlloop.PolicyControlLoopParticipant", "2.3.1"));
- var participant3 = createParticipant(
- new ToscaConceptIdentifier("org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant", "2.2.1"),
- new ToscaConceptIdentifier("org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant", "2.2.1"));
- return List.of(participant1, participant2, participant3);
- }
-
- /**
- * Create a new Participant.
- *
- * @param participantType the participant Type
- * @param participantId the participant id
- * @return a new Participant
- */
- public static Participant createParticipant(ToscaConceptIdentifier participantType,
- ToscaConceptIdentifier participantId) {
- var participant = new Participant();
- participant.setDefinition(participantId);
- participant.setParticipantType(participantType);
- participant.setName(participantId.getName());
- participant.setVersion(participantId.getVersion());
- return participant;
- }
-}
diff --git a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/util/rest/CommonRestController.java b/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/util/rest/CommonRestController.java
deleted file mode 100644
index 70b0608d6..000000000
--- a/runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/util/rest/CommonRestController.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.clamp.controlloop.runtime.util.rest;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.junit.Assert.assertEquals;
-
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import org.glassfish.jersey.client.ClientProperties;
-import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
-import org.onap.policy.common.gson.GsonMessageBodyHandler;
-import org.onap.policy.common.utils.network.NetworkUtil;
-
-/**
- * Class to perform Rest unit tests.
- *
- */
-public class CommonRestController {
-
- public static final String SELF = NetworkUtil.getHostname();
- public static final String CONTEXT_PATH = "onap/controlloop";
- public static final String ENDPOINT_PREFIX = CONTEXT_PATH + "/v2/";
- public static final String ACTUATOR_ENDPOINT = CONTEXT_PATH + "/actuator/";
-
- private static String httpPrefix;
-
- /**
- * Verifies that an endpoint appears within the swagger response.
- *
- * @param endpoint the endpoint of interest
- * @throws Exception if an error occurs
- */
- protected void testSwagger(final String endpoint) throws Exception {
- final Invocation.Builder invocationBuilder = sendRequest("api-docs");
- final String resp = invocationBuilder.get(String.class);
-
- assertThat(resp).contains(endpoint);
- }
-
- /**
- * Sends a request to an endpoint.
- *
- * @param endpoint the target endpoint
- * @return a request builder
- * @throws Exception if an error occurs
- */
- protected Invocation.Builder sendRequest(final String endpoint) throws Exception {
- return sendFqeRequest(httpPrefix + ENDPOINT_PREFIX + endpoint, true);
- }
-
- /**
- * Sends a request to an actuator endpoint.
- *
- * @param endpoint the target endpoint
- * @return a request builder
- * @throws Exception if an error occurs
- */
- protected Invocation.Builder sendActRequest(final String endpoint) throws Exception {
- return sendFqeRequest(httpPrefix + ACTUATOR_ENDPOINT + endpoint, true);
- }
-
- /**
- * Sends a request to an Rest Api endpoint, without any authorization header.
- *
- * @param endpoint the target endpoint
- * @return a request builder
- * @throws Exception if an error occurs
- */
- protected Invocation.Builder sendNoAuthRequest(final String endpoint) throws Exception {
- return sendFqeRequest(httpPrefix + ENDPOINT_PREFIX + endpoint, false);
- }
-
- /**
- * Sends a request to an actuator endpoint, without any authorization header.
- *
- * @param endpoint the target endpoint
- * @return a request builder
- * @throws Exception if an error occurs
- */
- protected Invocation.Builder sendNoAuthActRequest(final String endpoint) throws Exception {
- return sendFqeRequest(httpPrefix + ACTUATOR_ENDPOINT + endpoint, false);
- }
-
- /**
- * Sends a request to a fully qualified endpoint.
- *
- * @param fullyQualifiedEndpoint the fully qualified target endpoint
- * @param includeAuth if authorization header should be included
- * @return a request builder
- * @throws Exception if an error occurs
- */
- protected Invocation.Builder sendFqeRequest(final String fullyQualifiedEndpoint, boolean includeAuth)
- throws Exception {
- final Client client = ClientBuilder.newBuilder().build();
-
- client.property(ClientProperties.METAINF_SERVICES_LOOKUP_DISABLE, "true");
- client.register(GsonMessageBodyHandler.class);
-
- if (includeAuth) {
- client.register(HttpAuthenticationFeature.basic("runtimeUser", "zb!XztG34"));
- }
-
- final WebTarget webTarget = client.target(fullyQualifiedEndpoint);
-
- return webTarget.request(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN);
- }
-
- /**
- * Assert that POST call is Unauthorized.
- *
- * @param endPoint the endpoint
- * @param entity the entity ofthe body
- * @throws Exception if an error occurs
- */
- protected void assertUnauthorizedPost(final String endPoint, final Entity<?> entity) throws Exception {
- Response rawresp = sendNoAuthRequest(endPoint).post(entity);
- assertEquals(Response.Status.UNAUTHORIZED.getStatusCode(), rawresp.getStatus());
- }
-
- /**
- * Assert that PUT call is Unauthorized.
- *
- * @param endPoint the endpoint
- * @param entity the entity ofthe body
- * @throws Exception if an error occurs
- */
- protected void assertUnauthorizedPut(final String endPoint, final Entity<?> entity) throws Exception {
- Response rawresp = sendNoAuthRequest(endPoint).put(entity);
- assertEquals(Response.Status.UNAUTHORIZED.getStatusCode(), rawresp.getStatus());
- }
-
- /**
- * Assert that GET call is Unauthorized.
- *
- * @param endPoint the endpoint
- * @throws Exception if an error occurs
- */
- protected void assertUnauthorizedGet(final String endPoint) throws Exception {
- Response rawresp = sendNoAuthRequest(endPoint).buildGet().invoke();
- assertEquals(Response.Status.UNAUTHORIZED.getStatusCode(), rawresp.getStatus());
- }
-
- /**
- * Assert that GET call to actuator endpoint is Unauthorized.
- *
- * @param endPoint the endpoint
- * @throws Exception if an error occurs
- */
- protected void assertUnauthorizedActGet(final String endPoint) throws Exception {
- Response rawresp = sendNoAuthActRequest(endPoint).buildGet().invoke();
- assertEquals(Response.Status.UNAUTHORIZED.getStatusCode(), rawresp.getStatus());
- }
-
- /**
- * Assert that DELETE call is Unauthorized.
- *
- * @param endPoint the endpoint
- * @throws Exception if an error occurs
- */
- protected void assertUnauthorizedDelete(final String endPoint) throws Exception {
- Response rawresp = sendNoAuthRequest(endPoint).delete();
- assertEquals(Response.Status.UNAUTHORIZED.getStatusCode(), rawresp.getStatus());
- }
-
- /**
- * Set Up httpPrefix.
- *
- * @param port the port
- */
- protected void setHttpPrefix(int port) {
- httpPrefix = "http://" + SELF + ":" + port + "/";
- }
-
- protected String getHttpPrefix() {
- return httpPrefix;
- }
-}
diff --git a/runtime-controlloop/src/test/resources/application_test.properties b/runtime-controlloop/src/test/resources/application_test.properties
deleted file mode 100644
index 52c372d5e..000000000
--- a/runtime-controlloop/src/test/resources/application_test.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-spring.security.user.name=runtimeUser
-spring.security.user.password=zb!XztG34
-security.enable-csrf=false
-
-spring.datasource.url=jdbc:h2:mem:testdb
-spring.datasource.driverClassName=org.h2.Driver
-spring.datasource.username=policy
-spring.datasource.password=P01icY
-
-spring.datasource.hikari.connectionTimeout=30000
-spring.datasource.hikari.idleTimeout=600000
-spring.datasource.hikari.maxLifetime=1800000
-spring.datasource.hikari.maximumPoolSize=3
-
-spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
-spring.jpa.hibernate.naming.implicit-strategy=org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
-spring.jpa.hibernate.ddl-auto=create
-spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.HSQLDialect
-spring.jpa.properties.hibernate.format_sql=true
-
-server.port=6969
-server.servlet.context-path=/onap/controlloop
-server.error.path=/error
-
-runtime.participantParameters.heartBeatMs=20000
-runtime.participantParameters.maxStatusWaitMs=100000
-runtime.participantParameters.updateParameters.maxRetryCount=3
-runtime.participantParameters.updateParameters.maxWaitMs=20000
-runtime.topicParameterGroup.topicSources[0].topic=POLICY-CLRUNTIME-PARTICIPANT
-runtime.topicParameterGroup.topicSources[0].servers[0]=localhost
-runtime.topicParameterGroup.topicSources[0].topicCommInfrastructure=dmaap
-runtime.topicParameterGroup.topicSources[0].fetchTimeout=15000
-runtime.topicParameterGroup.topicSinks[0].topic=POLICY-CLRUNTIME-PARTICIPANT
-runtime.topicParameterGroup.topicSinks[0].servers[0]=localhost
-runtime.topicParameterGroup.topicSinks[0].topicCommInfrastructure=dmaap
-
-management.endpoints.web.exposure.include=health,metrics,prometheus
diff --git a/runtime-controlloop/src/test/resources/parameters/TestParameters.json b/runtime-controlloop/src/test/resources/parameters/TestParameters.json
deleted file mode 100644
index 6d16f4853..000000000
--- a/runtime-controlloop/src/test/resources/parameters/TestParameters.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "ControlLoopRuntimeGroup",
- "supervisionScannerIntervalSec": 1000,
- "participantClUpdateIntervalSec": 1000,
- "participantClStateChangeIntervalSec": 1000,
- "participantParameters": {
- "heartBeatMs": 120000,
- "maxStatusWaitMs": 100000,
- "updateParameters": {
- "maxRetryCount": 1,
- "maxWaitMs": 30000
- }
- },
- "databaseProviderParameters": {
- "name": "PolicyProviderParameterGroup",
- "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
- "databaseDriver": "org.h2.Driver",
- "databaseUrl": "${dbName}",
- "databaseUser": "policy",
- "databasePassword": "P01icY",
- "persistenceUnit": "InstantiationTests"
- },
- "topicParameterGroup": {
- "topicSources": [
- {
- "topic": "POLICY-CLRUNTIME-PARTICIPANT",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap",
- "fetchTimeout": 15000
- }
- ],
- "topicSinks": [
- {
- "topic": "POLICY-CLRUNTIME-PARTICIPANT",
- "servers": [
- "localhost"
- ],
- "topicCommInfrastructure": "dmaap"
- }
- ]
- }
-}
diff --git a/runtime-controlloop/src/test/resources/parameters/logback-test.xml b/runtime-controlloop/src/test/resources/parameters/logback-test.xml
deleted file mode 100644
index e00c36baa..000000000
--- a/runtime-controlloop/src/test/resources/parameters/logback-test.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============LICENSE_START=======================================================
- Copyright (C) 2021 Nordix Foundation.
- ================================================================================
- 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.
-
- SPDX-License-Identifier: Apache-2.0
- ============LICENSE_END=========================================================
--->
-
-<configuration>
-
- <contextName>Apex</contextName>
- <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
- <property name="LOG_DIR" value="${java.io.tmpdir}/clamp_logging/" />
-
- <!-- USE FOR STD OUT ONLY -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern>
- </encoder>
- </appender>
-
- <root level="info">
- <appender-ref ref="STDOUT" />
- </root>
-
- <logger name="org.onap.policy.clamp.controlloop.runtime" level="trace" additivity="false">
- <appender-ref ref="STDOUT" />
- </logger>
-</configuration>
diff --git a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopElementsNotFound.json b/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopElementsNotFound.json
deleted file mode 100644
index faea7cd48..000000000
--- a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopElementsNotFound.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "controlLoopList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c20": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
- "definition": {
- "name": "org.onap.domain.pmsh.DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c23": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 0 control loop"
- }
- }
- },
- {
- "name": "PMSHInstance1",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 1",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c24": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c24",
- "definition": {
- "name": "org.onap.domain.pmsh.DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c25": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c25",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c26": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c26",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c27": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c27",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 1 control loop"
- }
- }
- }
- ]
-}
diff --git a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoops.json b/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoops.json
deleted file mode 100644
index 64443ff62..000000000
--- a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoops.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- "controlLoopList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c20": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c23": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 0 control loop"
- }
- }
- },
- {
- "name": "PMSHInstance1",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 1",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c24": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c24",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c25": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c25",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c26": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c26",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c27": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c27",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 1 control loop"
- }
- }
- }
- ]
-}
diff --git a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsNotFound.json b/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsNotFound.json
deleted file mode 100644
index 9e9767472..000000000
--- a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsNotFound.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "controlLoopList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c20": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c23": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 0 control loop"
- }
- }
- },
- {
- "name": "PMSHInstance1",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 1",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c24": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c24",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c25": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c25",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c26": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c26",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c27": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c27",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 1 control loop"
- }
- }
- }
- ]
-}
diff --git a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsSmoke.json b/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsSmoke.json
deleted file mode 100644
index 47f379b84..000000000
--- a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsSmoke.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- "controlLoopList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c20": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
- "definition": {
- "name": "org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c23": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
- "definition": {
- "name": "org.onap.domain.database.PMSH_K8SMicroserviceControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 0 control loop"
- }
- }
- },
- {
- "name": "PMSHInstance1",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 1",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c24": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c24",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c25": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c25",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c26": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c26",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c27": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c27",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 1 control loop"
- }
- }
- }
- ]
-}
diff --git a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsUpdate.json b/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsUpdate.json
deleted file mode 100644
index b09e46fe7..000000000
--- a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsUpdate.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- "controlLoopList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 1",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c23": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c24": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c24",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 0 control loop"
- }
- }
- },
- {
- "name": "PMSHInstance1",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 1",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c25": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c25",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c26": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c26",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c27": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c27",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c28": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c28",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantId": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 1 control loop"
- }
- }
- }
- ]
-}
diff --git a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsVersionNotMatches.json b/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsVersionNotMatches.json
deleted file mode 100644
index 76131afc1..000000000
--- a/runtime-controlloop/src/test/resources/rest/controlloops/ControlLoopsVersionNotMatches.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "controlLoopList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 0",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c20": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c21": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c22": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c23": {
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 0 control loop"
- }
- }
- },
- {
- "name": "PMSHInstance1",
- "version": "1.0.1",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
- "version": "1.2.3"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "PMSH control loop instance 1",
- "elements": {
- "709c62b3-8918-41b9-a747-d21eb79c6c24": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c24",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_DCAEMicroservice",
- "version": "1.0.0"
- },
- "participantType": {
- "name": "org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant",
- "version": "2.3.4"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "DCAE Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c25": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c25",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Monitoring Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c26": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c26",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant",
- "version": "2.3.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "Operational Policy Control Loop Element for the PMSH instance 1 control loop"
- },
- "709c62b3-8918-41b9-a747-d21eb79c6c27": {
- "id": "709c62b3-8918-41b9-a747-e21eb79c6c27",
- "definition": {
- "name": "org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement",
- "version": "1.2.3"
- },
- "participantType": {
- "name": "org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant",
- "version": "2.2.1"
- },
- "state": "UNINITIALISED",
- "orderedState": "UNINITIALISED",
- "description": "CDS Control Loop Element for the PMSH instance 1 control loop"
- }
- }
- }
- ]
-}
diff --git a/runtime-controlloop/src/test/resources/rest/controlloops/PassiveCommand.json b/runtime-controlloop/src/test/resources/rest/controlloops/PassiveCommand.json
deleted file mode 100644
index 9c87e43b6..000000000
--- a/runtime-controlloop/src/test/resources/rest/controlloops/PassiveCommand.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "orderedState": "PASSIVE",
- "controlLoopIdentifierList": [
- {
- "name": "PMSHInstance0",
- "version": "1.0.1"
- },
- {
- "name": "PMSHInstance1",
- "version": "1.0.1"
- }
- ]
-}
diff --git a/runtime-controlloop/src/test/resources/rest/monitoring/TestClElementStatistics.json b/runtime-controlloop/src/test/resources/rest/monitoring/TestClElementStatistics.json
deleted file mode 100644
index 21a048ff0..000000000
--- a/runtime-controlloop/src/test/resources/rest/monitoring/TestClElementStatistics.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "clElementStatistics":[
- {
- "participantId":{
- "name":"name1",
- "version":"1.001"
- },
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
- "timeStamp": "2021-01-10T13:45:00.000Z",
- "controlLoopState": "UNINITIALISED",
- "clElementUptime":250
- },
- {
- "participantId":{
- "name":"name1",
- "version":"1.001"
- },
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
- "timeStamp": "2021-01-10T15:45:00.000Z",
- "controlLoopState": "UNINITIALISED",
- "clElementUptime":450
- },
- {
- "participantId":{
- "name":"name2",
- "version":"1.001"
- },
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "timeStamp": "2021-01-10T14:25:00.000Z",
- "controlLoopState": "UNINITIALISED",
- "clElementUptime":330
- },
- {
- "participantId":{
- "name":"name2",
- "version":"1.001"
- },
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
- "timeStamp": "2021-01-10T16:35:00.000Z",
- "controlLoopState": "UNINITIALISED",
- "clElementUptime":650
- }
- ]
-} \ No newline at end of file
diff --git a/runtime-controlloop/src/test/resources/rest/monitoring/TestClElementStatistics_Invalid.json b/runtime-controlloop/src/test/resources/rest/monitoring/TestClElementStatistics_Invalid.json
deleted file mode 100644
index 2cf2619bf..000000000
--- a/runtime-controlloop/src/test/resources/rest/monitoring/TestClElementStatistics_Invalid.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "clElementStatisticsList":[
- {
- "participantId":{
- "name":"name1",
- "version":"1.001"
- },
- "id": "709c62b3-8918-41b9-a747-d21eb79c6c20",
- "controlLoopState": "UNINITIALISED",
- "clElementUptime":250
- }
- ]
-} \ No newline at end of file
diff --git a/runtime-controlloop/src/test/resources/rest/monitoring/TestParticipantStatistics.json b/runtime-controlloop/src/test/resources/rest/monitoring/TestParticipantStatistics.json
deleted file mode 100644
index acd88e24b..000000000
--- a/runtime-controlloop/src/test/resources/rest/monitoring/TestParticipantStatistics.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "statisticsList":[
- {
- "participantId":{
- "name":"name1",
- "version":"1.001"
- },
- "timeStamp": "2021-01-10T13:45:00.000Z",
- "state": "PASSIVE",
- "healthStatus": "HEALTHY",
- "eventCount":250,
- "lastExecutionTime":100,
- "averageExecutionTime":90,
- "upTime":1000,
- "lastStart":3000
- },
- {
- "participantId":{
- "name":"name1",
- "version":"1.001"
- },
- "timeStamp": "2021-01-10T15:45:00.000Z",
- "state": "PASSIVE",
- "healthStatus": "HEALTHY",
- "eventCount":262,
- "lastExecutionTime":100,
- "averageExecutionTime":90,
- "upTime":2000,
- "lastStart":3000
- },
- {
- "participantId":{
- "name":"name2",
- "version":"1.001"
- },
- "timeStamp": "2021-01-27T14:25:00.000Z",
- "state": "PASSIVE",
- "healthStatus": "HEALTHY",
- "eventCount":245,
- "lastExecutionTime":1020,
- "averageExecutionTime":85,
- "upTime":1050,
- "lastStart":3100
- }
- ]
-} \ No newline at end of file
diff --git a/runtime-controlloop/src/test/resources/rest/monitoring/TestParticipantStatistics_Invalid.json b/runtime-controlloop/src/test/resources/rest/monitoring/TestParticipantStatistics_Invalid.json
deleted file mode 100644
index 7281822f0..000000000
--- a/runtime-controlloop/src/test/resources/rest/monitoring/TestParticipantStatistics_Invalid.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "participantStatisticsList":[
- {
- "participantId":{
- "name":"name3",
- "version":"1.001"
- },
- "state": "PASSIVE",
- "eventCount":250,
- "lastExecutionTime":100,
- "averageExecutionTime":90,
- "upTime":1000,
- "lastStart":3000
- }
- ]
-} \ No newline at end of file
diff --git a/runtime-controlloop/src/test/resources/rest/servicetemplates/PMSHMultipleCLTosca.yaml b/runtime-controlloop/src/test/resources/rest/servicetemplates/PMSHMultipleCLTosca.yaml
deleted file mode 100644
index 9acff1356..000000000
--- a/runtime-controlloop/src/test/resources/rest/servicetemplates/PMSHMultipleCLTosca.yaml
+++ /dev/null
@@ -1,232 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-data_types:
- onap.datatypes.ToscaConceptIdentifier:
- derived_from: tosca.datatypes.Root
- properties:
- name:
- type: string
- required: true
- version:
- type: string
- required: true
-node_types:
- org.onap.policy.clamp.controlloop.Participant:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- org.onap.policy.clamp.controlloop.ControlLoopElement:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- participantType:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- startPhase:
- type: integer
- required: false
- constraints:
- - greater-or-equal: 0
- metadata:
- common: true
- description: A value indicating the start phase in which this control loop element will be started, the
- first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
- in reverse start phase order. Control Loop Elements with the same start phase are started and
- stopped simultaneously
- org.onap.policy.clamp.controlloop.ControlLoop:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- elements:
- type: list
- required: true
- entry_schema:
- type: onap.datatypes.ToscaConceptIdentifier
- org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- dcae_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- org.onap.policy.clamp.controlloop.CDSControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- cds_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
-topology_template:
- node_templates:
- org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.policy.controlloop.PolicyControlLoopParticipant:
- version: 2.2.1
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant:
- version: 2.2.1
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.domain.pmsh.PMSH_DCAEMicroservice:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
- version: 2.3.4
- dcae_blueprint_id:
- name: org.onap.dcae.blueprints.PMSHBlueprint
- version: 1.0.0
- org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the monitoring policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.2.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the operational policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.2.1
- policy_type_id:
- name: onap.policies.operational.pm-subscription-handler
- version: 1.0.0
- org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoopElement
- type_version: 1.0.0
- description: Control loop element for CDS for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
- version: 3.2.1
- cds_blueprint_id:
- name: org.onap.ccsdk.cds.PMSHCdsBlueprint
- version: 1.0.0
- org.onap.domain.pmsh.PMSHControlLoopDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoop
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- elements:
- - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement
- version: 1.2.3
- org.onap.domain.pmsh.PMSD_DCAEMicroservice:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
- version: 2.3.4
- dcae_blueprint_id:
- name: org.onap.dcae.blueprints.PMSDBlueprint
- version: 1.0.0
- org.onap.domain.pmsh.PMSD_MonitoringPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the monitoring policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.2.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- org.onap.domain.pmsh.PMSD_OperationalPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the operational policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.2.1
- policy_type_id:
- name: onap.policies.operational.pm-subscription-handler
- version: 1.0.0
- org.onap.domain.pmsh.PMSD_CDS_ControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoopElement
- type_version: 1.0.0
- description: Control loop element for CDS for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
- version: 3.2.1
- cds_blueprint_id:
- name: org.onap.ccsdk.cds.PMSDCdsBlueprint
- version: 1.0.0
- org.onap.domain.pmsh.PMSDControlLoopDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoop
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- elements:
- - name: org.onap.domain.pmsh.PMSD_DCAEMicroservice
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSD_MonitoringPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSD_OperationalPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSD_CDS_ControlLoopElement
- version: 1.2.3
diff --git a/runtime-controlloop/src/test/resources/rest/servicetemplates/full-tosca-with-common-properties.yaml b/runtime-controlloop/src/test/resources/rest/servicetemplates/full-tosca-with-common-properties.yaml
deleted file mode 100644
index 4dd4f95ae..000000000
--- a/runtime-controlloop/src/test/resources/rest/servicetemplates/full-tosca-with-common-properties.yaml
+++ /dev/null
@@ -1,3546 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_1_0
-data_types:
- onap.datatypes.ToscaConceptIdentifier:
- derived_from: tosca.datatypes.Root
- properties:
- name:
- type: string
- required: true
- version:
- type: string
- required: true
- org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo:
- name: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- properties:
- consulUrl:
- name: consulUrl
- type: string
- typeVersion: 0.0.0
- description: Consul url for this entry
- required: true
- consul_body:
- name: consulBody
- type: string
- typeVersion: 0.0.0
- description: Body of Consul entry
- required: true
- onap.datatype.controlloop.Target:
- derived_from: tosca.datatypes.Root
- description: Definition for a entity in A&AI to perform a control loop operation on
- properties:
- targetType:
- type: string
- description: Category for the target type
- required: true
- constraints:
- - valid_values:
- - VNF
- - VM
- - VFMODULE
- - PNF
- entityIds:
- type: map
- description: |
- Map of values that identify the resource. If none are provided, it is assumed that the
- entity that generated the ONSET event will be the target.
- required: false
- metadata:
- clamp_possible_values: ClampExecution:CSAR_RESOURCES
- entry_schema:
- type: string
- onap.datatype.controlloop.Actor:
- derived_from: tosca.datatypes.Root
- description: An actor/operation/target definition
- properties:
- actor:
- type: string
- description: The actor performing the operation.
- required: true
- metadata:
- clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor
- operation:
- type: string
- description: The operation the actor is performing.
- metadata:
- clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation
- required: true
- target:
- type: onap.datatype.controlloop.Target
- description: The resource the operation should be performed on.
- required: true
- payload:
- type: map
- description: Name/value pairs of payload information passed by Policy to the actor
- required: false
- metadata:
- clamp_possible_values: ClampExecution:CDS/payload
- entry_schema:
- type: string
- onap.datatype.controlloop.Operation:
- derived_from: tosca.datatypes.Root
- description: An operation supported by an actor
- properties:
- id:
- type: string
- description: Unique identifier for the operation
- required: true
- description:
- type: string
- description: A user-friendly description of the intent for the operation
- required: false
- operation:
- type: onap.datatype.controlloop.Actor
- description: The definition of the operation to be performed.
- required: true
- timeout:
- type: integer
- description: The amount of time for the actor to perform the operation.
- required: true
- retries:
- type: integer
- description: The number of retries the actor should attempt to perform the operation.
- required: true
- default: 0
- success:
- type: string
- description: Points to the operation to invoke on success. A value of "final_success" indicates and end to the operation.
- required: false
- default: final_success
- failure:
- type: string
- description: Points to the operation to invoke on Actor operation failure.
- required: false
- default: final_failure
- failure_timeout:
- type: string
- description: Points to the operation to invoke when the time out for the operation occurs.
- required: false
- default: final_failure_timeout
- failure_retries:
- type: string
- description: Points to the operation to invoke when the current operation has exceeded its max retries.
- required: false
- default: final_failure_retries
- failure_exception:
- type: string
- description: Points to the operation to invoke when the current operation causes an exception.
- required: false
- default: final_failure_exception
- failure_guard:
- type: string
- description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.
- required: false
- default: final_failure_guard
- onap.datatypes.monitoring.managedObjectDNsBasic:
- constraints: []
- properties:
- DN:
- name: DN
- type: string
- typeVersion: 0.0.0
- description: Managed object distinguished name
- required: true
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.managedObjectDNsBasic
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.managedObjectDNsBasics:
- constraints: []
- properties:
- managedObjectDNsBasic:
- name: managedObjectDNsBasic
- type: map
- typeVersion: 0.0.0
- description: Managed object distinguished name object
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.managedObjectDNsBasic
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.managedObjectDNsBasics
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementGroup:
- constraints: []
- properties:
- measurementTypes:
- name: measurementTypes
- type: list
- typeVersion: 0.0.0
- description: List of measurement types
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementTypes
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- managedObjectDNsBasic:
- name: managedObjectDNsBasic
- type: list
- typeVersion: 0.0.0
- description: List of managed object distinguished names
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.managedObjectDNsBasics
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementGroup
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementGroups:
- constraints: []
- properties:
- measurementGroup:
- name: measurementGroup
- type: map
- typeVersion: 0.0.0
- description: Measurement Group
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementGroup
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementGroups
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementType:
- constraints: []
- properties:
- measurementType:
- name: measurementType
- type: string
- typeVersion: 0.0.0
- description: Measurement type
- required: true
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementType
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementTypes:
- constraints: []
- properties:
- measurementType:
- name: measurementType
- type: map
- typeVersion: 0.0.0
- description: Measurement type object
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementType
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementTypes
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.nfFilter:
- constraints: []
- properties:
- modelNames:
- name: modelNames
- type: list
- typeVersion: 0.0.0
- description: List of model names
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- modelInvariantIDs:
- name: modelInvariantIDs
- type: list
- typeVersion: 0.0.0
- description: List of model invariant IDs
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- modelVersionIDs:
- name: modelVersionIDs
- type: list
- typeVersion: 0.0.0
- description: List of model version IDs
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- nfNames:
- name: nfNames
- type: list
- typeVersion: 0.0.0
- description: List of network functions
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.nfFilter
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.subscription:
- constraints: []
- properties:
- measurementGroups:
- name: measurementGroups
- type: list
- typeVersion: 0.0.0
- description: Measurement Groups
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementGroups
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- fileBasedGP:
- name: fileBasedGP
- type: integer
- typeVersion: 0.0.0
- description: File based granularity period
- required: true
- constraints: []
- metadata: {}
- fileLocation:
- name: fileLocation
- type: string
- typeVersion: 0.0.0
- description: ROP file location
- required: true
- constraints: []
- metadata: {}
- subscriptionName:
- name: subscriptionName
- type: string
- typeVersion: 0.0.0
- description: Name of the subscription
- required: true
- constraints: []
- metadata: {}
- administrativeState:
- name: administrativeState
- type: string
- typeVersion: 0.0.0
- description: State of the subscription
- required: true
- constraints:
- - valid_values:
- - LOCKED
- - UNLOCKED
- metadata: {}
- nfFilter:
- name: nfFilter
- type: map
- typeVersion: 0.0.0
- description: Network function filter
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.nfFilter
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.subscription
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
-policy_types:
- onap.policies.Monitoring:
- derived_from: tosca.policies.Root
- description: a base policy type for all policies that govern monitoring provisioning
- version: 1.0.0
- name: onap.policies.Monitoring
- onap.policies.Sirisha:
- derived_from: tosca.policies.Root
- description: a base policy type for all policies that govern monitoring provisioning
- version: 1.0.0
- name: onap.policies.Sirisha
- onap.policies.monitoring.dcae-pm-subscription-handler:
- properties:
- pmsh_policy:
- name: pmsh_policy
- type: onap.datatypes.monitoring.subscription
- typeVersion: 0.0.0
- description: PMSH Policy JSON
- required: false
- constraints: []
- metadata: {}
- name: onap.policies.monitoring.dcae-pm-subscription-handler
- version: 1.0.0
- derived_from: onap.policies.Monitoring
- metadata: {}
- onap.policies.controlloop.operational.Common:
- derived_from: tosca.policies.Root
- version: 1.0.0
- name: onap.policies.controlloop.operational.Common
- description: |
- Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant
- Policy Types. This does NOT support the legacy Policy YAML policy type.
- properties:
- id:
- type: string
- description: The unique control loop id.
- required: true
- timeout:
- type: integer
- description: |
- Overall timeout for executing all the operations. This timeout should equal or exceed the total
- timeout for each operation listed.
- required: true
- abatement:
- type: boolean
- description: Whether an abatement event message will be expected for the control loop from DCAE.
- required: true
- default: false
- trigger:
- type: string
- description: Initial operation to execute upon receiving an Onset event message for the Control Loop.
- required: true
- operations:
- type: list
- description: List of operations to be performed when Control Loop is triggered.
- required: true
- entry_schema:
- type: onap.datatype.controlloop.Operation
- onap.policies.controlloop.operational.common.Apex:
- derived_from: onap.policies.controlloop.operational.Common
- type_version: 1.0.0
- version: 1.0.0
- name: onap.policies.controlloop.operational.common.Apex
- description: Operational policies for Apex PDP
- properties:
- engineServiceParameters:
- type: string
- description: The engine parameters like name, instanceCount, policy implementation, parameters etc.
- required: true
- eventInputParameters:
- type: string
- description: The event input parameters.
- required: true
- eventOutputParameters:
- type: string
- description: The event output parameters.
- required: true
- javaProperties:
- type: string
- description: Name/value pairs of properties to be set for APEX if needed.
- required: false
-node_types:
- org.onap.policy.clamp.controlloop.Participant:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- org.onap.policy.clamp.controlloop.ControlLoopElement:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- required: false
- metadata:
- common: true
- description: Specifies the organization that provides the control loop element
- participantType:
- type: onap.datatypes.ToscaConceptIdentifier
- required: true
- metadata:
- common: true
- description: The identity of the participant type that hosts this type of Control Loop Element
- startPhase:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- metadata:
- common: true
- description: A value indicating the start phase in which this control loop element will be started, the
- first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
- in reverse start phase order. Control Loop Elements with the same start phase are started and
- stopped simultaneously
- uninitializedToPassiveTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: The maximum time in seconds to wait for a state chage from uninitialized to passive
- passiveToRunningTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: The maximum time in seconds to wait for a state chage from passive to running
- runningToPassiveTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: The maximum time in seconds to wait for a state chage from running to passive
- passiveToUninitializedTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: The maximum time in seconds to wait for a state chage from passive to uninitialized
- org.onap.policy.clamp.controlloop.ControlLoop:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- required: false
- metadata:
- common: true
- description: Specifies the organization that provides the control loop element
- elements:
- type: list
- required: true
- metadata:
- common: true
- entry_schema:
- type: onap.datatypes.ToscaConceptIdentifier
- description: Specifies a list of control loop element definitions that make up this control loop definition
- org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- dcae_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- dcae_blueprint:
- type: onap.dcae.cloudify_blueprint
- requred: false
- consul_info:
- type: list
- required: false
- entry_schema:
- type: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo
- org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.controlloop.CDSControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- cds_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
-topology_template:
- inputs:
- pmsh_monitoring_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH monitoring policy to use
- default:
- name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- version: 1.0.0
- pmsh_operational_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH operational policy to use
- default:
- name: operational.apex.pmcontrol
- version: 1.0.0
- node_templates:
- org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.policy.controlloop.PolicyControlLoopParticipant:
- version: 2.3.1
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.domain.pmsh.PMSH_DCAEMicroservice:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
- version: 2.3.4
- dcae_blueprint:
- tosca_definitions_version: cloudify_dsl_1_3
- imports:
- - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
- - plugin:k8splugin?version=3.7.0
- - plugin:pgaas?version=1.3.0
- - plugin:clamppolicyplugin?version=1.1.0
- inputs:
- tag_version:
- type: string
- description: Docker image to be used
- default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.1.2
- replicas:
- type: integer
- description: Number of instances
- default: 1
- operational_policy_name:
- type: string
- default: operational.apex.pmcontrol
- control_loop_name:
- type: string
- default: pmsh-control-loop
- pmsh_publish_topic_name:
- type: string
- default: unauthenticated.DCAE_CL_OUTPUT
- policy_feedback_topic_name:
- type: string
- default: unauthenticated.PMSH_CL_INPUT
- aai_notification_topic_name:
- type: string
- default: AAI-EVENT
- publisher_client_role:
- type: string
- description: Client role to request secure access to topic
- default: org.onap.dcae.pmPublisher
- subscriber_client_role:
- type: string
- description: Client role to request secure access to topic
- default: org.onap.dcae.pmSubscriber
- dcae_location:
- type: string
- description: DCAE location for the subscriber, used to set up routing
- default: san-francisco
- cpu_limit:
- type: string
- default: 1000m
- cpu_request:
- type: string
- default: 1000m
- memory_limit:
- type: string
- default: 1024Mi
- memory_request:
- type: string
- default: 1024Mi
- pgaas_cluster_name:
- type: string
- default: dcae-pg-primary.onap
- enable_tls:
- type: boolean
- default: true
- protocol:
- type: string
- description: PMSH protocol. If enable_tls is false, set to http
- default: https
- policy_model_id:
- type: string
- default: onap.policies.monitoring.dcae-pm-subscription-handler
- policy_id:
- type: string
- default: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- node_templates:
- pgaasvm:
- type: dcae.nodes.pgaas.database
- properties:
- writerfqdn:
- get_input: pgaas_cluster_name
- name: pmsh
- pmsh:
- type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
- interfaces:
- cloudify.interfaces.lifecycle:
- create:
- inputs:
- ports:
- - '8443:0'
- envs:
- PMSH_PG_URL:
- get_attribute:
- - pgaasvm
- - admin
- - host
- PMSH_PG_PASSWORD:
- get_attribute:
- - pgaasvm
- - admin
- - password
- PMSH_PG_USERNAME:
- get_attribute:
- - pgaasvm
- - admin
- - user
- PMSH_DB_NAME:
- get_attribute:
- - pgaasvm
- - admin
- - database
- relationships:
- - target: pmsh-policy
- type: cloudify.relationships.depends_on
- properties:
- service_component_type: dcae-pmsh
- service_component_name_override: dcae-pmsh
- application_config:
- enable_tls:
- get_input: enable_tls
- aaf_identity: dcae@dcae.onap.org
- aaf_password: demo123456!
- operational_policy_name:
- get_input: operational_policy_name
- control_loop_name:
- get_input: control_loop_name
- cert_path: /opt/app/pmsh/etc/certs/cert.pem
- key_path: /opt/app/pmsh/etc/certs/key.pem
- ca_cert_path: /opt/app/pmsh/etc/certs/cacert.pem
- streams_publishes:
- policy_pm_publisher:
- type: message_router
- dmaap_info:
- topic_url:
- concat:
- - http://message-router:3904/events/
- - get_input: pmsh_publish_topic_name
- streams_subscribes:
- policy_pm_subscriber:
- type: message_router
- dmaap_info:
- topic_url:
- concat:
- - http://message-router:3904/events/
- - get_input: policy_feedback_topic_name
- aai_subscriber:
- type: message_router
- dmaap_info:
- topic_url:
- concat:
- - http://message-router:3904/events/
- - get_input: aai_notification_topic_name
- resource_config:
- limits:
- cpu:
- get_input: cpu_limit
- memory:
- get_input: memory_limit
- requests:
- cpu:
- get_input: cpu_request
- memory:
- get_input: memory_request
- docker_config:
- healthcheck:
- endpoint: /healthcheck
- interval: 15s
- timeout: 1s
- type:
- get_input: protocol
- image:
- get_input: tag_version
- replicas:
- get_input: replicas
- log_info:
- log_directory: /var/log/ONAP/dcaegen2/services/pmsh
- tls_info:
- cert_directory: /opt/app/pmsh/etc/certs
- use_tls:
- get_input: enable_tls
- pmsh-policy:
- type: clamp.nodes.policy
- properties:
- policy_model_id:
- get_input: policy_model_id
- policy_id:
- get_input: policy_id
- consul_info:
- - consulUrl: http://consul:31321/v1/kv/dcae-pmsh:policy
- consulBody:
- subscription:
- subscriptionName: subscriptiona
- administrativeState: UNLOCKED
- fileBasedGP: 15
- fileLocation: /pm/pm.xml
- nfFilter:
- nfNames:
- - ^pnf1.*
- modelInvariantIDs:
- - 5845y423-g654-6fju-po78-8n53154532k6
- - 7129e420-d396-4efb-af02-6b83499b12f8
- modelVersionIDs:
- - e80a6ae3-cafd-4d24-850d-e14c084a5ca9
- measurementGroups:
- - measurementGroup:
- measurementTypes:
- - measurementType: countera
- - measurementType: counterb
- managedObjectDNsBasic:
- - DN: dna
- - DN: dnb
- - measurementGroup:
- measurementTypes:
- - measurementType: counterc
- - measurementType: counterd
- managedObjectDNsBasic:
- - DN: dnc
- - DN: dnd
- org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the monitoring policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_monitoring_policy
- org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the operational policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.operational.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_operational_policy
- org.onap.domain.pmsh.DerivedPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- elements:
- - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
- version: 1.2.3
- org.onap.domain.pmsh.DerivedDerivedPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson Software Technologies
- elements:
- - name: org.onap.domain.pmsh.PMSH_DerivedTestMicroservice
- version: 1.2.3
- org.onap.domain.pmsh.PMSHControlLoopDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoop
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- elements:
- - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
- version: 1.2.3
- policies:
- - MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test:
- type: onap.policies.monitoring.dcae-pm-subscription-handler
- type_version: 1.0.0
- name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- version: 1.0.0
- metadata:
- policy-id: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- policy-version: 1.0.0
- properties:
- pmsh_policy:
- fileBasedGP: 15
- fileLocation: /pm/pm.xml
- subscriptionName: subscriptiona
- administrativeState: UNLOCKED
- nfFilter:
- onap.datatypes.monitoring.nfFilter:
- modelVersionIDs:
- - e80a6ae3-cafd-4d24-850d-e14c084a5ca9
- modelInvariantIDs:
- - 5845y423-g654-6fju-po78-8n53154532k6
- - 7129e420-d396-4efb-af02-6b83499b12f8
- modelNames: []
- nfNames:
- - '"^pnf1.*"'
- measurementGroups:
- - measurementGroup:
- onap.datatypes.monitoring.measurementGroup:
- measurementTypes:
- - measurementType:
- onap.datatypes.monitoring.measurementType:
- measurementType: countera
- - measurementType:
- onap.datatypes.monitoring.measurementType:
- measurementType: counterb
- managedObjectDNsBasic:
- - managedObjectDNsBasic:
- onap.datatypes.monitoring.managedObjectDNsBasic:
- DN: dna
- - managedObjectDNsBasic:
- onap.datatypes.monitoring.managedObjectDNsBasic:
- DN: dnb
- - measurementGroup:
- onap.datatypes.monitoring.measurementGroup:
- measurementTypes:
- - measurementType:
- onap.datatypes.monitoring.measurementType:
- measurementType: counterc
- - measurementType:
- onap.datatypes.monitoring.measurementType:
- measurementType: counterd
- managedObjectDNsBasic:
- - managedObjectDNsBasic:
- onap.datatypes.monitoring.managedObjectDNsBasic:
- DN: dnc
- - managedObjectDNsBasic:
- onap.datatypes.monitoring.managedObjectDNsBasic:
- DN: dnd
- - operational.apex.pmcontrol:
- type: onap.policies.controlloop.operational.common.Apex
- type_version: 1.0.0
- version: 1.0.0
- metadata:
- policy-id: operational.apex.pmcontrol
- policy-version: 1
- properties:
- engineServiceParameters:
- name: MyApexEngine
- version: 0.0.1
- id: 45
- instanceCount: 2
- deploymentPort: 12561
- policy_type_impl:
- apexPolicyModel:
- key:
- name: PMControlPolicy
- version: 0.0.1
- keyInformation:
- key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- keyInfoMap:
- entry:
- - key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- value:
- key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82
- description: Generated description for concept referred to by key "CDSActionIdentifiersType:0.0.1"
- - key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad
- description: Generated description for concept referred to by key "CDSCreateResponseEvent:0.0.1"
- - key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13
- description: Generated description for concept referred to by key "CDSCreateResponsePayloadType:0.0.1"
- - key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c
- description: Generated description for concept referred to by key "CDSCreateResponsePolicy:0.0.1"
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseTask
- version: 0.0.1
- UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2
- description: Generated description for concept referred to by key "CDSCreateResponseTask:0.0.1"
- - key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60
- description: Generated description for concept referred to by key "CDSCreateSubscriptionPayloadType:0.0.1"
- - key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2
- description: Generated description for concept referred to by key "CDSCreateSubscriptionRequestEvent:0.0.1"
- - key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8
- description: Generated description for concept referred to by key "CDSDeleteResponseEvent:0.0.1"
- - key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0
- description: Generated description for concept referred to by key "CDSDeleteResponsePayloadType:0.0.1"
- - key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- UUID: a780251c-edd5-3132-b865-04313246b43c
- description: Generated description for concept referred to by key "CDSDeleteResponsePolicy:0.0.1"
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc
- description: Generated description for concept referred to by key "CDSDeleteResponseTask:0.0.1"
- - key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b
- description: Generated description for concept referred to by key "CDSDeleteSubscriptionPayloadType:0.0.1"
- - key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9
- description: Generated description for concept referred to by key "CDSDeleteSubscriptionRequestEvent:0.0.1"
- - key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1
- description: Generated description for concept referred to by key "CDSRequestCommonHeaderType:0.0.1"
- - key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c
- description: Generated description for concept referred to by key "CDSResponseCommonHeaderType:0.0.1"
- - key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- UUID: 7986e21b-32f7-302e-9554-31f21b673493
- description: Generated description for concept referred to by key "CDSResponseStatusEvent:0.0.1"
- - key:
- name: CDSResponseStatusType
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusType
- version: 0.0.1
- UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa
- description: Generated description for concept referred to by key "CDSResponseStatusType:0.0.1"
- - key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a
- description: Generated description for concept referred to by key "CreateSubscriptionPayloadEvent:0.0.1"
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d
- description: Generated description for concept referred to by key "CreateSubscriptionPayloadTask:0.0.1"
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869
- description: Generated description for concept referred to by key "CreateSubscriptionRequestTask:0.0.1"
- - key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074
- description: Generated description for concept referred to by key "DeleteSubscriptionPayloadEvent:0.0.1"
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- UUID: 0f519117-5fea-3e4b-941f-8f778100465f
- description: Generated description for concept referred to by key "DeleteSubscriptionPayloadTask:0.0.1"
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- UUID: acb772fe-d442-39e3-98f9-b1080caf4150
- description: Generated description for concept referred to by key "DeleteSubscriptionRequestTask:0.0.1"
- - key:
- name: MRResponseEvent
- version: 0.0.1
- value:
- key:
- name: MRResponseEvent
- version: 0.0.1
- UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194
- description: Generated description for concept referred to by key "MRResponseEvent:0.0.1"
- - key:
- name: PMControlPolicy
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy
- version: 0.0.1
- UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4
- description: Generated description for concept referred to by key "PMControlPolicy:0.0.1"
- - key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b
- description: Generated description for concept referred to by key "PMControlPolicy_Albums:0.0.1"
- - key:
- name: PMControlPolicy_Events
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Events
- version: 0.0.1
- UUID: be3871a0-c42a-3113-a066-82d192840eca
- description: Generated description for concept referred to by key "PMControlPolicy_Events:0.0.1"
- - key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- UUID: ced37634-28a4-3178-b7f6-2980794927b0
- description: Generated description for concept referred to by key "PMControlPolicy_KeyInfo:0.0.1"
- - key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed
- description: Generated description for concept referred to by key "PMControlPolicy_Policies:0.0.1"
- - key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- UUID: e61973f1-189c-39e5-82f6-0d3afe298a20
- description: Generated description for concept referred to by key "PMControlPolicy_Schemas:0.0.1"
- - key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a
- description: Generated description for concept referred to by key "PMControlPolicy_Tasks:0.0.1"
- - key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- UUID: c2bd6f0d-6854-317a-9be2-97c08338428c
- description: Generated description for concept referred to by key "PMSubscriptionAlbum:0.0.1"
- - key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05
- description: Generated description for concept referred to by key "PMSubscriptionOutputEvent:0.0.1"
- - key:
- name: PMSubscriptionType
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionType
- version: 0.0.1
- UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae
- description: Generated description for concept referred to by key "PMSubscriptionType:0.0.1"
- - key:
- name: ReceiveEventPolicy
- version: 0.0.1
- value:
- key:
- name: ReceiveEventPolicy
- version: 0.0.1
- UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1
- description: Generated description for concept referred to by key "ReceiveEventPolicy:0.0.1"
- - key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- UUID: f596afc8-100c-35eb-92c8-352355ea457d
- description: Generated description for concept referred to by key "ReceiveSubscriptionTask:0.0.1"
- - key:
- name: SimpleIntType
- version: 0.0.1
- value:
- key:
- name: SimpleIntType
- version: 0.0.1
- UUID: 153791fd-ae0a-36a7-88a5-309a7936415d
- description: Generated description for concept referred to by key "SimpleIntType:0.0.1"
- - key:
- name: SimpleStringType
- version: 0.0.1
- value:
- key:
- name: SimpleStringType
- version: 0.0.1
- UUID: 8a4957cf-9493-3a76-8c22-a208e23259af
- description: Generated description for concept referred to by key "SimpleStringType:0.0.1"
- - key:
- name: SubscriptionStatusType
- version: 0.0.1
- value:
- key:
- name: SubscriptionStatusType
- version: 0.0.1
- UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b
- description: Generated description for concept referred to by key "SubscriptionStatusType:0.0.1"
- - key:
- name: SubscriptionType
- version: 0.0.1
- value:
- key:
- name: SubscriptionType
- version: 0.0.1
- UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce
- description: Generated description for concept referred to by key "SubscriptionType:0.0.1"
- - key:
- name: UUIDType
- version: 0.0.1
- value:
- key:
- name: UUIDType
- version: 0.0.1
- UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c
- description: Generated description for concept referred to by key "UUIDType:0.0.1"
- - key:
- name: pmsh-operational-policy
- version: 0.0.1
- value:
- key:
- name: pmsh-operational-policy
- version: 0.0.1
- UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d
- description: Generated description for concept referred to by key "pmsh-operational-policy:0.0.1"
- policies:
- key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- policyMap:
- entry:
- - key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- value:
- policyKey:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CDSCreateResponseState
- value:
- stateKey:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CDSCreateResponseState
- trigger:
- name: CDSCreateResponseEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ResponseOutput
- value:
- key:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: ResponseOutput
- outgoingEvent:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference: []
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: []
- defaultTask:
- name: CDSCreateResponseTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: CDSCreateResponsePolicy
- outputType: DIRECT
- output:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: ResponseOutput
- firstState: CDSCreateResponseState
- - key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- value:
- policyKey:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CDSDeleteResponseState
- value:
- stateKey:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CDSDeleteResponseState
- trigger:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ResponseOutput
- value:
- key:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: ResponseOutput
- outgoingEvent:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference: []
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: []
- defaultTask:
- name: CDSDeleteResponseTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: CDSDeleteResponsePolicy
- outputType: DIRECT
- output:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: ResponseOutput
- firstState: CDSDeleteResponseState
- - key:
- name: ReceiveEventPolicy
- version: 0.0.1
- value:
- policyKey:
- name: ReceiveEventPolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CreateOrDeleteState
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateOrDeleteState
- trigger:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: CreateSubscriptionPayload
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: CreateSubscriptionPayload
- outgoingEvent:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateSubscription
- - key: DeleteSubscriptionPayload
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: DeleteSubscriptionPayload
- outgoingEvent:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: DeleteSubscription
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: TaskSelectionLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
- var changeType = pmSubscriptionInfo.get("changeType").toString()
-
- executor.logger.info("Change Type is " + changeType)
-
- if ("CREATE".equals(changeType)) {
- executor.logger.info("Choosing to create a subscription")
- executor.subject.getTaskKey("CreateSubscriptionPayloadTask").copyTo(executor.selectedTask);
- }
- else if ("DELETE".equals(changeType)) {
- executor.logger.info("Choosing to delete a subscription")
- executor.subject.getTaskKey("DeleteSubscriptionPayloadTask").copyTo(executor.selectedTask);
- }
-
- //var returnValue = executor.isTrue;
- true;
- stateFinalizerLogicMap:
- entry: []
- defaultTask:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: CreateSubscriptionPayload
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: DeleteSubscriptionPayload
- - key: CreateSubscription
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateSubscription
- trigger:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: IssueCreateSubscriptionRequestOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: IssueCreateSubscriptionRequestOutput
- outgoingEvent:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: []
- defaultTask:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: IssueCreateSubscriptionRequestOutput
- - key: DeleteSubscription
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: DeleteSubscription
- trigger:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: IssueDeleteSubscriptionRequestOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: IssueDeleteSubscriptionRequestOutput
- outgoingEvent:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: []
- defaultTask:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: IssueDeleteSubscriptionRequestOutput
- - key: ReceiveSubscriptionState
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: ReceiveSubscriptionState
- trigger:
- name: pmsh-operational-policy
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ReceivePMSubscriptionOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceivePMSubscriptionOutput
- outgoingEvent:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateOrDeleteState
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: []
- defaultTask:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceivePMSubscriptionOutput
- firstState: ReceiveSubscriptionState
- tasks:
- key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- taskMap:
- entry:
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseTask
- version: 0.0.1
- inputFields:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: []
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var commonHeader = executor.inFields.get("commonHeader")
- var response = executor.inFields.get("payload")
- var albumID = commonHeader.get("requestId")
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
- var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
-
- responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
- responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
-
- var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
-
- executor.logger.info("RESPONSE STATUS = " + status)
-
- if(status == "success") {
- responseStatus.put("message", "success")
- } else {
- responseStatus.put("message", "failed")
- }
-
- executor.outFields.put("status", responseStatus)
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- inputFields:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: []
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var commonHeader = executor.inFields.get("commonHeader")
- var response = executor.inFields.get("payload")
- var albumID = commonHeader.get("requestId")
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
- var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
-
- responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
- responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
-
- var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
-
- executor.logger.info("RESPONSE STATUS = " + status)
-
- if(status == "success") {
- responseStatus.put("message", "success")
- } else {
- responseStatus.put("message", "failed")
- }
-
- executor.outFields.put("status", responseStatus)
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- inputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: []
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
-
- var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
-
- payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
- payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
- payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
- payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
- payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
-
- var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
- payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
-
- var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
- payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
-
- executor.outFields.put("albumID", executor.inFields.get("albumID"))
- executor.outFields.put("payload", payload);
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- inputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: []
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
- var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
- var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
- var payload = executor.inFields.get("payload")
- var actionName = changeType + "-subscription"
-
- var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
- commonHeader.put("originatorId", "sdnc");
- commonHeader.put("requestId", executor.inFields.get("albumID").toString());
- commonHeader.put("subRequestId", "sub-123456-1000");
-
- var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
- actionIdentifiers.put("actionName", actionName);
- actionIdentifiers.put("blueprintName", blueprintName);
- actionIdentifiers.put("blueprintVersion", blueprintVersion);
- actionIdentifiers.put("mode", "sync");
-
- executor.outFields.put("commonHeader", commonHeader);
- executor.outFields.put("actionIdentifiers", actionIdentifiers);
- executor.outFields.put("payload", payload);
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- inputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: []
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
-
- var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
-
- payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
- payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
- payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
- payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
- payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
-
- var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
- payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
-
- var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
- payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
-
- executor.outFields.put("albumID", executor.inFields.get("albumID"))
- executor.outFields.put("payload", payload);
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- inputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: []
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
- var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
- var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
- var payload = executor.inFields.get("payload")
- var actionName = changeType + "-subscription"
-
- var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
- commonHeader.put("originatorId", "sdnc");
- commonHeader.put("requestId", executor.inFields.get("albumID").toString());
- commonHeader.put("subRequestId", "sub-123456-1000");
-
- var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
- actionIdentifiers.put("actionName", actionName);
- actionIdentifiers.put("blueprintName", blueprintName);
- actionIdentifiers.put("blueprintVersion", blueprintVersion);
- actionIdentifiers.put("mode", "sync");
-
- executor.outFields.put("commonHeader", commonHeader);
- executor.outFields.put("actionIdentifiers", actionIdentifiers);
- executor.outFields.put("payload", payload);
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- inputFields:
- entry:
- - key: blueprintName
- value:
- key: blueprintName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: blueprintVersion
- value:
- key: blueprintVersion
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: changeType
- value:
- key: changeType
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: closedLoopControlName
- value:
- key: closedLoopControlName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: nfName
- value:
- key: nfName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: policyName
- value:
- key: policyName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: subscription
- value:
- key: subscription
- fieldSchemaKey:
- name: SubscriptionType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: []
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- var uuidType = java.util.UUID;
-
- executor.logger.info(executor.subject.id);
-
- //albumID will be used to fetch info from our album later
- var albumID = uuidType.randomUUID();
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
- var returnValue = true;
-
- if(executor.inFields.get("policyName") != null) {
- executor.logger.info("nfName in receive sub event " + executor.inFields.get("nfName"));
-
- var changeType = executor.inFields.get("changeType")
- var nfName = executor.inFields.get("nfName")
- var policyName = executor.inFields.get("policyName")
- var closedLoopControlName = executor.inFields.get("closedLoopControlName")
- var subscription = executor.inFields.get("subscription")
- var blueprintName = executor.inFields.get("blueprintName")
- var blueprintVersion = executor.inFields.get("blueprintVersion")
-
- pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
- pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
- pmSubscriptionInfo.put("policyName", executor.inFields.get("policyName"))
- pmSubscriptionInfo.put("closedLoopControlName", executor.inFields.get("closedLoopControlName"))
- pmSubscriptionInfo.put("subscription", subscription)
- pmSubscriptionInfo.put("blueprintName", blueprintName)
- pmSubscriptionInfo.put("blueprintVersion", blueprintVersion)
-
-
- executor.getContextAlbum("PMSubscriptionAlbum").put(albumID.toString(), pmSubscriptionInfo);
-
- executor.outFields.put("albumID", albumID)
- } else {
- executor.message = "Received invalid event"
- returnValue = false;
- }
-
- returnValue;
- events:
- key:
- name: PMControlPolicy_Events
- version: 0.0.1
- eventMap:
- entry:
- - key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: CDS
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: CDS
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: DCAE
- parameter:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: MRResponseEvent
- version: 0.0.1
- value:
- key:
- name: MRResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: DCAE
- target: APEX
- parameter:
- entry:
- - key: count
- value:
- key: count
- fieldSchemaKey:
- name: SimpleIntType
- version: 0.0.1
- optional: false
- - key: serverTimeMs
- value:
- key: serverTimeMs
- fieldSchemaKey:
- name: SimpleIntType
- version: 0.0.1
- optional: false
- - key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key:
- name: pmsh-operational-policy
- version: 0.0.1
- value:
- key:
- name: pmsh-operational-policy
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: DCAE
- target: APEX
- parameter:
- entry:
- - key: blueprintName
- value:
- key: blueprintName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: blueprintVersion
- value:
- key: blueprintVersion
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: changeType
- value:
- key: changeType
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: closedLoopControlName
- value:
- key: closedLoopControlName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: nfName
- value:
- key: nfName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: policyName
- value:
- key: policyName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: subscription
- value:
- key: subscription
- fieldSchemaKey:
- name: SubscriptionType
- version: 0.0.1
- optional: false
- albums:
- key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- albums:
- entry:
- - key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- scope: policy
- isWritable: true
- itemSchema:
- name: PMSubscriptionType
- version: 0.0.1
- schemas:
- key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- schemas:
- entry:
- - key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- value:
- key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ActionIdentifiers_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "actionName",
- "type": "string"
- },
- {
- "name": "blueprintName",
- "type": "string"
- },
- {
- "name": "blueprintVersion",
- "type": "string"
- },
- {
- "name": "mode",
- "type": "string"
- }
- ]
- }
- - key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "name": "CreateResponsePayloadEntry",
- "type": "record",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "create_DasH_subscription_DasH_response",
- "type": {
- "name": "create_DasH_subscription_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "odl_DasH_response",
- "type": {
- "name": "odl_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "status",
- "type": "string"
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- - key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "map",
- "values": {
- "type": "record",
- "name": "CDSRequestPayloadEntry",
- "fields": [
- {
- "name": "create_DasH_subscription_DasH_properties",
- "type": {
- "name": "create_DasH_subscription_DasH_properties_record",
- "type": "record",
- "fields": [
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "administrativeState",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "string"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroups",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementGroups_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroup",
- "type": {
- "name": "measurementGroup",
- "type": "record",
- "fields": [
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementTypes_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "managedObjectDNsBasic_record",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- - key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "name": "DeleteResponsePayloadEntry",
- "type": "record",
- "namespace": "com.acme.avro",
- "fields": [
- {
- "name": "delete_DasH_subscription_DasH_response",
- "type": {
- "name": "delete_DasH_subscription_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "odl_DasH_response",
- "type": {
- "name": "odl_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "status",
- "type": "string"
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- - key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "map",
- "values": {
- "type": "record",
- "name": "CDSRequestPayloadEntry",
- "fields": [
- {
- "name": "delete_DasH_subscription_DasH_properties",
- "type": {
- "name": "delete_DasH_subscription_DasH_properties_record",
- "type": "record",
- "fields": [
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "administrativeState",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "string"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroups",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementGroups_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroup",
- "type": {
- "name": "measurementGroup",
- "type": "record",
- "fields": [
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementTypes_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "managedObjectDNsBasic_record",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- - key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "RequestCommonHeader_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "originatorId",
- "type": "string"
- },
- {
- "name": "requestId",
- "type": "string"
- },
- {
- "name": "subRequestId",
- "type": "string"
- }
- ]
- }
- - key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ResponseCommonHeader_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "originatorId",
- "type": "string"
- },
- {
- "name": "requestId",
- "type": "string"
- },
- {
- "name": "subRequestId",
- "type": "string"
- },
- {
- "name": "timestamp",
- "type": "string"
- },
- {
- "name": "flags",
- "type": ["null", "string"]
- }
- ]
- }
- - key:
- name: CDSResponseStatusType
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ResponseStatus_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "code",
- "type": "int"
- },
- {
- "name": "eventType",
- "type": "string"
- },
- {
- "name": "timestamp",
- "type": "string"
- },
- {
- "name": "message",
- "type": "string"
- }
- ]
- }
- - key:
- name: PMSubscriptionType
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: "{\n\t\"name\": \"PMSubscription\",\n\t\"type\": \"record\",\n\t\"namespace\": \"\
- org.onap.policy.apex.onap.pmcontrol\",\n\t\"fields\": [\n {\n \"name\": \"nfName\"\
- ,\n \"type\": \"string\"\n },\n\t {\n\t\t\t\"name\": \"changeType\",\n\t\t\t\"\
- type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"closedLoopControlName\",\n\t\t\t\"type\": \"\
- string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"policyName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
- {\n\t\t \"name\": \"blueprintName\",\n\t\t \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t \"name\"\
- : \"blueprintVersion\",\n\t\t \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"subscription\"\
- ,\n\t\t\t\"type\": {\n\t\t\t\t\"name\": \"subscription\",\n\t\t\t\t\"type\": \"record\",\n\t\t\t\t\
- \"fields\": [{\n\t\t\t\t\t\t\"name\": \"subscriptionName\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\
- \t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"administrativeState\",\n\t\t\t\t\t\t\"type\": \"string\"\
- \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\t\t\t\"type\": \"int\"\
- \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileLocation\",\n\t\t\t\t\t\t\"type\": \"string\"\
- \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\t\t\t\"type\": {\n\
- \t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"name\": \"Measurement_Groups_Type\"\
- ,\n\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\"\
- : \"measurementGroup\",\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"name\": \"Measurement_Group_Type\"\
- ,\n\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\
- \t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\
- \t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\
- name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
- \t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\
- \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
- \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\
- \t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\
- \t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
- \t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\"\
- ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\",\n\t\
- \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
- \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\
- \t\t\t\t}\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\
- \t}\n\t]\n}"
- - key:
- name: SimpleIntType
- version: 0.0.1
- value:
- key:
- name: SimpleIntType
- version: 0.0.1
- schemaFlavour: Java
- schemaDefinition: java.lang.Integer
- - key:
- name: SimpleStringType
- version: 0.0.1
- value:
- key:
- name: SimpleStringType
- version: 0.0.1
- schemaFlavour: Java
- schemaDefinition: java.lang.String
- - key:
- name: SubscriptionStatusType
- version: 0.0.1
- value:
- key:
- name: SubscriptionStatusType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ActivateSubscriptionStatus_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "changeType",
- "type": "string"
- },
- {
- "name": "message",
- "type": "string"
- }
- ]
- }
- - key:
- name: SubscriptionType
- version: 0.0.1
- value:
- key:
- name: SubscriptionType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: "{\n\t\"name\": \"subscription\",\n\t\"type\": \"record\",\n\t\"fields\": [{\n\t\t\
- \t\"name\": \"subscriptionName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"administrativeState\"\
- ,\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\"type\": \"\
- int\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileLocation\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
- {\n\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\"type\": {\n\t\t\t\t\"type\": \"array\",\n\t\t\t\
- \t\"items\": {\n\t\t\t\t\t\"name\": \"Measurement_Groups_Type\",\n\t\t\t\t\t\"type\": \"record\",\n\
- \t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\"name\": \"measurementGroup\",\n\t\t\t\t\t\t\"type\": {\n\t\
- \t\t\t\t\t\t\"name\": \"Measurement_Group_Type\",\n\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
- \t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\"type\"\
- : {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
- \t\t\"name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
- \t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\t\t\t\t\t\t\
- \t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\
- }\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\
- \t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\"\
- : {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"\
- type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\"\
- ,\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\
- \t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}]\n\t\t\t\t}\n\t\
- \t\t}\n\t\t}\n\t]\n}"
- - key:
- name: UUIDType
- version: 0.0.1
- value:
- key:
- name: UUIDType
- version: 0.0.1
- schemaFlavour: Java
- schemaDefinition: java.util.UUID
- engineParameters:
- executorParameters:
- JAVASCRIPT:
- parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters
- contextParameters:
- parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters
- schemaParameters:
- Avro:
- parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters
- Java:
- parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters
- jsonAdapters:
- Instant:
- adaptedClass: java.time.Instant
- adaptorClass: org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter
- eventInputParameters:
- DCAEConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTCLIENT
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
- parameters:
- consumerPollTime: '50'
- url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1
- eventProtocolParameters:
- eventProtocol: JSON
- parameters:
- nameAlias: policyName
- eventName: pmsh-operational-policy
- eventNameFilter: pmsh-operational-policy
- CDSRequestConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- parameters:
- url: http://10.10.10.184:30254/api/v1/execution-service/process
- httpMethod: POST
- restRequestTimeout: 2000
- httpHeaders:
- - - Authorization
- - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
- eventProtocolParameters:
- eventProtocol: JSON
- eventName: CDSCreateResponseEvent
- eventNameFilter: CDSCreateResponseEvent
- requestorMode: true
- requestorPeer: CDSRequestProducer
- requestorTimeout: 500
- CDSDeleteRequestConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- parameters:
- url: http://10.10.10.184:30254/api/v1/execution-service/process
- httpMethod: POST
- restRequestTimeout: 2000
- httpHeaders:
- - - Authorization
- - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
- eventProtocolParameters:
- eventProtocol: JSON
- eventName: CDSDeleteResponseEvent
- eventNameFilter: CDSDeleteResponseEvent
- requestorMode: true
- requestorPeer: CDSDeleteRequestProducer
- requestorTimeout: 500
- CDSReplyConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- parameters:
- url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT
- httpMethod: POST
- restRequestTimeout: 2000
- eventProtocolParameters:
- eventProtocol: JSON
- eventName: MRResponseEvent
- eventNameFilter: MRResponseEvent
- requestorMode: true
- requestorPeer: CDSReplyProducer
- requestorTimeout: 500
- eventOutputParameters:
- logOutputter:
- carrierTechnologyParameters:
- carrierTechnology: FILE
- parameters:
- fileName: /tmp/outputevents.log
- eventProtocolParameters:
- eventProtocol: JSON
- StdOutOutputter:
- carrierTechnologyParameters:
- carrierTechnology: FILE
- parameters:
- standardIo: true
- eventProtocolParameters:
- eventProtocol: JSON
- CDSRequestProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSCreateSubscriptionRequestEvent
- requestorMode: true
- requestorPeer: CDSRequestConsumer
- requestorTimeout: 500
- CDSDeleteRequestProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSDeleteSubscriptionRequestEvent
- requestorMode: true
- requestorPeer: CDSDeleteRequestConsumer
- requestorTimeout: 500
- CDSReplyProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSResponseStatusEvent
- requestorMode: true
- requestorPeer: CDSReplyConsumer
- requestorTimeout: 500
diff --git a/runtime-controlloop/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml b/runtime-controlloop/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml
deleted file mode 100644
index 01f825fc9..000000000
--- a/runtime-controlloop/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml
+++ /dev/null
@@ -1,452 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-capability_types:
- org.onap.EventProducer:
- properties:
- carrier_protocol_type:
- type: string
- required: true
- constraints:
- - valid_values:
- - DMAAP_message_router
- - SOMETHING_ELSE
- - REST
- data_format:
- type: string
- required: true
- constraints:
- - valid_values:
- - JSON
- - YAML
- - JMS
- event_format:
- type: string
- required: true
- event_format_version:
- type: string
- required: false
- config_keys:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - all valid values should be added here
- - if not specified, events of any config key may be generated
- - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
- etc.'
- version: 0.0.1
- derived_from: tosca.capabilities.Root
- org.onap.EventConsumer:
- properties:
- responding_capability:
- type: string
- required: false
- carrier_protocol_type:
- type: string
- required: true
- constraints:
- - valid_values:
- - DMAAP_message_router
- - SOMETHING_ELSE
- - REST
- data_format:
- type: string
- required: true
- constraints:
- - valid_values:
- - JSON
- - YAML
- - JMS
- - all valid values should be added here
- event_format:
- type: string
- description: 'examples for event_format: Ves_specification, LinkUp, VnfConfigured,
- etc.'
- required: true
- event_format_version:
- type: string
- description: 'examples for event_format_version: 5.28.4, 7.30.1, etc.'
- required: false
- config_keys:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - all valid values should be added here
- - if not specified, events of any config key may be generated
- - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
- etc.'
- version: 0.0.1
- derived_from: tosca.capabilities.Root
-node_types:
- org.onap.DynamicConfig:
- properties:
- application_name:
- type: string
- description: Value used to tie the config to an application ? should we be
- using a relationship here instead?
- required: true
- application_version:
- type: string
- required: true
- application_provider:
- type: string
- required: false
- data_types:
- type: object
- required: false
- schema:
- type: object
- required: false
- version: 0.0.1
- derived_from: tosca.nodes.Root
- org.onap.APP:
- properties:
- application_name:
- type: string
- description: Human readable name for the application Product
- required: false
- provider:
- type: string
- description: Provider of the application and of the descriptor
- required: true
- application_version:
- type: string
- description: Software version of the application
- required: true
- blueprint_id:
- type: string
- description: A reference to the app blueprint
- required: false
- monitoring_policy:
- type: string
- description: A reference to the monitoring policy
- required: false
- requirements:
- - receive:
- capability: org.onap.EventProducer
- relationship: org.onap.PropagateEvent
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- - send:
- capability: org.onap.EventConsumer
- relationship: org.onap.PropagateEvent
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- version: 0.0.1
- derived_from: tosca.nodes.Root
- org.onap.EventRelay:
- properties:
- event_format:
- type: string
- description: 'examples for event_format: Ves_specification, etc.'
- required: true
- event_format_version:
- type: string
- description: 'examples for event_format_version: 5.28.4, 7.30.1, etc.'
- required: true
- config_keys:
- type: list
- required: false
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - all valid values should be added here
- - if not specified, events of any config key is relayed
- - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
- etc.'
- supported_carrier_protocols:
- type: map
- description: 'A map describing supported carrier protocols and translations.
- The tuples define what protocol combinations are supported on the producer
- and consumer side: e.g. { REST: REST, DMAAP: REST, DMAAP: DMAAP}'
- required: true
- key_schema:
- type: string
- constraints:
- - valid_values:
- - DMAAP_message_router
- - SOMETHING_ELSE
- - REST
- - all valid values should be added here
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - DMAAP_message_router
- - SOMETHING_ELSE
- - REST
- - all valid values should be added here
- supported_data_formats:
- type: map
- description: 'Is a map describing supported data formats and translation.
- The tuples define what protocol combinations are supported on the producer
- and consumer side: e.g. { JSON: JSON, JMS: JSON, YAML:YAML }'
- required: true
- key_schema:
- type: string
- constraints:
- - valid_values:
- - JSON
- - JMS
- - YAML
- - etc
- - all valid values should be added here
- entry_schema:
- type: string
- constraints:
- - valid_values:
- - JSON
- - JMS
- - YAML
- - etc
- - all valid values should be added here
- requirements:
- - receive:
- capability: org.onap.EventProducer
- relationship: org.onap.PropagateEvent
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- - send:
- capability: org.onap.EventConsumer
- relationship: org.onap.PropagateEvent
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- version: 0.0.1
- derived_from: tosca.nodes.Root
-relationship_types:
- org.onap.PropagateEvent:
- properties:
- config_keys:
- type: list
- description: The relationship type used on requirements to org.onap.EventProducer
- and org.onap.EventConsumer capabilities. Filters events by specific config_keys
- to be transferred by this relationship. That is, any event with a specific
- config_key found in the list is transferred. If list is not defined or is
- empty, events with all config_keys are transferred.
- required: false
- entry_schema:
- type: string
- version: 0.0.1
- derived_from: tosca.relationships.Root
-topology_template:
- inputs:
- pm_subscription_topic:
- type: string
- pm_subscription_response_topic:
- type: string
- pm_subscription_handler_blueprint_id:
- type: string
- pm_subscription_operational_policy_id:
- type: string
- pm_subscription_cds_blueprint_id:
- type: string
- enable_tls:
- type: string
- node_templates:
- org.onap.PM_Subscription_Handler:
- type: org.onap.APP
- properties:
- application_name: PM Subscription Handler
- provider: Ericsson
- application_version: 1.0.0
- artifact_id:
- get_input: pm_subscription_handler_blueprint_id
- description: Is this a reference to the DCAE Cloudify Blueprint that is
- already stored(or will be stored before CL configuration & instatiation)
- in DCAE Inventory?
- artifact_config:
- enable_tls:
- get_input: enable_tls
- pmsh_publish_topic_name:
- get_input: pm_subscription_topic
- capabilities:
- pm-subscription-event-publisher:
- properties:
- carrier_protocol_type: DMAAP_message_router
- data_format: JSON
- event_format: pm-subscription-event-format
- event_format_version: 1.0.0
- attributes:
- type: org.onap.EventProducer
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- pm-subscription-event-receiver:
- properties:
- carrier_protocol_type: DMAAP_message_router
- data_format: JSON
- event_format: pm-subscription-event-response-format
- event_format_version: 1.0.0
- relationships:
- - type: tosca.relationships.DependsOn
- - description: any ideas on a better realtionship ? or is it better to
- just use the root realtionship ?
- - target: org.onap.PM_Monitoring_Policy
- attributes:
- type: org.onap.EventConsumer
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- version: 0.0.0
- org.onap.PM_Monitoring_Policy:
- type: org.onap.DynamicConfig
- properties:
- application_name: PM Subscription Handler
- application_version: 1.0.0
- provider: Ericsson
- data_types:
- measurementType:
- type: string
- DN:
- type: string
- nfFilter:
- properties:
- nfNames:
- type: list
- entry_schema: string
- modelInvariantIDs:
- type: list
- entry_schema:
- type: string
- modelVersionIDs:
- type: list
- entry_schema:
- type: string
- measurementGroup:
- properties:
- masurementTypes:
- type: list
- entry_schema:
- type: measurementType
- managedObjectDNsBasic:
- type: list
- entry_schema:
- type: DN
- schema:
- subscription:
- subscriptionName:
- type: string
- required: true
- administrativeState:
- type: string
- required: true
- filebasedGP:
- type: integer
- required: true
- fileLocation:
- type: string
- required: true
- nfFilter:
- type: nfFilter
- measurementGroups:
- type: list
- entry_schema:
- type: measurementGroup
- version: 0.0.0
- description: Should I be showing a dependency between PM Subscription Handler
- and the PM Monitoring Policy
- org.onap.PM_Policy:
- type: org.onap.APP
- properties:
- application_name: PM Subscription Operational Policy
- provider: Ericsson
- application_version: 1.0.0
- artifact_id:
- get_input: pm_subscription_operational_policy_id
- artifact_config: NOT_DEFINED
- requirements:
- - receive_0:
- capability: pm-subscription-event-publisher
- node: org.onap.PM_Subscription_Handler
- relationship: NOT_DEFINED
- properties:
- config_keys:
- - topic_name:
- get_input: pm_subscription_topic
- version: 0.0.0
- - send_0:
- capability: cds-rest-receive
- node: org.onap.CDS
- version: 0.0.0
- - receive_1:
- capability: cds-rest-response
- node: org.onap.CDS
- version: 0.0.0
- - send_1:
- capability: pm-subscription-event-receiver
- node: org.onap.PM_Subscription_Handler
- relationship: NOT_DEFINED
- properties:
- config_keys:
- - topic_name:
- get_input: pm_subscription_response_topic
- version: 0.0.0
- capabilities:
- pm-subscription-response-event-publisher:
- properties:
- type: org.onap.EventProducer
- carrier_protocol_type: DMAAP_message_router
- data_format: JSON
- event_format: pm-subscription-event-response-format
- event_format_version: 1.0.0
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- version: 0.0.0
- org.onap.PM_CDS_Blueprint:
- type: org.onap.APP
- properties:
- application_name: PM Subscription CDS Blueprint
- provider: Ericsson
- application_version: 1.0.0
- artifact_id:
- get_input: pm_subscription_cds_blueprint_id
- capabilities:
- cds-rest-receive:
- properties:
- type: org.onap.EventConsumer
- protocol_type: REST
- data_format: JSON
- event_format: cds_action_format
- event_format_version: 1.0.0
- responding_capability: cds-rest-response
- occurrences:
- - 0.0
- - UNBOUNDED
- version: 0.0.0
- cds-rest-response:
- properties:
- type: org.onap.EventProducer
- protocol_type: REST
- data_format: JSON
- event_format: cds_action_response_format
- event_format_version: 1.0.0
- occurrences:
- - 0.0
- version: 0.0.0
- version: 0.0.0
- org.onap.controlloop0:
- type: org.onap.APP
- properties:
- application_name: Test Control Loop
- provider: Ericsson
- application_version: 1.0.0
- status: NOT_DEPLOYED
- version: 0.0.0
-version: 0.0.0
diff --git a/runtime-controlloop/src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml b/runtime-controlloop/src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml
deleted file mode 100644
index 9c440b42b..000000000
--- a/runtime-controlloop/src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml
+++ /dev/null
@@ -1,238 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-data_types:
- onap.datatypes.ToscaConceptIdentifier:
- derived_from: tosca.datatypes.Root
- properties:
- name:
- type: string
- required: true
- version:
- type: string
- required: true
-node_types:
- org.onap.policy.clamp.controlloop.Participant:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- org.onap.policy.clamp.controlloop.ControlLoopElement:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- participantType:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- startPhase:
- type: integer
- required: false
- constraints:
- - greater-or-equal: 0
- metadata:
- common: true
- description: A value indicating the start phase in which this control loop element will be started, the
- first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
- in reverse start phase order. Control Loop Elements with the same start phase are started and
- stopped simultaneously
- org.onap.policy.clamp.controlloop.ControlLoop:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- elements:
- type: list
- required: true
- entry_schema:
- type: onap.datatypes.ToscaConceptIdentifier
- org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- dcae_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- org.onap.policy.clamp.controlloop.CDSControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- cds_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
-topology_template:
- node_templates:
- org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.policy.controlloop.PolicyControlLoopParticipant:
- version: 2.2.1
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant:
- version: 2.2.1
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.domain.pmsh.PMSH_DCAEMicroservice:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
- version: 2.3.4
- dcae_blueprint_id:
- name: org.onap.dcae.blueprints.PMSHBlueprint
- version: 1.0.0
- org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the monitoring policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.2.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the operational policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.2.1
- policy_type_id:
- name: onap.policies.operational.pm-subscription-handler
- version: 1.0.0
- org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoopElement
- type_version: 1.0.0
- description: Control loop element for CDS for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
- version: 3.2.1
- cds_blueprint_id:
- name: org.onap.ccsdk.cds.PMSHCdsBlueprint
- version: 1.0.0
- org.onap.domain.pmsh.PMSHControlLoopDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoop
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- elements:
- - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement
- version: 1.2.3
- org.onap.domain.pmsh.PMSD_DCAEMicroservice:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
- version: 2.3.4
- dcae_blueprint_id:
- name: org.onap.dcae.blueprints.PMSDBlueprint
- version: 1.0.0
- org.onap.domain.pmsh.PMSD_MonitoringPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the monitoring policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.2.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- policy_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- org.onap.domain.pmsh.PMSD_OperationalPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the operational policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.2.1
- policy_type_id:
- name: onap.policies.operational.pm-subscription-handler
- version: 1.0.0
- policy_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- org.onap.domain.pmsh.PMSD_CDS_ControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoopElement
- type_version: 1.0.0
- description: Control loop element for CDS for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participantType:
- name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
- version: 3.2.1
- cds_blueprint_id:
- name: org.onap.ccsdk.cds.PMSDCdsBlueprint
- version: 1.0.0
- org.onap.domain.pmsh.PMSDControlLoopDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoop
- type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- elements:
- - name: org.onap.domain.pmsh.PMSD_DCAEMicroservice
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSD_MonitoringPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSD_OperationalPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSD_CDS_ControlLoopElement
- version: 1.2.3
diff --git a/runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml b/runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml
deleted file mode 100644
index 9d1b7be64..000000000
--- a/runtime-controlloop/src/test/resources/rest/servicetemplates/tosca-for-smoke-testing.yaml
+++ /dev/null
@@ -1,3488 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-data_types:
- onap.datatypes.ToscaConceptIdentifier:
- derived_from: tosca.datatypes.Root
- properties:
- name:
- type: string
- required: true
- version:
- type: string
- required: true
- onap.datatype.controlloop.Target:
- derived_from: tosca.datatypes.Root
- description: Definition for a entity in A&AI to perform a control loop operation on
- properties:
- targetType:
- type: string
- description: Category for the target type
- required: true
- constraints:
- - valid_values:
- - VNF
- - VM
- - VFMODULE
- - PNF
- entityIds:
- type: map
- description: |
- Map of values that identify the resource. If none are provided, it is assumed that the
- entity that generated the ONSET event will be the target.
- required: false
- metadata:
- clamp_possible_values: ClampExecution:CSAR_RESOURCES
- entry_schema:
- type: string
- onap.datatype.controlloop.Actor:
- derived_from: tosca.datatypes.Root
- description: An actor/operation/target definition
- properties:
- actor:
- type: string
- description: The actor performing the operation.
- required: true
- metadata:
- clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor
- operation:
- type: string
- description: The operation the actor is performing.
- metadata:
- clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation
- required: true
- target:
- type: onap.datatype.controlloop.Target
- description: The resource the operation should be performed on.
- required: true
- payload:
- type: map
- description: Name/value pairs of payload information passed by Policy to the actor
- required: false
- metadata:
- clamp_possible_values: ClampExecution:CDS/payload
- entry_schema:
- type: string
- onap.datatype.controlloop.Operation:
- derived_from: tosca.datatypes.Root
- description: An operation supported by an actor
- properties:
- id:
- type: string
- description: Unique identifier for the operation
- required: true
- description:
- type: string
- description: A user-friendly description of the intent for the operation
- required: false
- operation:
- type: onap.datatype.controlloop.Actor
- description: The definition of the operation to be performed.
- required: true
- timeout:
- type: integer
- description: The amount of time for the actor to perform the operation.
- required: true
- retries:
- type: integer
- description: The number of retries the actor should attempt to perform the operation.
- required: true
- default: 0
- success:
- type: string
- description: Points to the operation to invoke on success. A value of "final_success" indicates and end to the operation.
- required: false
- default: final_success
- failure:
- type: string
- description: Points to the operation to invoke on Actor operation failure.
- required: false
- default: final_failure
- failure_timeout:
- type: string
- description: Points to the operation to invoke when the time out for the operation occurs.
- required: false
- default: final_failure_timeout
- failure_retries:
- type: string
- description: Points to the operation to invoke when the current operation has exceeded its max retries.
- required: false
- default: final_failure_retries
- failure_exception:
- type: string
- description: Points to the operation to invoke when the current operation causes an exception.
- required: false
- default: final_failure_exception
- failure_guard:
- type: string
- description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.
- required: false
- default: final_failure_guard
- onap.datatypes.monitoring.managedObjectDNsBasic:
- constraints: []
- properties:
- DN:
- name: DN
- type: string
- typeVersion: 0.0.0
- description: Managed object distinguished name
- required: true
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.managedObjectDNsBasic
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.managedObjectDNsBasics:
- constraints: []
- properties:
- managedObjectDNsBasic:
- name: managedObjectDNsBasic
- type: map
- typeVersion: 0.0.0
- description: Managed object distinguished name object
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.managedObjectDNsBasic
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.managedObjectDNsBasics
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementGroup:
- constraints: []
- properties:
- measurementTypes:
- name: measurementTypes
- type: list
- typeVersion: 0.0.0
- description: List of measurement types
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementTypes
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- managedObjectDNsBasic:
- name: managedObjectDNsBasic
- type: list
- typeVersion: 0.0.0
- description: List of managed object distinguished names
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.managedObjectDNsBasics
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementGroup
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementGroups:
- constraints: []
- properties:
- measurementGroup:
- name: measurementGroup
- type: map
- typeVersion: 0.0.0
- description: Measurement Group
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementGroup
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementGroups
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementType:
- constraints: []
- properties:
- measurementType:
- name: measurementType
- type: string
- typeVersion: 0.0.0
- description: Measurement type
- required: true
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementType
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.measurementTypes:
- constraints: []
- properties:
- measurementType:
- name: measurementType
- type: map
- typeVersion: 0.0.0
- description: Measurement type object
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementType
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.measurementTypes
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.nfFilter:
- constraints: []
- properties:
- modelNames:
- name: modelNames
- type: list
- typeVersion: 0.0.0
- description: List of model names
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- modelInvariantIDs:
- name: modelInvariantIDs
- type: list
- typeVersion: 0.0.0
- description: List of model invariant IDs
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- modelVersionIDs:
- name: modelVersionIDs
- type: list
- typeVersion: 0.0.0
- description: List of model version IDs
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- nfNames:
- name: nfNames
- type: list
- typeVersion: 0.0.0
- description: List of network functions
- required: true
- constraints: []
- entry_schema:
- type: string
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.nfFilter
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- onap.datatypes.monitoring.subscription:
- constraints: []
- properties:
- measurementGroups:
- name: measurementGroups
- type: list
- typeVersion: 0.0.0
- description: Measurement Groups
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.measurementGroups
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- fileBasedGP:
- name: fileBasedGP
- type: integer
- typeVersion: 0.0.0
- description: File based granularity period
- required: true
- constraints: []
- metadata: {}
- fileLocation:
- name: fileLocation
- type: string
- typeVersion: 0.0.0
- description: ROP file location
- required: true
- constraints: []
- metadata: {}
- subscriptionName:
- name: subscriptionName
- type: string
- typeVersion: 0.0.0
- description: Name of the subscription
- required: true
- constraints: []
- metadata: {}
- administrativeState:
- name: administrativeState
- type: string
- typeVersion: 0.0.0
- description: State of the subscription
- required: true
- constraints:
- - valid_values:
- - LOCKED
- - UNLOCKED
- metadata: {}
- nfFilter:
- name: nfFilter
- type: map
- typeVersion: 0.0.0
- description: Network function filter
- required: true
- constraints: []
- entry_schema:
- type: onap.datatypes.monitoring.nfFilter
- typeVersion: 0.0.0
- constraints: []
- metadata: {}
- name: onap.datatypes.monitoring.subscription
- version: 0.0.0
- derived_from: tosca.datatypes.Root
- metadata: {}
- org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest:
- version: 1.0.0
- derived_from: tosca.datatypes.Root
- properties:
- restRequestId:
- type: onap.datatypes.ToscaConceptIdentifier
- typeVersion: 1.0.0
- required: true
- description: The name and version of a REST request to be sent to a REST endpoint
- httpMethod:
- type: string
- required: true
- constraints:
- - valid_values: [POST, PUT, GET, DELETE]
- description: The REST method to use
- path:
- type: string
- required: true
- description: The path of the REST request relative to the base URL
- body:
- type: string
- required: false
- description: The body of the REST request for PUT and POST requests
- expectedResponse:
- type: integer
- required: true
- constraints: []
- description: THe expected HTTP status code for the REST request
- org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity:
- version: 1.0.0
- derived_from: tosca.datatypes.Root
- properties:
- configurationEntityId:
- type: onap.datatypes.ToscaConceptIdentifier
- typeVersion: 1.0.0
- required: true
- description: The name and version of a Configuration Entity to be handled by the HTTP Control Loop Element
- restSequence:
- type: list
- entry_schema:
- type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest
- typeVersion: 1.0.0
- description: A sequence of REST commands to send to the REST endpoint
-policy_types:
- onap.policies.Monitoring:
- derived_from: tosca.policies.Root
- description: a base policy type for all policies that govern monitoring provisioning
- version: 1.0.0
- name: onap.policies.Monitoring
- onap.policies.Sirisha:
- derived_from: tosca.policies.Root
- description: a base policy type for all policies that govern monitoring provisioning
- version: 1.0.0
- name: onap.policies.Sirisha
- onap.policies.monitoring.dcae-pm-subscription-handler:
- properties:
- pmsh_policy:
- name: pmsh_policy
- type: onap.datatypes.monitoring.subscription
- typeVersion: 0.0.0
- description: PMSH Policy JSON
- required: false
- constraints: []
- metadata: {}
- name: onap.policies.monitoring.dcae-pm-subscription-handler
- version: 1.0.0
- derived_from: onap.policies.Monitoring
- metadata: {}
- onap.policies.controlloop.operational.Common:
- derived_from: tosca.policies.Root
- version: 1.0.0
- name: onap.policies.controlloop.operational.Common
- description: |
- Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant
- Policy Types. This does NOT support the legacy Policy YAML policy type.
- properties:
- id:
- type: string
- description: The unique control loop id.
- required: true
- timeout:
- type: integer
- description: |
- Overall timeout for executing all the operations. This timeout should equal or exceed the total
- timeout for each operation listed.
- required: true
- abatement:
- type: boolean
- description: Whether an abatement event message will be expected for the control loop from DCAE.
- required: true
- default: false
- trigger:
- type: string
- description: Initial operation to execute upon receiving an Onset event message for the Control Loop.
- required: true
- operations:
- type: list
- description: List of operations to be performed when Control Loop is triggered.
- required: true
- entry_schema:
- type: onap.datatype.controlloop.Operation
- onap.policies.controlloop.operational.common.Apex:
- derived_from: onap.policies.controlloop.operational.Common
- type_version: 1.0.0
- version: 1.0.0
- name: onap.policies.controlloop.operational.common.Apex
- description: Operational policies for Apex PDP
- properties:
- engineServiceParameters:
- type: string
- description: The engine parameters like name, instanceCount, policy implementation, parameters etc.
- required: true
- eventInputParameters:
- type: string
- description: The event input parameters.
- required: true
- eventOutputParameters:
- type: string
- description: The event output parameters.
- required: true
- javaProperties:
- type: string
- description: Name/value pairs of properties to be set for APEX if needed.
- required: false
-node_types:
- org.onap.policy.clamp.controlloop.Participant:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- requred: false
- org.onap.policy.clamp.controlloop.ControlLoopElement:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- required: false
- metadata:
- common: true
- description: Specifies the organization that provides the control loop element
- participant_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- metadata:
- common: true
- participantType:
- type: onap.datatypes.ToscaConceptIdentifier
- required: true
- metadata:
- common: true
- description: The identity of the participant type that hosts this type of Control Loop Element
- startPhase:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- metadata:
- common: true
- description: A value indicating the start phase in which this control loop element will be started, the
- first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
- in reverse start phase order. Control Loop Elements with the same start phase are started and
- stopped simultaneously
- uninitializedToPassiveTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: The maximum time in seconds to wait for a state chage from uninitialized to passive
- passiveToRunningTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: The maximum time in seconds to wait for a state chage from passive to running
- runningToPassiveTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: The maximum time in seconds to wait for a state chage from running to passive
- passiveToUninitializedTimeout:
- type: integer
- required: false
- constraints:
- - greater_or_equal: 0
- default: 60
- metadata:
- common: true
- description: The maximum time in seconds to wait for a state chage from passive to uninitialized
- org.onap.policy.clamp.controlloop.ControlLoop:
- version: 1.0.1
- derived_from: tosca.nodetypes.Root
- properties:
- provider:
- type: string
- required: false
- metadata:
- common: true
- description: Specifies the organization that provides the control loop element
- elements:
- type: list
- required: true
- metadata:
- common: true
- entry_schema:
- type: onap.datatypes.ToscaConceptIdentifier
- description: Specifies a list of control loop element definitions that make up this control loop definition
- org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- policy_type_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- policy_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: false
- org.onap.policy.clamp.controlloop.CDSControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- cds_blueprint_id:
- type: onap.datatypes.ToscaConceptIdentifier
- requred: true
- org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- chart:
- type: string
- required: true
- configs:
- type: list
- required: false
- requirements:
- type: string
- requred: false
- templates:
- type: list
- required: false
- entry_schema:
- values:
- type: string
- requred: true
- org.onap.policy.clamp.controlloop.HttpControlLoopElement:
- version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
- properties:
- baseUrl:
- type: string
- required: true
- description: The base URL to be prepended to each path, identifies the host for the REST endpoints.
- httpHeaders:
- type: map
- required: false
- entry_schema:
- type: string
- description: HTTP headers to send on REST requests
- configurationEntities:
- type: map
- required: true
- entry_schema:
- type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity
- typeVersion: 1.0.0
- description: The connfiguration entities the Control Loop Element is managing and their associated REST requests
-
-topology_template:
- inputs:
- pmsh_monitoring_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH monitoring policy to use
- default:
- name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
- version: 1.0.0
- pmsh_operational_policy:
- type: onap.datatypes.ToscaConceptIdentifier
- description: The ID of the PMSH operational policy to use
- default:
- name: operational.apex.pmcontrol
- version: 1.0.0
- node_templates:
- org.onap.policy.controlloop.PolicyControlLoopParticipant:
- version: 2.3.1
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for DCAE microservices
- properties:
- provider: ONAP
- org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the monitoring policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.monitoring.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_monitoring_policy
- org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the operational policy for Performance Management Subscription Handling
- properties:
- provider: Ericsson
- participant_id:
- name: org.onap.PM_Policy
- version: 1.0.0
- participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
- version: 2.3.1
- policy_type_id:
- name: onap.policies.operational.pm-subscription-handler
- version: 1.0.0
- policy_id:
- get_input: pmsh_operational_policy
- org.onap.k8s.controlloop.K8SControlLoopParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for K8S
- properties:
- provider: ONAP
- org.onap.domain.database.PMSH_K8SMicroserviceControlLoopElement:
- # Chart from new repository
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the K8S microservice for PMSH
- properties:
- provider: ONAP
- participant_id:
- name: K8sParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.k8s.controlloop.K8SControlLoopParticipant
- version: 2.3.4
- chart:
- chartId:
- name: dcae-pmsh
- version: 8.0.0
- namespace: onap
- releaseName: pmshms
- repository:
- repoName: chartmuseum
- protocol: http
- address: 10.152.183.120
- port: 80
- userName: onapinitializer
- password: demo123456!
- overrideParams:
- global.masterPassword: test
-
- org.onap.domain.database.Local_K8SMicroserviceControlLoopElement:
- # Chart installation without passing repository info
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement
- type_version: 1.0.0
- description: Control loop element for the K8S microservice for local chart
- properties:
- provider: ONAP
- participant_id:
- name: K8sParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.k8s.controlloop.K8SControlLoopParticipant
- version: 2.3.4
- chart:
- chartId:
- name: nginx-ingress
- version: 0.9.1
- releaseName: nginxms
- namespace: test
- org.onap.controlloop.HttpControlLoopParticipant:
- version: 2.3.4
- type: org.onap.policy.clamp.controlloop.Participant
- type_version: 1.0.1
- description: Participant for Http requests
- properties:
- provider: ONAP
- org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement:
- # Consul http config for PMSH.
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.HttpControlLoopElement
- type_version: 1.0.1
- description: Control loop element for the http requests of PMSH microservice
- properties:
- provider: ONAP
- participant_id:
- name: HttpParticipant0
- version: 1.0.0
- participantType:
- name: org.onap.k8s.controlloop.HttpControlLoopParticipant
- version: 2.3.4
- uninitializedToPassiveTimeout: 180
- startPhase: 1
- baseUrl: http://10.152.183.51:8500
- httpHeaders:
- Content-Type: application/json
- configurationEntities:
- - configurationEntityId:
- name: entity1
- version: 1.0.1
- restSequence:
- - restRequestId:
- name: request1
- version: 1.0.1
- httpMethod: PUT
- path: v1/kv/dcae-pmsh2
- body: '{
- "control_loop_name":"pmsh-control-loop",
- "operational_policy_name":"pmsh-operational-policy",
- "aaf_password":"demo123456!",
- "aaf_identity":"dcae@dcae.onap.org",
- "cert_path":"/opt/app/pmsh/etc/certs/cert.pem",
- "key_path":"/opt/app/pmsh/etc/certs/key.pem",
- "ca_cert_path":"/opt/app/pmsh/etc/certs/cacert.pem",
- "enable_tls":"true",
- "pmsh_policy":{
- "subscription":{
- "subscriptionName":"ExtraPM-All-gNB-R2B",
- "administrativeState":"UNLOCKED",
- "fileBasedGP":15,
- "fileLocation":"\/pm\/pm.xml",
- "nfFilter":{
- "nfNames":[
- "^pnf.*",
- "^vnf.*"
- ],
- "modelInvariantIDs":[
- ],
- "modelVersionIDs":[
- ],
- "modelNames":[
- ]
- },
- "measurementGroups":[
- {
- "measurementGroup":{
- "measurementTypes":[
- {
- "measurementType":"countera"
- },
- {
- "measurementType":"counterb"
- }
- ],
- "managedObjectDNsBasic":[
- {
- "DN":"dna"
- },
- {
- "DN":"dnb"
- }
- ]
- }
- },
- {
- "measurementGroup":{
- "measurementTypes":[
- {
- "measurementType":"counterc"
- },
- {
- "measurementType":"counterd"
- }
- ],
- "managedObjectDNsBasic":[
- {
- "DN":"dnc"
- },
- {
- "DN":"dnd"
- }
- ]
- }
- }
- ]
- }
- },
- "streams_subscribes":{
- "aai_subscriber":{
- "type":"message_router",
- "dmaap_info":{
- "topic_url":"https://10.152.183.151:3905/events/AAI_EVENT",
- "client_role":"org.onap.dcae.aaiSub",
- "location":"san-francisco",
- "client_id":"1575976809466"
- }
- },
- "policy_pm_subscriber":{
- "type":"message_router",
- "dmaap_info":{
- "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS",
- "client_role":"org.onap.dcae.pmSubscriber",
- "location":"san-francisco",
- "client_id":"1575876809456"
- }
- }
- },
- "streams_publishes":{
- "policy_pm_publisher":{
- "type":"message_router",
- "dmaap_info":{
- "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS",
- "client_role":"org.onap.dcae.pmPublisher",
- "location":"san-francisco",
- "client_id":"1475976809466"
- }
- },
- "other_publisher":{
- "type":"message_router",
- "dmaap_info":{
- "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.SOME_OTHER_TOPIC",
- "client_role":"org.onap.dcae.pmControlPub",
- "location":"san-francisco",
- "client_id":"1875976809466"
- }
- }
- }
- }'
- expectedResponse: 200
- org.onap.domain.sample.GenericK8s_ControlLoopDefinition:
- version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoop
- type_version: 1.0.0
- description: Control loop for Hello World
- properties:
- provider: ONAP
- elements:
- - name: org.onap.domain.database.PMSH_K8SMicroserviceControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.database.Local_K8SMicroserviceControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
- version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
- version: 1.2.3
- policies:
- - operational.apex.pmcontrol:
- type: onap.policies.controlloop.operational.common.Apex
- type_version: 1.0.0
- version: 1.0.0
- metadata:
- policy-id: operational.apex.pmcontrol
- policy-version: 1
- properties:
- engineServiceParameters:
- name: MyApexEngine
- version: 0.0.1
- id: 45
- instanceCount: 2
- deploymentPort: 12561
- policy_type_impl:
- apexPolicyModel:
- key:
- name: PMControlPolicy
- version: 0.0.1
- keyInformation:
- key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- keyInfoMap:
- entry:
- - key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- value:
- key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82
- description: Generated description for concept referred to by key "CDSActionIdentifiersType:0.0.1"
- - key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad
- description: Generated description for concept referred to by key "CDSCreateResponseEvent:0.0.1"
- - key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13
- description: Generated description for concept referred to by key "CDSCreateResponsePayloadType:0.0.1"
- - key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c
- description: Generated description for concept referred to by key "CDSCreateResponsePolicy:0.0.1"
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseTask
- version: 0.0.1
- UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2
- description: Generated description for concept referred to by key "CDSCreateResponseTask:0.0.1"
- - key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60
- description: Generated description for concept referred to by key "CDSCreateSubscriptionPayloadType:0.0.1"
- - key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2
- description: Generated description for concept referred to by key "CDSCreateSubscriptionRequestEvent:0.0.1"
- - key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8
- description: Generated description for concept referred to by key "CDSDeleteResponseEvent:0.0.1"
- - key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0
- description: Generated description for concept referred to by key "CDSDeleteResponsePayloadType:0.0.1"
- - key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- UUID: a780251c-edd5-3132-b865-04313246b43c
- description: Generated description for concept referred to by key "CDSDeleteResponsePolicy:0.0.1"
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc
- description: Generated description for concept referred to by key "CDSDeleteResponseTask:0.0.1"
- - key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b
- description: Generated description for concept referred to by key "CDSDeleteSubscriptionPayloadType:0.0.1"
- - key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9
- description: Generated description for concept referred to by key "CDSDeleteSubscriptionRequestEvent:0.0.1"
- - key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1
- description: Generated description for concept referred to by key "CDSRequestCommonHeaderType:0.0.1"
- - key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c
- description: Generated description for concept referred to by key "CDSResponseCommonHeaderType:0.0.1"
- - key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- UUID: 7986e21b-32f7-302e-9554-31f21b673493
- description: Generated description for concept referred to by key "CDSResponseStatusEvent:0.0.1"
- - key:
- name: CDSResponseStatusType
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusType
- version: 0.0.1
- UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa
- description: Generated description for concept referred to by key "CDSResponseStatusType:0.0.1"
- - key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a
- description: Generated description for concept referred to by key "CreateSubscriptionPayloadEvent:0.0.1"
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d
- description: Generated description for concept referred to by key "CreateSubscriptionPayloadTask:0.0.1"
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869
- description: Generated description for concept referred to by key "CreateSubscriptionRequestTask:0.0.1"
- - key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074
- description: Generated description for concept referred to by key "DeleteSubscriptionPayloadEvent:0.0.1"
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- UUID: 0f519117-5fea-3e4b-941f-8f778100465f
- description: Generated description for concept referred to by key "DeleteSubscriptionPayloadTask:0.0.1"
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- UUID: acb772fe-d442-39e3-98f9-b1080caf4150
- description: Generated description for concept referred to by key "DeleteSubscriptionRequestTask:0.0.1"
- - key:
- name: MRResponseEvent
- version: 0.0.1
- value:
- key:
- name: MRResponseEvent
- version: 0.0.1
- UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194
- description: Generated description for concept referred to by key "MRResponseEvent:0.0.1"
- - key:
- name: PMControlPolicy
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy
- version: 0.0.1
- UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4
- description: Generated description for concept referred to by key "PMControlPolicy:0.0.1"
- - key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b
- description: Generated description for concept referred to by key "PMControlPolicy_Albums:0.0.1"
- - key:
- name: PMControlPolicy_Events
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Events
- version: 0.0.1
- UUID: be3871a0-c42a-3113-a066-82d192840eca
- description: Generated description for concept referred to by key "PMControlPolicy_Events:0.0.1"
- - key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_KeyInfo
- version: 0.0.1
- UUID: ced37634-28a4-3178-b7f6-2980794927b0
- description: Generated description for concept referred to by key "PMControlPolicy_KeyInfo:0.0.1"
- - key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed
- description: Generated description for concept referred to by key "PMControlPolicy_Policies:0.0.1"
- - key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- UUID: e61973f1-189c-39e5-82f6-0d3afe298a20
- description: Generated description for concept referred to by key "PMControlPolicy_Schemas:0.0.1"
- - key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- value:
- key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a
- description: Generated description for concept referred to by key "PMControlPolicy_Tasks:0.0.1"
- - key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- UUID: c2bd6f0d-6854-317a-9be2-97c08338428c
- description: Generated description for concept referred to by key "PMSubscriptionAlbum:0.0.1"
- - key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05
- description: Generated description for concept referred to by key "PMSubscriptionOutputEvent:0.0.1"
- - key:
- name: PMSubscriptionType
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionType
- version: 0.0.1
- UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae
- description: Generated description for concept referred to by key "PMSubscriptionType:0.0.1"
- - key:
- name: ReceiveEventPolicy
- version: 0.0.1
- value:
- key:
- name: ReceiveEventPolicy
- version: 0.0.1
- UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1
- description: Generated description for concept referred to by key "ReceiveEventPolicy:0.0.1"
- - key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- UUID: f596afc8-100c-35eb-92c8-352355ea457d
- description: Generated description for concept referred to by key "ReceiveSubscriptionTask:0.0.1"
- - key:
- name: SimpleIntType
- version: 0.0.1
- value:
- key:
- name: SimpleIntType
- version: 0.0.1
- UUID: 153791fd-ae0a-36a7-88a5-309a7936415d
- description: Generated description for concept referred to by key "SimpleIntType:0.0.1"
- - key:
- name: SimpleStringType
- version: 0.0.1
- value:
- key:
- name: SimpleStringType
- version: 0.0.1
- UUID: 8a4957cf-9493-3a76-8c22-a208e23259af
- description: Generated description for concept referred to by key "SimpleStringType:0.0.1"
- - key:
- name: SubscriptionStatusType
- version: 0.0.1
- value:
- key:
- name: SubscriptionStatusType
- version: 0.0.1
- UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b
- description: Generated description for concept referred to by key "SubscriptionStatusType:0.0.1"
- - key:
- name: SubscriptionType
- version: 0.0.1
- value:
- key:
- name: SubscriptionType
- version: 0.0.1
- UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce
- description: Generated description for concept referred to by key "SubscriptionType:0.0.1"
- - key:
- name: UUIDType
- version: 0.0.1
- value:
- key:
- name: UUIDType
- version: 0.0.1
- UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c
- description: Generated description for concept referred to by key "UUIDType:0.0.1"
- - key:
- name: pmsh-operational-policy
- version: 0.0.1
- value:
- key:
- name: pmsh-operational-policy
- version: 0.0.1
- UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d
- description: Generated description for concept referred to by key "pmsh-operational-policy:0.0.1"
- policies:
- key:
- name: PMControlPolicy_Policies
- version: 0.0.1
- policyMap:
- entry:
- - key:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- value:
- policyKey:
- name: CDSCreateResponsePolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CDSCreateResponseState
- value:
- stateKey:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CDSCreateResponseState
- trigger:
- name: CDSCreateResponseEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ResponseOutput
- value:
- key:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: ResponseOutput
- outgoingEvent:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference: [ ]
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: CDSCreateResponseTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: CDSCreateResponsePolicy
- outputType: DIRECT
- output:
- parentKeyName: CDSCreateResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSCreateResponseState
- localName: ResponseOutput
- firstState: CDSCreateResponseState
- - key:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- value:
- policyKey:
- name: CDSDeleteResponsePolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CDSDeleteResponseState
- value:
- stateKey:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CDSDeleteResponseState
- trigger:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ResponseOutput
- value:
- key:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: ResponseOutput
- outgoingEvent:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference: [ ]
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: CDSDeleteResponseTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: CDSDeleteResponsePolicy
- outputType: DIRECT
- output:
- parentKeyName: CDSDeleteResponsePolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CDSDeleteResponseState
- localName: ResponseOutput
- firstState: CDSDeleteResponseState
- - key:
- name: ReceiveEventPolicy
- version: 0.0.1
- value:
- policyKey:
- name: ReceiveEventPolicy
- version: 0.0.1
- template: Freestyle
- state:
- entry:
- - key: CreateOrDeleteState
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateOrDeleteState
- trigger:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: CreateSubscriptionPayload
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: CreateSubscriptionPayload
- outgoingEvent:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateSubscription
- - key: DeleteSubscriptionPayload
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: DeleteSubscriptionPayload
- outgoingEvent:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: DeleteSubscription
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: TaskSelectionLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
- var changeType = pmSubscriptionInfo.get("changeType").toString()
-
- executor.logger.info("Change Type is " + changeType)
-
- if ("CREATE".equals(changeType)) {
- executor.logger.info("Choosing to create a subscription")
- executor.subject.getTaskKey("CreateSubscriptionPayloadTask").copyTo(executor.selectedTask);
- }
- else if ("DELETE".equals(changeType)) {
- executor.logger.info("Choosing to delete a subscription")
- executor.subject.getTaskKey("DeleteSubscriptionPayloadTask").copyTo(executor.selectedTask);
- }
-
- //var returnValue = executor.isTrue;
- true;
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: CreateSubscriptionPayload
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateOrDeleteState
- localName: DeleteSubscriptionPayload
- - key: CreateSubscription
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateSubscription
- trigger:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: IssueCreateSubscriptionRequestOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: IssueCreateSubscriptionRequestOutput
- outgoingEvent:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: CreateSubscription
- localName: IssueCreateSubscriptionRequestOutput
- - key: DeleteSubscription
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: DeleteSubscription
- trigger:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- stateOutputs:
- entry:
- - key: IssueDeleteSubscriptionRequestOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: IssueDeleteSubscriptionRequestOutput
- outgoingEvent:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- nextState:
- parentKeyName: 'NULL'
- parentKeyVersion: 0.0.0
- parentLocalName: 'NULL'
- localName: 'NULL'
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: DeleteSubscription
- localName: IssueDeleteSubscriptionRequestOutput
- - key: ReceiveSubscriptionState
- value:
- stateKey:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: ReceiveSubscriptionState
- trigger:
- name: pmsh-operational-policy
- version: 0.0.1
- stateOutputs:
- entry:
- - key: ReceivePMSubscriptionOutput
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceivePMSubscriptionOutput
- outgoingEvent:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- nextState:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: 'NULL'
- localName: CreateOrDeleteState
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskSelectionLogic:
- key: 'NULL'
- logicFlavour: UNDEFINED
- logic: ''
- stateFinalizerLogicMap:
- entry: [ ]
- defaultTask:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- taskReferences:
- entry:
- - key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceiveEventPolicy
- outputType: DIRECT
- output:
- parentKeyName: ReceiveEventPolicy
- parentKeyVersion: 0.0.1
- parentLocalName: ReceiveSubscriptionState
- localName: ReceivePMSubscriptionOutput
- firstState: ReceiveSubscriptionState
- tasks:
- key:
- name: PMControlPolicy_Tasks
- version: 0.0.1
- taskMap:
- entry:
- - key:
- name: CDSCreateResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseTask
- version: 0.0.1
- inputFields:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var commonHeader = executor.inFields.get("commonHeader")
- var response = executor.inFields.get("payload")
- var albumID = commonHeader.get("requestId")
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
- var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
-
- responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
- responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
-
- var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
-
- executor.logger.info("RESPONSE STATUS = " + status)
-
- if(status == "success") {
- responseStatus.put("message", "success")
- } else {
- responseStatus.put("message", "failed")
- }
-
- executor.outFields.put("status", responseStatus)
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseTask
- version: 0.0.1
- inputFields:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var commonHeader = executor.inFields.get("commonHeader")
- var response = executor.inFields.get("payload")
- var albumID = commonHeader.get("requestId")
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
- var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
-
- responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
- responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
-
- var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
-
- executor.logger.info("RESPONSE STATUS = " + status)
-
- if(status == "success") {
- responseStatus.put("message", "success")
- } else {
- responseStatus.put("message", "failed")
- }
-
- executor.outFields.put("status", responseStatus)
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadTask
- version: 0.0.1
- inputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
-
- var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
-
- payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
- payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
- payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
- payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
- payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
-
- var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
- payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
-
- var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
- payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
-
- executor.outFields.put("albumID", executor.inFields.get("albumID"))
- executor.outFields.put("payload", payload);
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionRequestTask
- version: 0.0.1
- inputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
- var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
- var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
- var payload = executor.inFields.get("payload")
- var actionName = changeType + "-subscription"
-
- var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
- commonHeader.put("originatorId", "sdnc");
- commonHeader.put("requestId", executor.inFields.get("albumID").toString());
- commonHeader.put("subRequestId", "sub-123456-1000");
-
- var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
- actionIdentifiers.put("actionName", actionName);
- actionIdentifiers.put("blueprintName", blueprintName);
- actionIdentifiers.put("blueprintVersion", blueprintVersion);
- actionIdentifiers.put("mode", "sync");
-
- executor.outFields.put("commonHeader", commonHeader);
- executor.outFields.put("actionIdentifiers", actionIdentifiers);
- executor.outFields.put("payload", payload);
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadTask
- version: 0.0.1
- inputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
-
- var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
-
- payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
- payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
- payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
- payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
- payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
- payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
-
- var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
- payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
-
- var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
- payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
-
- executor.outFields.put("albumID", executor.inFields.get("albumID"))
- executor.outFields.put("payload", payload);
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionRequestTask
- version: 0.0.1
- inputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
- executor.logger.info(executor.subject.id);
-
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
-
- var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
- var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
- var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
- var payload = executor.inFields.get("payload")
- var actionName = changeType + "-subscription"
-
- var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
- commonHeader.put("originatorId", "sdnc");
- commonHeader.put("requestId", executor.inFields.get("albumID").toString());
- commonHeader.put("subRequestId", "sub-123456-1000");
-
- var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
- actionIdentifiers.put("actionName", actionName);
- actionIdentifiers.put("blueprintName", blueprintName);
- actionIdentifiers.put("blueprintVersion", blueprintVersion);
- actionIdentifiers.put("mode", "sync");
-
- executor.outFields.put("commonHeader", commonHeader);
- executor.outFields.put("actionIdentifiers", actionIdentifiers);
- executor.outFields.put("payload", payload);
-
- //var returnValue = executor.isTrue;
- true;
- - key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- value:
- key:
- name: ReceiveSubscriptionTask
- version: 0.0.1
- inputFields:
- entry:
- - key: blueprintName
- value:
- key: blueprintName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: blueprintVersion
- value:
- key: blueprintVersion
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: changeType
- value:
- key: changeType
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: closedLoopControlName
- value:
- key: closedLoopControlName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: nfName
- value:
- key: nfName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: policyName
- value:
- key: policyName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: subscription
- value:
- key: subscription
- fieldSchemaKey:
- name: SubscriptionType
- version: 0.0.1
- optional: false
- outputFields:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- taskParameters:
- entry: [ ]
- contextAlbumReference:
- - name: PMSubscriptionAlbum
- version: 0.0.1
- taskLogic:
- key: TaskLogic
- logicFlavour: JAVASCRIPT
- logic: |-
- /*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix. 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
- var uuidType = java.util.UUID;
-
- executor.logger.info(executor.subject.id);
-
- //albumID will be used to fetch info from our album later
- var albumID = uuidType.randomUUID();
- var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
- var returnValue = true;
-
- if(executor.inFields.get("policyName") != null) {
- executor.logger.info("nfName in receive sub event " + executor.inFields.get("nfName"));
-
- var changeType = executor.inFields.get("changeType")
- var nfName = executor.inFields.get("nfName")
- var policyName = executor.inFields.get("policyName")
- var closedLoopControlName = executor.inFields.get("closedLoopControlName")
- var subscription = executor.inFields.get("subscription")
- var blueprintName = executor.inFields.get("blueprintName")
- var blueprintVersion = executor.inFields.get("blueprintVersion")
-
- pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
- pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
- pmSubscriptionInfo.put("policyName", executor.inFields.get("policyName"))
- pmSubscriptionInfo.put("closedLoopControlName", executor.inFields.get("closedLoopControlName"))
- pmSubscriptionInfo.put("subscription", subscription)
- pmSubscriptionInfo.put("blueprintName", blueprintName)
- pmSubscriptionInfo.put("blueprintVersion", blueprintVersion)
-
-
- executor.getContextAlbum("PMSubscriptionAlbum").put(albumID.toString(), pmSubscriptionInfo);
-
- executor.outFields.put("albumID", albumID)
- } else {
- executor.message = "Received invalid event"
- returnValue = false;
- }
-
- returnValue;
- events:
- key:
- name: PMControlPolicy_Events
- version: 0.0.1
- eventMap:
- entry:
- - key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: CDS
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionRequestEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: CDS
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- optional: false
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: CDSResponseStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionRequestEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: actionIdentifiers
- value:
- key: actionIdentifiers
- fieldSchemaKey:
- name: CDSActionIdentifiersType
- version: 0.0.1
- optional: false
- - key: commonHeader
- value:
- key: commonHeader
- fieldSchemaKey:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: DCAE
- parameter:
- entry:
- - key: status
- value:
- key: status
- fieldSchemaKey:
- name: SubscriptionStatusType
- version: 0.0.1
- optional: false
- - key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: CreateSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- value:
- key:
- name: DeleteSubscriptionPayloadEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key: payload
- value:
- key: payload
- fieldSchemaKey:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- optional: false
- - key:
- name: MRResponseEvent
- version: 0.0.1
- value:
- key:
- name: MRResponseEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: DCAE
- target: APEX
- parameter:
- entry:
- - key: count
- value:
- key: count
- fieldSchemaKey:
- name: SimpleIntType
- version: 0.0.1
- optional: false
- - key: serverTimeMs
- value:
- key: serverTimeMs
- fieldSchemaKey:
- name: SimpleIntType
- version: 0.0.1
- optional: false
- - key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionOutputEvent
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: APEX
- target: APEX
- parameter:
- entry:
- - key: albumID
- value:
- key: albumID
- fieldSchemaKey:
- name: UUIDType
- version: 0.0.1
- optional: false
- - key:
- name: pmsh-operational-policy
- version: 0.0.1
- value:
- key:
- name: pmsh-operational-policy
- version: 0.0.1
- nameSpace: org.onap.policy.apex.onap.pmcontrol
- source: DCAE
- target: APEX
- parameter:
- entry:
- - key: blueprintName
- value:
- key: blueprintName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: blueprintVersion
- value:
- key: blueprintVersion
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: changeType
- value:
- key: changeType
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: closedLoopControlName
- value:
- key: closedLoopControlName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: nfName
- value:
- key: nfName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: policyName
- value:
- key: policyName
- fieldSchemaKey:
- name: SimpleStringType
- version: 0.0.1
- optional: false
- - key: subscription
- value:
- key: subscription
- fieldSchemaKey:
- name: SubscriptionType
- version: 0.0.1
- optional: false
- albums:
- key:
- name: PMControlPolicy_Albums
- version: 0.0.1
- albums:
- entry:
- - key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionAlbum
- version: 0.0.1
- scope: policy
- isWritable: true
- itemSchema:
- name: PMSubscriptionType
- version: 0.0.1
- schemas:
- key:
- name: PMControlPolicy_Schemas
- version: 0.0.1
- schemas:
- entry:
- - key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- value:
- key:
- name: CDSActionIdentifiersType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ActionIdentifiers_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "actionName",
- "type": "string"
- },
- {
- "name": "blueprintName",
- "type": "string"
- },
- {
- "name": "blueprintVersion",
- "type": "string"
- },
- {
- "name": "mode",
- "type": "string"
- }
- ]
- }
- - key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateResponsePayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "name": "CreateResponsePayloadEntry",
- "type": "record",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "create_DasH_subscription_DasH_response",
- "type": {
- "name": "create_DasH_subscription_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "odl_DasH_response",
- "type": {
- "name": "odl_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "status",
- "type": "string"
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- - key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSCreateSubscriptionPayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "map",
- "values": {
- "type": "record",
- "name": "CDSRequestPayloadEntry",
- "fields": [
- {
- "name": "create_DasH_subscription_DasH_properties",
- "type": {
- "name": "create_DasH_subscription_DasH_properties_record",
- "type": "record",
- "fields": [
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "administrativeState",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "string"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroups",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementGroups_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroup",
- "type": {
- "name": "measurementGroup",
- "type": "record",
- "fields": [
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementTypes_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "managedObjectDNsBasic_record",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- - key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteResponsePayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "name": "DeleteResponsePayloadEntry",
- "type": "record",
- "namespace": "com.acme.avro",
- "fields": [
- {
- "name": "delete_DasH_subscription_DasH_response",
- "type": {
- "name": "delete_DasH_subscription_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "odl_DasH_response",
- "type": {
- "name": "odl_DasH_response",
- "type": "record",
- "fields": [
- {
- "name": "status",
- "type": "string"
- }
- ]
- }
- }
- ]
- }
- }
- ]
- }
- - key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- value:
- key:
- name: CDSDeleteSubscriptionPayloadType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "map",
- "values": {
- "type": "record",
- "name": "CDSRequestPayloadEntry",
- "fields": [
- {
- "name": "delete_DasH_subscription_DasH_properties",
- "type": {
- "name": "delete_DasH_subscription_DasH_properties_record",
- "type": "record",
- "fields": [
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "administrativeState",
- "type": "string"
- },
- {
- "name": "fileBasedGP",
- "type": "string"
- },
- {
- "name": "fileLocation",
- "type": "string"
- },
- {
- "name": "measurementGroups",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementGroups_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementGroup",
- "type": {
- "name": "measurementGroup",
- "type": "record",
- "fields": [
- {
- "name": "measurementTypes",
- "type": {
- "type": "array",
- "items": {
- "name": "measurementTypes_record",
- "type": "record",
- "fields": [
- {
- "name": "measurementType",
- "type": "string"
- }
- ]
- }
- }
- },
- {
- "name": "managedObjectDNsBasic",
- "type": {
- "type": "array",
- "items": {
- "name": "managedObjectDNsBasic_record",
- "type": "record",
- "fields": [
- {
- "name": "DN",
- "type": "string"
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- - key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSRequestCommonHeaderType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "RequestCommonHeader_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "originatorId",
- "type": "string"
- },
- {
- "name": "requestId",
- "type": "string"
- },
- {
- "name": "subRequestId",
- "type": "string"
- }
- ]
- }
- - key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- value:
- key:
- name: CDSResponseCommonHeaderType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ResponseCommonHeader_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "originatorId",
- "type": "string"
- },
- {
- "name": "requestId",
- "type": "string"
- },
- {
- "name": "subRequestId",
- "type": "string"
- },
- {
- "name": "timestamp",
- "type": "string"
- },
- {
- "name": "flags",
- "type": ["null", "string"]
- }
- ]
- }
- - key:
- name: CDSResponseStatusType
- version: 0.0.1
- value:
- key:
- name: CDSResponseStatusType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ResponseStatus_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "code",
- "type": "int"
- },
- {
- "name": "eventType",
- "type": "string"
- },
- {
- "name": "timestamp",
- "type": "string"
- },
- {
- "name": "message",
- "type": "string"
- }
- ]
- }
- - key:
- name: PMSubscriptionType
- version: 0.0.1
- value:
- key:
- name: PMSubscriptionType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: "{\n\t\"name\": \"PMSubscription\",\n\t\"type\": \"record\",\n\t\"namespace\": \"\
- org.onap.policy.apex.onap.pmcontrol\",\n\t\"fields\": [\n {\n \"name\": \"nfName\"\
- ,\n \"type\": \"string\"\n },\n\t {\n\t\t\t\"name\": \"changeType\",\n\t\t\t\"\
- type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"closedLoopControlName\",\n\t\t\t\"type\": \"\
- string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"policyName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
- {\n\t\t \"name\": \"blueprintName\",\n\t\t \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t \"name\"\
- : \"blueprintVersion\",\n\t\t \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"subscription\"\
- ,\n\t\t\t\"type\": {\n\t\t\t\t\"name\": \"subscription\",\n\t\t\t\t\"type\": \"record\",\n\t\t\t\t\
- \"fields\": [{\n\t\t\t\t\t\t\"name\": \"subscriptionName\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\
- \t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"administrativeState\",\n\t\t\t\t\t\t\"type\": \"string\"\
- \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\t\t\t\"type\": \"int\"\
- \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileLocation\",\n\t\t\t\t\t\t\"type\": \"string\"\
- \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\t\t\t\"type\": {\n\
- \t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"name\": \"Measurement_Groups_Type\"\
- ,\n\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\"\
- : \"measurementGroup\",\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"name\": \"Measurement_Group_Type\"\
- ,\n\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\
- \t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\
- \t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\
- name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
- \t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\
- \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
- \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\
- \t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\
- \t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
- \t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\"\
- ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\",\n\t\
- \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
- \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\
- \t\t\t\t}\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\
- \t}\n\t]\n}"
- - key:
- name: SimpleIntType
- version: 0.0.1
- value:
- key:
- name: SimpleIntType
- version: 0.0.1
- schemaFlavour: Java
- schemaDefinition: java.lang.Integer
- - key:
- name: SimpleStringType
- version: 0.0.1
- value:
- key:
- name: SimpleStringType
- version: 0.0.1
- schemaFlavour: Java
- schemaDefinition: java.lang.String
- - key:
- name: SubscriptionStatusType
- version: 0.0.1
- value:
- key:
- name: SubscriptionStatusType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: |-
- {
- "type": "record",
- "name": "ActivateSubscriptionStatus_Type",
- "namespace": "org.onap.policy.apex.onap.helloworld",
- "fields": [
- {
- "name": "subscriptionName",
- "type": "string"
- },
- {
- "name": "nfName",
- "type": "string"
- },
- {
- "name": "changeType",
- "type": "string"
- },
- {
- "name": "message",
- "type": "string"
- }
- ]
- }
- - key:
- name: SubscriptionType
- version: 0.0.1
- value:
- key:
- name: SubscriptionType
- version: 0.0.1
- schemaFlavour: Avro
- schemaDefinition: "{\n\t\"name\": \"subscription\",\n\t\"type\": \"record\",\n\t\"fields\": [{\n\t\t\
- \t\"name\": \"subscriptionName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"administrativeState\"\
- ,\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\"type\": \"\
- int\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileLocation\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
- {\n\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\"type\": {\n\t\t\t\t\"type\": \"array\",\n\t\t\t\
- \t\"items\": {\n\t\t\t\t\t\"name\": \"Measurement_Groups_Type\",\n\t\t\t\t\t\"type\": \"record\",\n\
- \t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\"name\": \"measurementGroup\",\n\t\t\t\t\t\t\"type\": {\n\t\
- \t\t\t\t\t\t\"name\": \"Measurement_Group_Type\",\n\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
- \t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\"type\"\
- : {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
- \t\t\"name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
- \t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\t\t\t\t\t\t\
- \t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\
- }\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\
- \t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\"\
- : {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"\
- type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\"\
- ,\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\
- \t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}]\n\t\t\t\t}\n\t\
- \t\t}\n\t\t}\n\t]\n}"
- - key:
- name: UUIDType
- version: 0.0.1
- value:
- key:
- name: UUIDType
- version: 0.0.1
- schemaFlavour: Java
- schemaDefinition: java.util.UUID
- engineParameters:
- executorParameters:
- JAVASCRIPT:
- parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters
- contextParameters:
- parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters
- schemaParameters:
- Avro:
- parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters
- Java:
- parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters
- jsonAdapters:
- Instant:
- adaptedClass: java.time.Instant
- adaptorClass: org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter
- eventInputParameters:
- DCAEConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTCLIENT
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
- parameters:
- consumerPollTime: '50'
- url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1
- eventProtocolParameters:
- eventProtocol: JSON
- parameters:
- nameAlias: policyName
- eventName: pmsh-operational-policy
- eventNameFilter: pmsh-operational-policy
- CDSRequestConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- parameters:
- url: http://10.10.10.184:30254/api/v1/execution-service/process
- httpMethod: POST
- restRequestTimeout: 2000
- httpHeaders:
- - - Authorization
- - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
- eventProtocolParameters:
- eventProtocol: JSON
- eventName: CDSCreateResponseEvent
- eventNameFilter: CDSCreateResponseEvent
- requestorMode: true
- requestorPeer: CDSRequestProducer
- requestorTimeout: 500
- CDSDeleteRequestConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- parameters:
- url: http://10.10.10.184:30254/api/v1/execution-service/process
- httpMethod: POST
- restRequestTimeout: 2000
- httpHeaders:
- - - Authorization
- - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
- eventProtocolParameters:
- eventProtocol: JSON
- eventName: CDSDeleteResponseEvent
- eventNameFilter: CDSDeleteResponseEvent
- requestorMode: true
- requestorPeer: CDSDeleteRequestProducer
- requestorTimeout: 500
- CDSReplyConsumer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- parameters:
- url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT
- httpMethod: POST
- restRequestTimeout: 2000
- eventProtocolParameters:
- eventProtocol: JSON
- eventName: MRResponseEvent
- eventNameFilter: MRResponseEvent
- requestorMode: true
- requestorPeer: CDSReplyProducer
- requestorTimeout: 500
- eventOutputParameters:
- logOutputter:
- carrierTechnologyParameters:
- carrierTechnology: FILE
- parameters:
- fileName: /tmp/outputevents.log
- eventProtocolParameters:
- eventProtocol: JSON
- StdOutOutputter:
- carrierTechnologyParameters:
- carrierTechnology: FILE
- parameters:
- standardIo: true
- eventProtocolParameters:
- eventProtocol: JSON
- CDSRequestProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSCreateSubscriptionRequestEvent
- requestorMode: true
- requestorPeer: CDSRequestConsumer
- requestorTimeout: 500
- CDSDeleteRequestProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSDeleteSubscriptionRequestEvent
- requestorMode: true
- requestorPeer: CDSDeleteRequestConsumer
- requestorTimeout: 500
- CDSReplyProducer:
- carrierTechnologyParameters:
- carrierTechnology: RESTREQUESTOR
- parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
- eventProtocolParameters:
- eventProtocol: JSON
- eventNameFilter: CDSResponseStatusEvent
- requestorMode: true
- requestorPeer: CDSReplyConsumer
- requestorTimeout: 500
diff --git a/runtime-controlloop/src/test/resources/testscripts/listenOnTopic.sh b/runtime-controlloop/src/test/resources/testscripts/listenOnTopic.sh
deleted file mode 100755
index 5e661777b..000000000
--- a/runtime-controlloop/src/test/resources/testscripts/listenOnTopic.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /bin/bash
-# ============LICENSE_START=======================================================
-# Copyright (C) 2021 Nordix Foundation.
-# ================================================================================
-# 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.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-if [ $# -ne 1 ]
-then
- echo invalid parameters $*, specify a single parameter as the topic to listen on
- exit 1
-fi
-
-while true
-do
- curl "http://localhost:3904/events/$1/TEST/1?timeout=60000"
- echo ""
-done
-