aboutsummaryrefslogtreecommitdiffstats
path: root/participant/participant-impl/participant-impl-simulator/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'participant/participant-impl/participant-impl-simulator/src/test')
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/endtoend/ParticipantSimulatorTest.java (renamed from participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/endtoend/ParticipantSimulatorTest.java)79
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/handler/AutomationCompositionElementHandlerTest.java91
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/parameters/CommonTestData.java (renamed from participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/CommonTestData.java)8
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java (renamed from participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java)6
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/rest/TestListenerUtils.java260
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/handler/ControlLoopElementHandlerTest.java98
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java257
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/resources/application_test.properties14
-rw-r--r--participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_automation_composition_tosca.yaml (renamed from participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml)76
9 files changed, 444 insertions, 445 deletions
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/endtoend/ParticipantSimulatorTest.java b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/endtoend/ParticipantSimulatorTest.java
index 14f51269a..de6855d03 100644
--- a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/endtoend/ParticipantSimulatorTest.java
+++ b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/endtoend/ParticipantSimulatorTest.java
@@ -18,7 +18,7 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.policy.clamp.controlloop.participant.simulator.endtoend;
+package org.onap.policy.clamp.acm.participant.simulator.endtoend;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -41,19 +41,19 @@ import org.glassfish.jersey.client.ClientProperties;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
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.ControlLoopElement;
-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.ParticipantState;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ControlLoopUpdate;
-import org.onap.policy.clamp.controlloop.models.messages.rest.TypedSimpleResponse;
-import org.onap.policy.clamp.controlloop.participant.intermediary.api.ParticipantIntermediaryApi;
-import org.onap.policy.clamp.controlloop.participant.intermediary.comm.ControlLoopUpdateListener;
-import org.onap.policy.clamp.controlloop.participant.intermediary.handler.ParticipantHandler;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.CommonTestData;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.rest.AbstractRestController;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.rest.TestListenerUtils;
+import org.onap.policy.clamp.acm.participant.intermediary.api.ParticipantIntermediaryApi;
+import org.onap.policy.clamp.acm.participant.intermediary.comm.AutomationCompositionUpdateListener;
+import org.onap.policy.clamp.acm.participant.intermediary.handler.ParticipantHandler;
+import org.onap.policy.clamp.acm.participant.simulator.main.parameters.CommonTestData;
+import org.onap.policy.clamp.acm.participant.simulator.main.rest.AbstractRestController;
+import org.onap.policy.clamp.acm.participant.simulator.main.rest.TestListenerUtils;
+import org.onap.policy.clamp.models.acm.concepts.AutomationComposition;
+import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement;
+import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionOrderedState;
+import org.onap.policy.clamp.models.acm.concepts.Participant;
+import org.onap.policy.clamp.models.acm.concepts.ParticipantState;
+import org.onap.policy.clamp.models.acm.messages.dmaap.participant.AutomationCompositionUpdate;
+import org.onap.policy.clamp.models.acm.messages.rest.TypedSimpleResponse;
import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
import org.onap.policy.common.gson.GsonMessageBodyHandler;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
@@ -97,10 +97,12 @@ class ParticipantSimulatorTest {
synchronized (lockit) {
if (!check) {
check = true;
- ControlLoopUpdateListener clUpdateListener = new ControlLoopUpdateListener(participantHandler);
+ AutomationCompositionUpdateListener acUpdateListener =
+ new AutomationCompositionUpdateListener(participantHandler);
- ControlLoopUpdate controlLoopUpdateMsg = TestListenerUtils.createControlLoopUpdateMsg();
- clUpdateListener.onTopicEvent(INFRA, TOPIC, null, controlLoopUpdateMsg);
+ AutomationCompositionUpdate automationCompositionUpdateMsg =
+ TestListenerUtils.createAutomationCompositionUpdateMsg();
+ acUpdateListener.onTopicEvent(INFRA, TOPIC, null, automationCompositionUpdateMsg);
}
}
@@ -193,8 +195,8 @@ class ParticipantSimulatorTest {
// GET REST call for querying the participants
Response response = performGet(
- PARTICIPANTS_ENDPOINT + "/" + participant.getKey().getName() + "/" + participant.getKey().getVersion(),
- uuid);
+ PARTICIPANTS_ENDPOINT + "/" + participant.getKey().getName() + "/" + participant.getKey().getVersion(),
+ uuid);
checkResponseEntity(response, 200, uuid);
Participant[] returnValue = response.readEntity(Participant[].class);
@@ -219,18 +221,18 @@ class ParticipantSimulatorTest {
}
@Test
- void testQueryControlLoopElements() throws Exception {
+ void testQueryAutomationCompositionElements() throws Exception {
setUp();
UUID uuid = UUID.randomUUID();
ToscaConceptIdentifier participantId = CommonTestData.getParticipantId();
- // GET REST call for querying the controlLoop elements
+ // GET REST call for querying the automationComposition elements
Response response =
- performGet(ELEMENTS_ENDPOINT + "/" + participantId.getName() + "/" + participantId.getVersion(), uuid);
+ performGet(ELEMENTS_ENDPOINT + "/" + participantId.getName() + "/" + participantId.getVersion(), uuid);
checkResponseEntity(response, 200, uuid);
Map<?, ?> returnValue = response.readEntity(Map.class);
- // Verify the result of GET controlloop elements with what is stored
+ // Verify the result of GET automation composition elements with what is stored
assertThat(returnValue).isEmpty();
}
@@ -242,7 +244,7 @@ class ParticipantSimulatorTest {
void testUpdateParticipant() throws Exception {
setUp();
List<Participant> participants = participantIntermediaryApi.getParticipants(
- CommonTestData.getParticipantId().getName(), CommonTestData.getParticipantId().getVersion());
+ CommonTestData.getParticipantId().getName(), CommonTestData.getParticipantId().getVersion());
assertEquals(ParticipantState.UNKNOWN, participants.get(0).getParticipantState());
// Change the state of the participant to PASSIVE from UNKNOWN
participants.get(0).setParticipantState(ParticipantState.PASSIVE);
@@ -253,7 +255,7 @@ class ParticipantSimulatorTest {
checkResponseEntity(response, 200, uuid);
TypedSimpleResponse<Participant> resp =
- response.readEntity(new GenericType<TypedSimpleResponse<Participant>>() {});
+ response.readEntity(new GenericType<TypedSimpleResponse<Participant>>() {});
assertNotNull(resp.getResponse());
// Verify the response and state returned by PUT REST call for updating participants
assertEquals(participants.get(0).getDefinition(), resp.getResponse().getDefinition());
@@ -261,25 +263,26 @@ class ParticipantSimulatorTest {
}
@Test
- void testUpdateControlLoopElement() throws Exception {
+ void testUpdateAutomationCompositionElement() throws Exception {
setUp();
- ControlLoop controlLoop = TestListenerUtils.createControlLoop();
- Map<UUID, ControlLoopElement> controlLoopElements = participantIntermediaryApi.getControlLoopElements(
- controlLoop.getDefinition().getName(), controlLoop.getDefinition().getVersion());
+ AutomationComposition automationComposition = TestListenerUtils.createAutomationComposition();
+ Map<UUID, AutomationCompositionElement> automationCompositionElements =
+ participantIntermediaryApi.getAutomationCompositionElements(automationComposition.getDefinition().getName(),
+ automationComposition.getDefinition().getVersion());
- UUID uuid = controlLoopElements.keySet().iterator().next();
- ControlLoopElement controlLoopElement = controlLoopElements.get(uuid);
+ UUID uuid = automationCompositionElements.keySet().iterator().next();
+ AutomationCompositionElement automationCompositionElement = automationCompositionElements.get(uuid);
- controlLoopElement.setOrderedState(ControlLoopOrderedState.PASSIVE);
- // PUT REST call for updating ControlLoopElement
- Response response = performPut(ELEMENTS_ENDPOINT, Entity.json(controlLoopElement), uuid);
+ automationCompositionElement.setOrderedState(AutomationCompositionOrderedState.PASSIVE);
+ // PUT REST call for updating AutomationCompositionElement
+ Response response = performPut(ELEMENTS_ENDPOINT, Entity.json(automationCompositionElement), uuid);
checkResponseEntity(response, 200, uuid);
- TypedSimpleResponse<ControlLoopElement> resp =
- response.readEntity(new GenericType<TypedSimpleResponse<ControlLoopElement>>() {});
+ TypedSimpleResponse<AutomationCompositionElement> resp =
+ response.readEntity(new GenericType<TypedSimpleResponse<AutomationCompositionElement>>() {});
assertNotNull(resp.getResponse());
// Verify the response and state returned by PUT REST call for updating participants
- assertEquals(controlLoopElement.getDefinition(), resp.getResponse().getDefinition());
- assertEquals(ControlLoopOrderedState.PASSIVE, resp.getResponse().getOrderedState());
+ assertEquals(automationCompositionElement.getDefinition(), resp.getResponse().getDefinition());
+ assertEquals(AutomationCompositionOrderedState.PASSIVE, resp.getResponse().getOrderedState());
}
}
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/handler/AutomationCompositionElementHandlerTest.java b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/handler/AutomationCompositionElementHandlerTest.java
new file mode 100644
index 000000000..360485efa
--- /dev/null
+++ b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/handler/AutomationCompositionElementHandlerTest.java
@@ -0,0 +1,91 @@
+/*-
+ * ============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.acm.participant.simulator.main.handler;
+
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.mockito.Mockito.when;
+
+import java.util.UUID;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+import org.onap.policy.clamp.acm.participant.intermediary.api.ParticipantIntermediaryApi;
+import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement;
+import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionOrderedState;
+import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionState;
+import org.onap.policy.models.base.PfModelException;
+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 AutomationCompositionElementHandlerTest {
+
+ private static final String ID_NAME = "org.onap.PM_CDS_Blueprint";
+ private static final String ID_VERSION = "1.0.1";
+ private static final UUID automationCompositionElementId = UUID.randomUUID();
+ private static final ToscaConceptIdentifier automationCompositionId =
+ new ToscaConceptIdentifier(ID_NAME, ID_VERSION);
+
+ @Test
+ void testSimulatorHandlerExceptions() throws PfModelException {
+ AutomationCompositionElementHandler handler = getTestingHandler();
+
+ assertDoesNotThrow(() -> handler.automationCompositionElementStateChange(automationCompositionId,
+ automationCompositionElementId, AutomationCompositionState.UNINITIALISED,
+ AutomationCompositionOrderedState.PASSIVE));
+
+ assertDoesNotThrow(() -> handler.automationCompositionElementStateChange(automationCompositionId,
+ automationCompositionElementId, AutomationCompositionState.RUNNING,
+ AutomationCompositionOrderedState.UNINITIALISED));
+
+ assertDoesNotThrow(() -> handler.automationCompositionElementStateChange(automationCompositionId,
+ automationCompositionElementId, AutomationCompositionState.PASSIVE,
+ AutomationCompositionOrderedState.RUNNING));
+ var element = getTestingAcElement();
+ var acElementDefinition = Mockito.mock(ToscaNodeTemplate.class);
+
+ assertDoesNotThrow(
+ () -> handler.automationCompositionElementUpdate(automationCompositionId, element, acElementDefinition));
+
+ assertDoesNotThrow(() -> handler.handleStatistics(automationCompositionElementId));
+ }
+
+ AutomationCompositionElementHandler getTestingHandler() {
+ var handler = new AutomationCompositionElementHandler();
+ var intermediaryApi = Mockito.mock(ParticipantIntermediaryApi.class);
+ var element = getTestingAcElement();
+ when(intermediaryApi.getAutomationCompositionElement(automationCompositionElementId)).thenReturn(element);
+ handler.setIntermediaryApi(intermediaryApi);
+ return handler;
+ }
+
+ AutomationCompositionElement getTestingAcElement() {
+ var element = new AutomationCompositionElement();
+ element.setDefinition(automationCompositionId);
+ element.setDescription("Description");
+ element.setId(automationCompositionElementId);
+ element.setOrderedState(AutomationCompositionOrderedState.UNINITIALISED);
+ element.setParticipantId(automationCompositionId);
+ element.setState(AutomationCompositionState.UNINITIALISED);
+ var template = Mockito.mock(ToscaServiceTemplate.class);
+ element.setToscaServiceTemplateFragment(template);
+ return element;
+ }
+}
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/CommonTestData.java b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/parameters/CommonTestData.java
index 9c41c8bcb..6af454a42 100644
--- a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/CommonTestData.java
+++ b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/parameters/CommonTestData.java
@@ -18,7 +18,7 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.policy.clamp.controlloop.participant.simulator.main.parameters;
+package org.onap.policy.clamp.acm.participant.simulator.main.parameters;
import java.util.Arrays;
import java.util.List;
@@ -34,7 +34,7 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
* Class to hold/create all parameters for test cases.
*/
public class CommonTestData {
- public static final String PARTICIPANT_GROUP_NAME = "ControlLoopParticipantGroup";
+ public static final String PARTICIPANT_GROUP_NAME = "AutomationCompositionParticipantGroup";
public static final String DESCRIPTION = "Participant description";
public static final long TIME_INTERVAL = 2000;
public static final List<TopicParameters> TOPIC_PARAMS = Arrays.asList(getTopicParams());
@@ -83,7 +83,7 @@ public class CommonTestData {
map.put("description", DESCRIPTION);
map.put("participantId", getParticipantId());
map.put("participantType", getParticipantId());
- map.put("clampControlLoopTopics", getTopicParametersMap(false));
+ map.put("clampAutomationCompositionTopics", getTopicParametersMap(false));
}
return map;
@@ -111,7 +111,7 @@ public class CommonTestData {
*/
public static TopicParameters getTopicParams() {
final TopicParameters topicParams = new TopicParameters();
- topicParams.setTopic("POLICY-CLRUNTIME-PARTICIPANT");
+ topicParams.setTopic("POLICY-ACRUNTIME-PARTICIPANT");
topicParams.setTopicCommInfrastructure("dmaap");
topicParams.setServers(Arrays.asList("localhost"));
return topicParams;
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java
index 3c1d1c2a3..c763d09a3 100644
--- a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java
+++ b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/parameters/TestParticipantSimulatorParameters.java
@@ -18,7 +18,7 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.policy.clamp.controlloop.participant.simulator.main.parameters;
+package org.onap.policy.clamp.acm.participant.simulator.main.parameters;
import static org.assertj.core.api.Assertions.assertThat;
@@ -49,14 +49,14 @@ class TestParticipantSimulatorParameters {
@Test
void testParticipantPolicyParameters_NullTopicSinks() {
final ParticipantSimulatorParameters participantParameters = commonTestData.getParticipantSimulatorParameters();
- participantParameters.getIntermediaryParameters().getClampControlLoopTopics().setTopicSinks(null);
+ participantParameters.getIntermediaryParameters().getClampAutomationCompositionTopics().setTopicSinks(null);
assertThat(validatorFactory.getValidator().validate(participantParameters)).isNotEmpty();
}
@Test
void testParticipantPolicyParameters_NullTopicSources() {
final ParticipantSimulatorParameters participantParameters = commonTestData.getParticipantSimulatorParameters();
- participantParameters.getIntermediaryParameters().getClampControlLoopTopics().setTopicSources(null);
+ participantParameters.getIntermediaryParameters().getClampAutomationCompositionTopics().setTopicSources(null);
assertThat(validatorFactory.getValidator().validate(participantParameters)).isNotEmpty();
}
}
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/rest/TestListenerUtils.java b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/rest/TestListenerUtils.java
new file mode 100644
index 000000000..f43400259
--- /dev/null
+++ b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/acm/participant/simulator/main/rest/TestListenerUtils.java
@@ -0,0 +1,260 @@
+/*-
+ * ============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.acm.participant.simulator.main.rest;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.time.Instant;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import org.onap.policy.clamp.acm.participant.simulator.main.parameters.CommonTestData;
+import org.onap.policy.clamp.models.acm.concepts.AutomationComposition;
+import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement;
+import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionOrderedState;
+import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionState;
+import org.onap.policy.clamp.models.acm.concepts.ParticipantDefinition;
+import org.onap.policy.clamp.models.acm.concepts.ParticipantUpdates;
+import org.onap.policy.clamp.models.acm.concepts.ParticipantUtils;
+import org.onap.policy.clamp.models.acm.messages.dmaap.participant.AutomationCompositionStateChange;
+import org.onap.policy.clamp.models.acm.messages.dmaap.participant.AutomationCompositionUpdate;
+import org.onap.policy.clamp.models.acm.messages.dmaap.participant.ParticipantUpdate;
+import org.onap.policy.clamp.models.acm.utils.AcmUtils;
+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.YamlJsonTranslator;
+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.ToscaNodeTemplate;
+import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class TestListenerUtils {
+
+ private static final YamlJsonTranslator yamlTranslator = new YamlJsonTranslator();
+ private static final Coder CODER = new StandardCoder();
+ static CommonTestData commonTestData = new CommonTestData();
+ private static final Logger LOGGER = LoggerFactory.getLogger(TestListenerUtils.class);
+
+ /**
+ * Method to create a automationComposition from a yaml file.
+ *
+ * @return AutomationComposition automation composition
+ */
+ public static AutomationComposition createAutomationComposition() {
+ AutomationComposition automationComposition = new AutomationComposition();
+ Map<UUID, AutomationCompositionElement> elements = new LinkedHashMap<>();
+ ToscaServiceTemplate toscaServiceTemplate = testAutomationCompositionRead();
+ Map<String, ToscaNodeTemplate> nodeTemplatesMap =
+ toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates();
+ for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : nodeTemplatesMap.entrySet()) {
+ AutomationCompositionElement acElement = new AutomationCompositionElement();
+ acElement.setId(UUID.randomUUID());
+
+ ToscaConceptIdentifier acElementParticipantId = new ToscaConceptIdentifier();
+ acElementParticipantId.setName(toscaInputEntry.getKey());
+ acElementParticipantId.setVersion(toscaInputEntry.getValue().getVersion());
+ acElement.setParticipantId(acElementParticipantId);
+ acElement.setParticipantType(acElementParticipantId);
+
+ acElement.setDefinition(acElementParticipantId);
+ acElement.setState(AutomationCompositionState.UNINITIALISED);
+ acElement.setDescription(toscaInputEntry.getValue().getDescription());
+ acElement.setOrderedState(AutomationCompositionOrderedState.UNINITIALISED);
+ elements.put(acElement.getId(), acElement);
+ }
+ automationComposition.setElements(elements);
+ automationComposition.setName("PMSHInstance0");
+ automationComposition.setVersion("1.0.0");
+
+ ToscaConceptIdentifier definition = new ToscaConceptIdentifier();
+ definition.setName("PMSHInstance0");
+ definition.setVersion("1.0.0");
+ automationComposition.setDefinition(definition);
+
+ return automationComposition;
+ }
+
+ /**
+ * Method to create AutomationCompositionStateChange message from the arguments passed.
+ *
+ * @param automationCompositionOrderedState automationCompositionOrderedState
+ *
+ * @return AutomationCompositionStateChange message
+ */
+ public static AutomationCompositionStateChange createAutomationCompositionStateChangeMsg(
+ final AutomationCompositionOrderedState automationCompositionOrderedState) {
+ final AutomationCompositionStateChange acStateChangeMsg = new AutomationCompositionStateChange();
+
+ ToscaConceptIdentifier automationCompositionId = new ToscaConceptIdentifier("PMSHInstance0", "1.0.0");
+ ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_CDS_Blueprint", "1.0.0");
+
+ acStateChangeMsg.setAutomationCompositionId(automationCompositionId);
+ acStateChangeMsg.setParticipantId(participantId);
+ acStateChangeMsg.setTimestamp(Instant.now());
+ acStateChangeMsg.setOrderedState(automationCompositionOrderedState);
+
+ return acStateChangeMsg;
+ }
+
+ /**
+ * Method to create AutomationCompositionUpdateMsg.
+ *
+ * @return AutomationCompositionUpdate message
+ */
+ public static AutomationCompositionUpdate createAutomationCompositionUpdateMsg() {
+ final AutomationCompositionUpdate acUpdateMsg = new AutomationCompositionUpdate();
+ ToscaConceptIdentifier automationCompositionId = new ToscaConceptIdentifier("PMSHInstance0", "1.0.0");
+ ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_Policy", "0.0.0");
+
+ acUpdateMsg.setAutomationCompositionId(automationCompositionId);
+ acUpdateMsg.setParticipantId(participantId);
+ acUpdateMsg.setMessageId(UUID.randomUUID());
+ acUpdateMsg.setTimestamp(Instant.now());
+
+ Map<UUID, AutomationCompositionElement> elements = new LinkedHashMap<>();
+ ToscaServiceTemplate toscaServiceTemplate = testAutomationCompositionRead();
+ Map<String, ToscaNodeTemplate> nodeTemplatesMap =
+ toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates();
+ for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : nodeTemplatesMap.entrySet()) {
+ if (ParticipantUtils.checkIfNodeTemplateIsAutomationCompositionElement(toscaInputEntry.getValue(),
+ toscaServiceTemplate)) {
+ AutomationCompositionElement acElement = new AutomationCompositionElement();
+ acElement.setId(UUID.randomUUID());
+ var acParticipantType =
+ ParticipantUtils.findParticipantType(toscaInputEntry.getValue().getProperties());
+
+ acElement.setParticipantId(acParticipantType);
+ acElement.setParticipantType(acParticipantType);
+
+ acElement.setDefinition(
+ new ToscaConceptIdentifier(toscaInputEntry.getKey(), toscaInputEntry.getValue().getVersion()));
+ acElement.setState(AutomationCompositionState.UNINITIALISED);
+ acElement.setDescription(toscaInputEntry.getValue().getDescription());
+ acElement.setOrderedState(AutomationCompositionOrderedState.PASSIVE);
+ elements.put(acElement.getId(), acElement);
+ }
+ }
+
+ List<ParticipantUpdates> participantUpdates = new ArrayList<>();
+ for (AutomationCompositionElement element : elements.values()) {
+ AcmUtils.prepareParticipantUpdate(element, participantUpdates);
+ }
+ acUpdateMsg.setParticipantUpdatesList(participantUpdates);
+ return acUpdateMsg;
+ }
+
+ /**
+ * Method to create participantUpdateMsg.
+ *
+ * @return ParticipantUpdate message
+ */
+ public static ParticipantUpdate createParticipantUpdateMsg() {
+ final ParticipantUpdate participantUpdateMsg = new ParticipantUpdate();
+ ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_Policy", "1.0.0");
+ ToscaConceptIdentifier participantType =
+ new ToscaConceptIdentifier("org.onap.policy.acm.PolicyAutomationCompositionParticipant", "2.3.1");
+
+ participantUpdateMsg.setParticipantId(participantId);
+ participantUpdateMsg.setTimestamp(Instant.now());
+ participantUpdateMsg.setParticipantType(participantType);
+ participantUpdateMsg.setTimestamp(Instant.ofEpochMilli(3000));
+ participantUpdateMsg.setMessageId(UUID.randomUUID());
+
+ ToscaServiceTemplate toscaServiceTemplate = testAutomationCompositionRead();
+ // Add policies to the toscaServiceTemplate
+ List<ParticipantDefinition> participantDefinitionUpdates = new ArrayList<>();
+ for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : toscaServiceTemplate.getToscaTopologyTemplate()
+ .getNodeTemplates().entrySet()) {
+ if (ParticipantUtils.checkIfNodeTemplateIsAutomationCompositionElement(toscaInputEntry.getValue(),
+ toscaServiceTemplate)) {
+ var acParticipantType =
+ ParticipantUtils.findParticipantType(toscaInputEntry.getValue().getProperties());
+ AcmUtils.prepareParticipantDefinitionUpdate(acParticipantType, toscaInputEntry.getKey(),
+ toscaInputEntry.getValue(), participantDefinitionUpdates, null);
+ }
+ }
+
+ participantUpdateMsg.setParticipantDefinitionUpdates(participantDefinitionUpdates);
+ return participantUpdateMsg;
+ }
+
+ /**
+ * Method to create AutomationCompositionUpdate using the arguments passed.
+ *
+ * @param jsonFilePath the path of the automation composition content
+ *
+ * @return AutomationCompositionUpdate message
+ * @throws CoderException exception while reading the file to object
+ */
+ public static AutomationCompositionUpdate createParticipantAcUpdateMsgFromJson(String jsonFilePath)
+ throws CoderException {
+ AutomationCompositionUpdate automationCompositionUpdateMsg =
+ CODER.decode(new File(jsonFilePath), AutomationCompositionUpdate.class);
+ return automationCompositionUpdateMsg;
+ }
+
+ private static ToscaServiceTemplate testAutomationCompositionRead() {
+ Set<String> automationCompositionDirectoryContents =
+ ResourceUtils.getDirectoryContents("src/test/resources/rest/servicetemplates");
+
+ boolean atLeastOneAutomationCompositionTested = false;
+ ToscaServiceTemplate toscaServiceTemplate = null;
+
+ for (String automationCompositionFilePath : automationCompositionDirectoryContents) {
+ if (!automationCompositionFilePath.endsWith(".yaml")) {
+ continue;
+ }
+ atLeastOneAutomationCompositionTested = true;
+ toscaServiceTemplate = testAutomationCompositionYamlSerialization(automationCompositionFilePath);
+ }
+
+ assertTrue(atLeastOneAutomationCompositionTested);
+ return toscaServiceTemplate;
+ }
+
+ private static ToscaServiceTemplate testAutomationCompositionYamlSerialization(
+ String automationCompositionFilePath) {
+ try {
+ String automationCompositionString = ResourceUtils.getResourceAsString(automationCompositionFilePath);
+ if (automationCompositionString == null) {
+ throw new FileNotFoundException(automationCompositionFilePath);
+ }
+
+ ToscaServiceTemplate serviceTemplate =
+ yamlTranslator.fromYaml(automationCompositionString, ToscaServiceTemplate.class);
+ return serviceTemplate;
+ } catch (FileNotFoundException e) {
+ LOGGER.error("cannot find YAML file", automationCompositionFilePath);
+ throw new IllegalArgumentException(e);
+ }
+ }
+}
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/handler/ControlLoopElementHandlerTest.java b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/handler/ControlLoopElementHandlerTest.java
deleted file mode 100644
index b38adbc5c..000000000
--- a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/handler/ControlLoopElementHandlerTest.java
+++ /dev/null
@@ -1,98 +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.participant.simulator.main.handler;
-
-import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
-import static org.mockito.Mockito.when;
-
-import java.util.UUID;
-import org.junit.jupiter.api.Test;
-import org.mockito.Mockito;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopElement;
-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.participant.intermediary.api.ParticipantIntermediaryApi;
-import org.onap.policy.models.base.PfModelException;
-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 ControlLoopElementHandlerTest {
-
- private static final String ID_NAME = "org.onap.PM_CDS_Blueprint";
- private static final String ID_VERSION = "1.0.1";
- private static final UUID controlLoopElementId = UUID.randomUUID();
- private static final ToscaConceptIdentifier controlLoopId = new ToscaConceptIdentifier(ID_NAME, ID_VERSION);
-
- @Test
- void testSimulatorHandlerExceptions() throws PfModelException {
- ControlLoopElementHandler handler = getTestingHandler();
-
- assertDoesNotThrow(() -> handler
- .controlLoopElementStateChange(controlLoopId,
- controlLoopElementId,
- ControlLoopState.UNINITIALISED,
- ControlLoopOrderedState.PASSIVE));
-
- assertDoesNotThrow(() -> handler
- .controlLoopElementStateChange(controlLoopId,
- controlLoopElementId,
- ControlLoopState.RUNNING,
- ControlLoopOrderedState.UNINITIALISED));
-
- assertDoesNotThrow(() -> handler
- .controlLoopElementStateChange(controlLoopId,
- controlLoopElementId,
- ControlLoopState.PASSIVE,
- ControlLoopOrderedState.RUNNING));
- var element = getTestingClElement();
- var clElementDefinition = Mockito.mock(ToscaNodeTemplate.class);
-
- assertDoesNotThrow(() -> handler
- .controlLoopElementUpdate(controlLoopId, element, clElementDefinition));
-
- assertDoesNotThrow(() -> handler
- .handleStatistics(controlLoopElementId));
- }
-
- ControlLoopElementHandler getTestingHandler() {
- var handler = new ControlLoopElementHandler();
- var intermediaryApi = Mockito.mock(ParticipantIntermediaryApi.class);
- var element = getTestingClElement();
- when(intermediaryApi.getControlLoopElement(controlLoopElementId)).thenReturn(element);
- handler.setIntermediaryApi(intermediaryApi);
- return handler;
- }
-
- ControlLoopElement getTestingClElement() {
- var element = new ControlLoopElement();
- element.setDefinition(controlLoopId);
- element.setDescription("Description");
- element.setId(controlLoopElementId);
- element.setOrderedState(ControlLoopOrderedState.UNINITIALISED);
- element.setParticipantId(controlLoopId);
- element.setState(ControlLoopState.UNINITIALISED);
- var template = Mockito.mock(ToscaServiceTemplate.class);
- element.setToscaServiceTemplateFragment(template);
- return element;
- }
-
-}
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java b/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java
deleted file mode 100644
index 9f6a31e28..000000000
--- a/participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java
+++ /dev/null
@@ -1,257 +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.participant.simulator.main.rest;
-
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.onap.policy.clamp.controlloop.common.utils.CommonUtils;
-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.ControlLoopOrderedState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoopState;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantDefinition;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantUpdates;
-import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ParticipantUtils;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ControlLoopStateChange;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ControlLoopUpdate;
-import org.onap.policy.clamp.controlloop.models.messages.dmaap.participant.ParticipantUpdate;
-import org.onap.policy.clamp.controlloop.participant.simulator.main.parameters.CommonTestData;
-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.YamlJsonTranslator;
-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.ToscaNodeTemplate;
-import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class TestListenerUtils {
-
- private static final YamlJsonTranslator yamlTranslator = new YamlJsonTranslator();
- private static final Coder CODER = new StandardCoder();
- static CommonTestData commonTestData = new CommonTestData();
- private static final Logger LOGGER = LoggerFactory.getLogger(TestListenerUtils.class);
-
- /**
- * Method to create a controlLoop from a yaml file.
- *
- * @return ControlLoop controlloop
- */
- public static ControlLoop createControlLoop() {
- ControlLoop controlLoop = new ControlLoop();
- Map<UUID, ControlLoopElement> elements = new LinkedHashMap<>();
- ToscaServiceTemplate toscaServiceTemplate = testControlLoopRead();
- Map<String, ToscaNodeTemplate> nodeTemplatesMap =
- toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates();
- for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : nodeTemplatesMap.entrySet()) {
- ControlLoopElement clElement = new ControlLoopElement();
- clElement.setId(UUID.randomUUID());
-
- ToscaConceptIdentifier clElementParticipantId = new ToscaConceptIdentifier();
- clElementParticipantId.setName(toscaInputEntry.getKey());
- clElementParticipantId.setVersion(toscaInputEntry.getValue().getVersion());
- clElement.setParticipantId(clElementParticipantId);
- clElement.setParticipantType(clElementParticipantId);
-
- clElement.setDefinition(clElementParticipantId);
- clElement.setState(ControlLoopState.UNINITIALISED);
- clElement.setDescription(toscaInputEntry.getValue().getDescription());
- clElement.setOrderedState(ControlLoopOrderedState.UNINITIALISED);
- elements.put(clElement.getId(), clElement);
- }
- controlLoop.setElements(elements);
- controlLoop.setName("PMSHInstance0");
- controlLoop.setVersion("1.0.0");
-
- ToscaConceptIdentifier definition = new ToscaConceptIdentifier();
- definition.setName("PMSHInstance0");
- definition.setVersion("1.0.0");
- controlLoop.setDefinition(definition);
-
- return controlLoop;
- }
-
- /**
- * Method to create ControlLoopStateChange message from the arguments passed.
- *
- * @param controlLoopOrderedState controlLoopOrderedState
- *
- * @return ControlLoopStateChange message
- */
- public static ControlLoopStateChange createControlLoopStateChangeMsg(
- final ControlLoopOrderedState controlLoopOrderedState) {
- final ControlLoopStateChange clStateChangeMsg = new ControlLoopStateChange();
-
- ToscaConceptIdentifier controlLoopId = new ToscaConceptIdentifier("PMSHInstance0", "1.0.0");
- ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_CDS_Blueprint", "1.0.0");
-
- clStateChangeMsg.setControlLoopId(controlLoopId);
- clStateChangeMsg.setParticipantId(participantId);
- clStateChangeMsg.setTimestamp(Instant.now());
- clStateChangeMsg.setOrderedState(controlLoopOrderedState);
-
- return clStateChangeMsg;
- }
-
- /**
- * Method to create ControlLoopUpdateMsg.
- *
- * @return ControlLoopUpdate message
- */
- public static ControlLoopUpdate createControlLoopUpdateMsg() {
- final ControlLoopUpdate clUpdateMsg = new ControlLoopUpdate();
- ToscaConceptIdentifier controlLoopId = new ToscaConceptIdentifier("PMSHInstance0", "1.0.0");
- ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_Policy", "0.0.0");
-
- clUpdateMsg.setControlLoopId(controlLoopId);
- clUpdateMsg.setParticipantId(participantId);
- clUpdateMsg.setMessageId(UUID.randomUUID());
- clUpdateMsg.setTimestamp(Instant.now());
-
- Map<UUID, ControlLoopElement> elements = new LinkedHashMap<>();
- ToscaServiceTemplate toscaServiceTemplate = testControlLoopRead();
- Map<String, ToscaNodeTemplate> nodeTemplatesMap =
- toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates();
- for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : nodeTemplatesMap.entrySet()) {
- if (ParticipantUtils.checkIfNodeTemplateIsControlLoopElement(toscaInputEntry.getValue(),
- toscaServiceTemplate)) {
- ControlLoopElement clElement = new ControlLoopElement();
- clElement.setId(UUID.randomUUID());
- var clParticipantType =
- ParticipantUtils.findParticipantType(toscaInputEntry.getValue().getProperties());
-
- clElement.setParticipantId(clParticipantType);
- clElement.setParticipantType(clParticipantType);
-
- clElement.setDefinition(
- new ToscaConceptIdentifier(toscaInputEntry.getKey(), toscaInputEntry.getValue().getVersion()));
- clElement.setState(ControlLoopState.UNINITIALISED);
- clElement.setDescription(toscaInputEntry.getValue().getDescription());
- clElement.setOrderedState(ControlLoopOrderedState.PASSIVE);
- elements.put(clElement.getId(), clElement);
- }
- }
-
- List<ParticipantUpdates> participantUpdates = new ArrayList<>();
- for (ControlLoopElement element : elements.values()) {
- CommonUtils.prepareParticipantUpdate(element, participantUpdates);
- }
- clUpdateMsg.setParticipantUpdatesList(participantUpdates);
- return clUpdateMsg;
- }
-
- /**
- * Method to create participantUpdateMsg.
- *
- * @return ParticipantUpdate message
- */
- public static ParticipantUpdate createParticipantUpdateMsg() {
- final ParticipantUpdate participantUpdateMsg = new ParticipantUpdate();
- ToscaConceptIdentifier participantId = new ToscaConceptIdentifier("org.onap.PM_Policy", "1.0.0");
- ToscaConceptIdentifier participantType =
- new ToscaConceptIdentifier("org.onap.policy.controlloop.PolicyControlLoopParticipant", "2.3.1");
-
- participantUpdateMsg.setParticipantId(participantId);
- participantUpdateMsg.setTimestamp(Instant.now());
- participantUpdateMsg.setParticipantType(participantType);
- participantUpdateMsg.setTimestamp(Instant.ofEpochMilli(3000));
- participantUpdateMsg.setMessageId(UUID.randomUUID());
-
- ToscaServiceTemplate toscaServiceTemplate = testControlLoopRead();
- // Add policies to the toscaServiceTemplate
- List<ParticipantDefinition> participantDefinitionUpdates = new ArrayList<>();
- for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : toscaServiceTemplate.getToscaTopologyTemplate()
- .getNodeTemplates().entrySet()) {
- if (ParticipantUtils.checkIfNodeTemplateIsControlLoopElement(toscaInputEntry.getValue(),
- toscaServiceTemplate)) {
- var clParticipantType =
- ParticipantUtils.findParticipantType(toscaInputEntry.getValue().getProperties());
- CommonUtils.prepareParticipantDefinitionUpdate(clParticipantType, toscaInputEntry.getKey(),
- toscaInputEntry.getValue(), participantDefinitionUpdates, null);
- }
- }
-
- participantUpdateMsg.setParticipantDefinitionUpdates(participantDefinitionUpdates);
- return participantUpdateMsg;
- }
-
- /**
- * Method to create ControlLoopUpdate using the arguments passed.
- *
- * @param jsonFilePath the path of the controlloop content
- *
- * @return ControlLoopUpdate message
- * @throws CoderException exception while reading the file to object
- */
- public static ControlLoopUpdate createParticipantClUpdateMsgFromJson(String jsonFilePath) throws CoderException {
- ControlLoopUpdate controlLoopUpdateMsg = CODER.decode(new File(jsonFilePath), ControlLoopUpdate.class);
- return controlLoopUpdateMsg;
- }
-
- private static ToscaServiceTemplate testControlLoopRead() {
- Set<String> controlLoopDirectoryContents =
- ResourceUtils.getDirectoryContents("src/test/resources/rest/servicetemplates");
-
- boolean atLeastOneControlLoopTested = false;
- ToscaServiceTemplate toscaServiceTemplate = null;
-
- for (String controlLoopFilePath : controlLoopDirectoryContents) {
- if (!controlLoopFilePath.endsWith(".yaml")) {
- continue;
- }
- atLeastOneControlLoopTested = true;
- toscaServiceTemplate = testControlLoopYamlSerialization(controlLoopFilePath);
- }
-
- assertTrue(atLeastOneControlLoopTested);
- return toscaServiceTemplate;
- }
-
- private static ToscaServiceTemplate testControlLoopYamlSerialization(String controlLoopFilePath) {
- try {
- String controlLoopString = ResourceUtils.getResourceAsString(controlLoopFilePath);
- if (controlLoopString == null) {
- throw new FileNotFoundException(controlLoopFilePath);
- }
-
- ToscaServiceTemplate serviceTemplate =
- yamlTranslator.fromYaml(controlLoopString, ToscaServiceTemplate.class);
- return serviceTemplate;
- } catch (FileNotFoundException e) {
- LOGGER.error("cannot find YAML file", controlLoopFilePath);
- throw new IllegalArgumentException(e);
- }
- }
-}
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/resources/application_test.properties b/participant/participant-impl/participant-impl-simulator/src/test/resources/application_test.properties
index a4a1f99e5..ccc54581e 100644
--- a/participant/participant-impl/participant-impl-simulator/src/test/resources/application_test.properties
+++ b/participant/participant-impl/participant-impl-simulator/src/test/resources/application_test.properties
@@ -16,10 +16,10 @@ participant.intermediaryParameters.participantId.name=org.onap.PM_CDS_Blueprint
participant.intermediaryParameters.participantId.version=1.0.0
participant.intermediaryParameters.participantType.name=org.onap.PM_CDS_Blueprint
participant.intermediaryParameters.participantType.version=1.0.0
-participant.intermediaryParameters.clampControlLoopTopics.topicSources[0].topic=POLICY-CLRUNTIME-PARTICIPANT
-participant.intermediaryParameters.clampControlLoopTopics.topicSources[0].servers[0]=localhost
-participant.intermediaryParameters.clampControlLoopTopics.topicSources[0].topicCommInfrastructure=dmaap
-participant.intermediaryParameters.clampControlLoopTopics.topicSources[0].fetchTimeout=15000
-participant.intermediaryParameters.clampControlLoopTopics.topicSinks[0].topic=POLICY-CLRUNTIME-PARTICIPANT
-participant.intermediaryParameters.clampControlLoopTopics.topicSinks[0].servers[0]=localhost
-participant.intermediaryParameters.clampControlLoopTopics.topicSinks[0].topicCommInfrastructure=dmaap
+participant.intermediaryParameters.clampAutomationCompositionTopics.topicSources[0].topic=POLICY-ACRUNTIME-PARTICIPANT
+participant.intermediaryParameters.clampAutomationCompositionTopics.topicSources[0].servers[0]=localhost
+participant.intermediaryParameters.clampAutomationCompositionTopics.topicSources[0].topicCommInfrastructure=dmaap
+participant.intermediaryParameters.clampAutomationCompositionTopics.topicSources[0].fetchTimeout=15000
+participant.intermediaryParameters.clampAutomationCompositionTopics.topicSinks[0].topic=POLICY-ACRUNTIME-PARTICIPANT
+participant.intermediaryParameters.clampAutomationCompositionTopics.topicSinks[0].servers[0]=localhost
+participant.intermediaryParameters.clampAutomationCompositionTopics.topicSinks[0].topicCommInfrastructure=dmaap
diff --git a/participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml b/participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_automation_composition_tosca.yaml
index 21d20a8ee..6e34c7cce 100644
--- a/participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml
+++ b/participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_automation_composition_tosca.yaml
@@ -10,14 +10,14 @@ data_types:
type: string
required: true
node_types:
- org.onap.policy.clamp.controlloop.Participant:
+ org.onap.policy.clamp.acm.Participant:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
provider:
type: string
requred: false
- org.onap.policy.clamp.controlloop.ControlLoopElement:
+ org.onap.policy.clamp.acm.AutomationCompositionElement:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
@@ -34,11 +34,11 @@ node_types:
- 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
+ description: A value indicating the start phase in which this automation composition element will be started, the
+ first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped
+ in reverse start phase order. Automation Composition Elements with the same start phase are started and
stopped simultaneously
- org.onap.policy.clamp.controlloop.ControlLoop:
+ org.onap.policy.clamp.acm.AutomationComposition:
version: 1.0.1
derived_from: tosca.nodetypes.Root
properties:
@@ -50,94 +50,94 @@ node_types:
required: true
entry_schema:
type: onap.datatypes.ToscaConceptIdentifier
- org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:
+ org.onap.policy.clamp.acm.DCAEMicroserviceAutomationCompositionElement:
version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
properties:
dcae_blueprint_id:
type: onap.datatypes.ToscaConceptIdentifier
requred: true
- org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement:
+ org.onap.policy.clamp.acm.PolicyTypeAutomationCompositionElement:
version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
properties:
policy_type_id:
type: onap.datatypes.ToscaConceptIdentifier
requred: true
- org.onap.policy.clamp.controlloop.CDSControlLoopElement:
+ org.onap.policy.clamp.acm.CDSAutomationCompositionElement:
version: 1.0.1
- derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
properties:
cds_blueprint_id:
type: onap.datatypes.ToscaConceptIdentifier
requred: true
topology_template:
node_templates:
- org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:
+ org.onap.dcae.acm.DCAEMicroserviceAutomationCompositionParticipant:
version: 2.3.4
- type: org.onap.policy.clamp.controlloop.Participant
+ type: org.onap.policy.clamp.acm.Participant
type_version: 1.0.1
description: Participant for DCAE microservices
properties:
provider: ONAP
- org.onap.policy.controlloop.PolicyControlLoopParticipant:
+ org.onap.policy.acm.PolicyAutomationCompositionParticipant:
version: 2.3.1
- type: org.onap.policy.clamp.controlloop.Participant
+ type: org.onap.policy.clamp.acm.Participant
type_version: 1.0.1
description: Participant for DCAE microservices
properties:
provider: ONAP
- org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant:
+ org.onap.ccsdk.cds.acm.CdsAutomationCompositionParticipant:
version: 2.2.1
- type: org.onap.policy.clamp.controlloop.Participant
+ type: org.onap.policy.clamp.acm.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: org.onap.policy.clamp.acm.DCAEMicroserviceAutomationCompositionElement
type_version: 1.0.0
- description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
+ description: Automation composition element for the DCAE microservice for Performance Management Subscription Handling
properties:
provider: Ericsson
participantType:
- name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
+ name: org.onap.dcae.acm.DCAEMicroserviceAutomationCompositionParticipant
version: 2.3.4
dcae_blueprint_id:
name: org.onap.dcae.blueprints.PMSHBlueprint
version: 1.0.0
- org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
+ org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement:
version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
+ type: org.onap.policy.clamp.acm.PolicyTypeAutomationCompositionElement
type_version: 1.0.0
- description: Control loop element for the monitoring policy for Performance Management Subscription Handling
+ description: Automation composition element for the monitoring policy for Performance Management Subscription Handling
properties:
provider: Ericsson
participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
+ name: org.onap.policy.acm.PolicyAutomationCompositionParticipant
version: 2.3.1
policy_type_id:
name: onap.policies.monitoring.pm-subscription-handler
version: 1.0.0
- org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
+ org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement:
version: 1.2.3
- type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
+ type: org.onap.policy.clamp.acm.PolicyTypeAutomationCompositionElement
type_version: 1.0.0
- description: Control loop element for the operational policy for Performance Management Subscription Handling
+ description: Automation composition element for the operational policy for Performance Management Subscription Handling
properties:
provider: Ericsson
participantType:
- name: org.onap.policy.controlloop.PolicyControlLoopParticipant
+ name: org.onap.policy.acm.PolicyAutomationCompositionParticipant
version: 2.3.1
policy_type_id:
name: onap.policies.operational.pm-subscription-handler
version: 1.0.0
- org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement:
+ org.onap.domain.pmsh.PMSH_CDS_AutomationCompositionElement:
version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoopElement
+ type: org.onap.policy.clamp.acm.AutomationCompositionElement
type_version: 1.0.0
- description: Control loop element for CDS for Performance Management Subscription Handling
+ description: Automation composition element for CDS for Performance Management Subscription Handling
properties:
provider: Ericsson
participantType:
@@ -146,19 +146,19 @@ topology_template:
cds_blueprint_id:
name: org.onap.ccsdk.cds.PMSHCdsBlueprint
version: 1.0.0
- org.onap.domain.pmsh.PMSHControlLoopDefinition:
+ org.onap.domain.pmsh.PMSHAutomationCompositionDefinition:
version: 1.2.3
- type: org.onap.policy.clamp.controlloop.ControlLoop
+ type: org.onap.policy.clamp.acm.AutomationComposition
type_version: 1.0.0
- description: Control loop for Performance Management Subscription Handling
+ description: Automation composition 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
+ - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement
version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
+ - name: org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement
version: 1.2.3
- - name: org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement
+ - name: org.onap.domain.pmsh.PMSH_CDS_AutomationCompositionElement
version: 1.2.3