diff options
Diffstat (limited to 'runtime-acm/src')
9 files changed, 79 insertions, 109 deletions
diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java index 4f564478f..05a866e43 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandler.java @@ -43,7 +43,6 @@ import org.onap.policy.clamp.models.acm.concepts.ParticipantUtils; import org.onap.policy.clamp.models.acm.concepts.StateChangeResult; import org.onap.policy.clamp.models.acm.concepts.SubState; import org.onap.policy.clamp.models.acm.messages.kafka.participant.AutomationCompositionDeployAck; -import org.onap.policy.clamp.models.acm.persistence.provider.AcDefinitionProvider; import org.onap.policy.clamp.models.acm.persistence.provider.AutomationCompositionProvider; import org.onap.policy.clamp.models.acm.utils.AcmUtils; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; @@ -61,7 +60,6 @@ public class SupervisionAcHandler { private static final Logger LOGGER = LoggerFactory.getLogger(SupervisionAcHandler.class); private final AutomationCompositionProvider automationCompositionProvider; - private final AcDefinitionProvider acDefinitionProvider; // Publishers for participant communication private final AutomationCompositionDeployPublisher automationCompositionDeployPublisher; @@ -96,8 +94,7 @@ public class SupervisionAcHandler { automationComposition.setPhase(startPhase); automationCompositionProvider.updateAutomationComposition(automationComposition); executor.execute( - () -> automationCompositionDeployPublisher.send(automationComposition, acDefinition.getServiceTemplate(), - startPhase, true)); + () -> automationCompositionDeployPublisher.send(automationComposition, startPhase, true)); } /** @@ -287,8 +284,7 @@ public class SupervisionAcHandler { automationCompositionAckMessage.getStateChangeResult(), automationCompositionAckMessage.getStage()); if (updated) { automationComposition = automationCompositionProvider.updateAcState(automationComposition); - var acDefinition = acDefinitionProvider.getAcDefinition(automationComposition.getCompositionId()); - participantSyncPublisher.sendSync(acDefinition.getServiceTemplate(), automationComposition); + participantSyncPublisher.sendSync(automationComposition); } } diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java index 3eb471609..5de6a4c74 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandler.java @@ -110,8 +110,7 @@ public class SupervisionParticipantHandler { participantStatusMsg.getParticipantSupportedElementType(), false); if (!participantStatusMsg.getAutomationCompositionInfoList().isEmpty()) { - updateAcOutProperties(participantStatusMsg.getAutomationCompositionInfoList(), - participantStatusMsg.getCompositionId()); + updateAcOutProperties(participantStatusMsg.getAutomationCompositionInfoList()); } if (!participantStatusMsg.getParticipantDefinitionUpdates().isEmpty() && participantStatusMsg.getCompositionId() != null) { @@ -152,13 +151,11 @@ public class SupervisionParticipantHandler { } - private void updateAcOutProperties(List<AutomationCompositionInfo> automationCompositionInfoList, - UUID compositionId) { + private void updateAcOutProperties(List<AutomationCompositionInfo> automationCompositionInfoList) { automationCompositionProvider.upgradeStates(automationCompositionInfoList); - var acDefinition = acDefinitionProvider.getAcDefinition(compositionId); for (var acInfo : automationCompositionInfoList) { var ac = automationCompositionProvider.getAutomationComposition(acInfo.getAutomationCompositionId()); - participantSyncPublisher.sendSync(acDefinition.getServiceTemplate(), ac); + participantSyncPublisher.sendSync(ac); } } diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java index de2f37564..9b030eae1 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScanner.java @@ -151,7 +151,7 @@ public class SupervisionScanner { || SubState.PREPARING.equals(automationComposition.getSubState()) || SubState.REVIEWING.equals(automationComposition.getSubState()) || SubState.MIGRATION_PRECHECKING.equals(automationComposition.getSubState())) { - simpleScan(automationComposition, serviceTemplate); + simpleScan(automationComposition); } else { scanWithPhase(automationComposition, serviceTemplate); } @@ -187,7 +187,7 @@ public class SupervisionScanner { } if (completed) { - complete(automationComposition, serviceTemplate); + complete(automationComposition); } else { LOGGER.debug("automation composition scan: transition state {} {} not completed", automationComposition.getDeployState(), automationComposition.getLockState()); @@ -198,9 +198,9 @@ public class SupervisionScanner { var nextSpNotCompleted = isForward ? minSpNotCompleted : maxSpNotCompleted; if (nextSpNotCompleted != automationComposition.getPhase()) { - sendAutomationCompositionMsg(automationComposition, serviceTemplate, nextSpNotCompleted); + sendAutomationCompositionMsg(automationComposition, nextSpNotCompleted); } else { - handleTimeout(automationComposition, serviceTemplate); + handleTimeout(automationComposition); } } } @@ -209,17 +209,16 @@ public class SupervisionScanner { * Simple scan: UPDATE, PREPARE, REVIEW, MIGRATE_PRECHECKING. * * @param automationComposition the AutomationComposition - * @param serviceTemplate the ToscaServiceTemplate */ - private void simpleScan(final AutomationComposition automationComposition, ToscaServiceTemplate serviceTemplate) { + private void simpleScan(final AutomationComposition automationComposition) { var completed = automationComposition.getElements().values().stream() .filter(element -> AcmUtils.isInTransitionalState(element.getDeployState(), element.getLockState(), element.getSubState())).findFirst().isEmpty(); if (completed) { - complete(automationComposition, serviceTemplate); + complete(automationComposition); } else { - handleTimeout(automationComposition, serviceTemplate); + handleTimeout(automationComposition); } } @@ -246,7 +245,7 @@ public class SupervisionScanner { } if (completed) { - complete(automationComposition, serviceTemplate); + complete(automationComposition); } else { LOGGER.debug("automation composition scan: transition from state {} to {} not completed", automationComposition.getDeployState(), automationComposition.getLockState()); @@ -256,13 +255,12 @@ public class SupervisionScanner { LOGGER.debug("retry message AutomationCompositionMigration"); automationCompositionMigrationPublisher.send(automationComposition, minStageNotCompleted); } else { - handleTimeout(automationComposition, serviceTemplate); + handleTimeout(automationComposition); } } } - private void complete(final AutomationComposition automationComposition, - ToscaServiceTemplate serviceTemplate) { + private void complete(final AutomationComposition automationComposition) { LOGGER.debug("automation composition scan: transition state {} {} {} completed", automationComposition.getDeployState(), automationComposition.getLockState(), automationComposition.getSubState()); @@ -287,7 +285,7 @@ public class SupervisionScanner { } else { acToUpdate = automationCompositionProvider.updateAcState(acToUpdate); } - participantSyncPublisher.sendSync(serviceTemplate, acToUpdate); + participantSyncPublisher.sendSync(acToUpdate); } private void handleTimeout(AutomationCompositionDefinition acDefinition) { @@ -306,8 +304,7 @@ public class SupervisionScanner { } } - private void handleTimeout(AutomationComposition automationComposition, - ToscaServiceTemplate serviceTemplate) { + private void handleTimeout(AutomationComposition automationComposition) { LOGGER.debug("automation composition scan: transition from state {} to {} {} not completed", automationComposition.getDeployState(), automationComposition.getLockState(), automationComposition.getSubState()); @@ -322,7 +319,7 @@ public class SupervisionScanner { LOGGER.debug("Report timeout for the ac instance {}", automationComposition.getInstanceId()); automationComposition.setStateChangeResult(StateChangeResult.TIMEOUT); automationCompositionProvider.updateAcState(automationComposition); - participantSyncPublisher.sendSync(serviceTemplate, automationComposition); + participantSyncPublisher.sendSync(automationComposition); } } @@ -332,14 +329,12 @@ public class SupervisionScanner { automationCompositionProvider.updateAcState(automationComposition); } - private void sendAutomationCompositionMsg(AutomationComposition automationComposition, - ToscaServiceTemplate serviceTemplate, int startPhase) { + private void sendAutomationCompositionMsg(AutomationComposition automationComposition, int startPhase) { savePhase(automationComposition, startPhase); if (DeployState.DEPLOYING.equals(automationComposition.getDeployState())) { LOGGER.debug("retry message AutomationCompositionDeploy"); - automationCompositionDeployPublisher.send(automationComposition, serviceTemplate, startPhase, - false); + automationCompositionDeployPublisher.send(automationComposition, startPhase, false); } else { LOGGER.debug("retry message AutomationCompositionStateChange"); automationCompositionStateChangePublisher.send(automationComposition, startPhase, false); diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/AutomationCompositionDeployPublisher.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/AutomationCompositionDeployPublisher.java index 7fe63a7c5..d6d38ddf1 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/AutomationCompositionDeployPublisher.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/AutomationCompositionDeployPublisher.java @@ -36,7 +36,6 @@ import org.onap.policy.clamp.models.acm.concepts.ParticipantDeploy; import org.onap.policy.clamp.models.acm.messages.kafka.participant.AutomationCompositionDeploy; import org.onap.policy.clamp.models.acm.messages.rest.instantiation.DeployOrder; import org.onap.policy.clamp.models.acm.utils.AcmUtils; -import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -59,14 +58,10 @@ public class AutomationCompositionDeployPublisher extends AbstractParticipantPub */ @Timed(value = "publisher.automation_composition_deploy", description = "AUTOMATION_COMPOSITION_DEPLOY messages published") - public void send(AutomationComposition automationComposition, ToscaServiceTemplate toscaServiceTemplate, - int startPhase, boolean firstStartPhase) { - var toscaServiceTemplateFragment = AcmUtils.getToscaServiceTemplateFragment(toscaServiceTemplate); + public void send(AutomationComposition automationComposition, int startPhase, boolean firstStartPhase) { Map<UUID, List<AcElementDeploy>> map = new HashMap<>(); for (var element : automationComposition.getElements().values()) { var acElementDeploy = AcmUtils.createAcElementDeploy(element, DeployOrder.DEPLOY); - acElementDeploy.setToscaServiceTemplateFragment(toscaServiceTemplateFragment); - map.putIfAbsent(element.getParticipantId(), new ArrayList<>()); map.get(element.getParticipantId()).add(acElementDeploy); } diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/ParticipantSyncPublisher.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/ParticipantSyncPublisher.java index d90b6f667..3e42f940c 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/ParticipantSyncPublisher.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/comm/ParticipantSyncPublisher.java @@ -33,7 +33,6 @@ import org.onap.policy.clamp.models.acm.concepts.DeployState; import org.onap.policy.clamp.models.acm.concepts.ParticipantRestartAc; import org.onap.policy.clamp.models.acm.messages.kafka.participant.ParticipantSync; import org.onap.policy.clamp.models.acm.utils.AcmUtils; -import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -67,10 +66,9 @@ public class ParticipantSyncPublisher extends AbstractParticipantPublisher<Parti message.setState(acmDefinition.getState()); message.setParticipantDefinitionUpdates(AcmUtils.prepareParticipantRestarting(participantId, acmDefinition, acRuntimeParameterGroup.getAcmParameters().getToscaElementName())); - var toscaServiceTemplateFragment = AcmUtils.getToscaServiceTemplateFragment(acmDefinition.getServiceTemplate()); for (var automationComposition : automationCompositions) { - var syncAc = AcmUtils.createAcRestart(automationComposition, participantId, toscaServiceTemplateFragment); + var syncAc = AcmUtils.createAcRestart(automationComposition, participantId); message.getAutomationcompositionList().add(syncAc); } @@ -117,11 +115,10 @@ public class ParticipantSyncPublisher extends AbstractParticipantPublisher<Parti /** * Send AutomationComposition sync msg to all Participants. * - * @param serviceTemplate the ServiceTemplate * @param automationComposition the automationComposition */ @Timed(value = "publisher.participant_sync_msg", description = "Participant Sync published") - public void sendSync(ToscaServiceTemplate serviceTemplate, AutomationComposition automationComposition) { + public void sendSync(AutomationComposition automationComposition) { var message = new ParticipantSync(); message.setCompositionId(automationComposition.getCompositionId()); message.setAutomationCompositionId(automationComposition.getInstanceId()); @@ -136,10 +133,8 @@ public class ParticipantSyncPublisher extends AbstractParticipantPublisher<Parti if (DeployState.DELETED.equals(automationComposition.getDeployState())) { message.setDelete(true); } else { - var toscaServiceTemplateFragment = AcmUtils.getToscaServiceTemplateFragment(serviceTemplate); for (var element : automationComposition.getElements().values()) { var acElementSync = AcmUtils.createAcElementRestart(element); - acElementSync.setToscaServiceTemplateFragment(toscaServiceTemplateFragment); syncAc.getAcElementList().add(acElementSync); } diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandlerTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandlerTest.java index b104084a8..c5345f2f1 100644 --- a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandlerTest.java +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionAcHandlerTest.java @@ -45,14 +45,12 @@ import org.onap.policy.clamp.acm.runtime.util.CommonTestData; import org.onap.policy.clamp.models.acm.concepts.AcElementDeployAck; import org.onap.policy.clamp.models.acm.concepts.AcTypeState; import org.onap.policy.clamp.models.acm.concepts.AutomationComposition; -import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionDefinition; import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement; import org.onap.policy.clamp.models.acm.concepts.DeployState; import org.onap.policy.clamp.models.acm.concepts.LockState; import org.onap.policy.clamp.models.acm.concepts.StateChangeResult; import org.onap.policy.clamp.models.acm.messages.kafka.participant.AutomationCompositionDeployAck; import org.onap.policy.clamp.models.acm.messages.kafka.participant.ParticipantMessageType; -import org.onap.policy.clamp.models.acm.persistence.provider.AcDefinitionProvider; import org.onap.policy.clamp.models.acm.persistence.provider.AutomationCompositionProvider; class SupervisionAcHandlerTest { @@ -62,7 +60,7 @@ class SupervisionAcHandlerTest { @Test void testAutomationCompositionDeployAckNull() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), mock(AutomationCompositionStateChangePublisher.class), mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -76,6 +74,9 @@ class SupervisionAcHandlerTest { automationCompositionAckMessage.setStateChangeResult(null); handler.handleAutomationCompositionStateChangeAckMessage(automationCompositionAckMessage); + automationCompositionAckMessage.setStateChangeResult(StateChangeResult.TIMEOUT); + handler.handleAutomationCompositionStateChangeAckMessage(automationCompositionAckMessage); + automationCompositionAckMessage.setStateChangeResult(StateChangeResult.NO_ERROR); automationCompositionAckMessage.setAutomationCompositionId(null); handler.handleAutomationCompositionStateChangeAckMessage(automationCompositionAckMessage); @@ -102,11 +103,7 @@ class SupervisionAcHandlerTest { when(automationCompositionProvider.updateAcState(any(AutomationComposition.class))) .thenReturn(automationComposition); - var acDefinitionProvider = mock(AcDefinitionProvider.class); - when(acDefinitionProvider.getAcDefinition(automationComposition.getCompositionId())) - .thenReturn(new AutomationCompositionDefinition()); - - var handler = new SupervisionAcHandler(automationCompositionProvider, acDefinitionProvider, + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), mock(AutomationCompositionStateChangePublisher.class), mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -132,11 +129,7 @@ class SupervisionAcHandlerTest { when(automationCompositionProvider.updateAcState(any(AutomationComposition.class))) .thenReturn(automationComposition); - var acDefinitionProvider = mock(AcDefinitionProvider.class); - when(acDefinitionProvider.getAcDefinition(automationComposition.getCompositionId())) - .thenReturn(new AutomationCompositionDefinition()); - - var handler = new SupervisionAcHandler(automationCompositionProvider, acDefinitionProvider, + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), mock(AutomationCompositionStateChangePublisher.class), mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -175,16 +168,12 @@ class SupervisionAcHandlerTest { when(automationCompositionProvider.updateAcState(any(AutomationComposition.class))) .thenReturn(automationComposition); - var acDefinitionProvider = mock(AcDefinitionProvider.class); - when(acDefinitionProvider.getAcDefinition(automationComposition.getCompositionId())) - .thenReturn(new AutomationCompositionDefinition()); - var automationCompositionAckMessage = getAutomationCompositionDeployAck(ParticipantMessageType.AUTOMATION_COMPOSITION_DEPLOY_ACK, automationComposition, DeployState.DEPLOYED, LockState.LOCKED); automationCompositionAckMessage.setParticipantId(CommonTestData.getParticipantId()); - var handler = new SupervisionAcHandler(automationCompositionProvider, acDefinitionProvider, + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), mock(AutomationCompositionStateChangePublisher.class), mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -222,7 +211,7 @@ class SupervisionAcHandlerTest { var automationCompositionStateChangePublisher = mock(AutomationCompositionStateChangePublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), automationCompositionStateChangePublisher, null, null, mock(ParticipantSyncPublisher.class), null); @@ -236,7 +225,7 @@ class SupervisionAcHandlerTest { void testDeployFailed() { var automationCompositionDeployPublisher = mock(AutomationCompositionDeployPublisher.class); var automationCompositionProvider = mock(AutomationCompositionProvider.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, automationCompositionDeployPublisher, mock(AutomationCompositionStateChangePublisher.class), mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -248,15 +237,14 @@ class SupervisionAcHandlerTest { automationComposition.setStateChangeResult(StateChangeResult.FAILED); handler.deploy(automationComposition, acDefinition); verify(automationCompositionProvider).updateAutomationComposition(automationComposition); - verify(automationCompositionDeployPublisher, timeout(1000)) - .send(automationComposition, acDefinition.getServiceTemplate(), 0, true); + verify(automationCompositionDeployPublisher, timeout(1000)).send(automationComposition, 0, true); } @Test void testUndeploy() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acStateChangePublisher = mock(AutomationCompositionStateChangePublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), acStateChangePublisher, mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -274,7 +262,7 @@ class SupervisionAcHandlerTest { void testUndeployFailed() { var acStateChangePublisher = mock(AutomationCompositionStateChangePublisher.class); var automationCompositionProvider = mock(AutomationCompositionProvider.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), acStateChangePublisher, mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -295,7 +283,7 @@ class SupervisionAcHandlerTest { void testUnlock() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acStateChangePublisher = mock(AutomationCompositionStateChangePublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), acStateChangePublisher, mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -313,7 +301,7 @@ class SupervisionAcHandlerTest { void testUnlockFailed() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acStateChangePublisher = mock(AutomationCompositionStateChangePublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), acStateChangePublisher, mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -333,7 +321,7 @@ class SupervisionAcHandlerTest { void testLock() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acStateChangePublisher = mock(AutomationCompositionStateChangePublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), acStateChangePublisher, mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -351,7 +339,7 @@ class SupervisionAcHandlerTest { void testLockFailed() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acStateChangePublisher = mock(AutomationCompositionStateChangePublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), acStateChangePublisher, mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -383,7 +371,7 @@ class SupervisionAcHandlerTest { automationCompositionAckMessage.setAutomationCompositionId(IDENTIFIER); automationCompositionAckMessage.setStateChangeResult(StateChangeResult.NO_ERROR); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AutomationCompositionDeployPublisher.class), mock(AutomationCompositionStateChangePublisher.class), mock(AcElementPropertiesPublisher.class), null, mock(ParticipantSyncPublisher.class), null); @@ -398,7 +386,7 @@ class SupervisionAcHandlerTest { void testUpdate() { var acElementPropertiesPublisher = mock(AcElementPropertiesPublisher.class); var handler = new SupervisionAcHandler(mock(AutomationCompositionProvider.class), - mock(AcDefinitionProvider.class), mock(AutomationCompositionDeployPublisher.class), + mock(AutomationCompositionDeployPublisher.class), mock(AutomationCompositionStateChangePublisher.class), acElementPropertiesPublisher, null, mock(ParticipantSyncPublisher.class), null); var automationComposition = @@ -411,7 +399,7 @@ class SupervisionAcHandlerTest { void testMigrate() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acCompositionMigrationPublisher = mock(AutomationCompositionMigrationPublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, mock(AcDefinitionProvider.class), + var handler = new SupervisionAcHandler(automationCompositionProvider, null, null, null, acCompositionMigrationPublisher, mock(ParticipantSyncPublisher.class), null); var automationComposition = @@ -425,7 +413,7 @@ class SupervisionAcHandlerTest { void testMigratePrecheck() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acCompositionMigrationPublisher = mock(AutomationCompositionMigrationPublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, null, null, null, + var handler = new SupervisionAcHandler(automationCompositionProvider, null, null, null, acCompositionMigrationPublisher, null, null); var automationComposition = InstantiationUtils.getAutomationCompositionFromResource(AC_INSTANTIATION_CREATE_JSON, "Migrate"); @@ -437,7 +425,7 @@ class SupervisionAcHandlerTest { void testPrepare() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acPreparePublisher = mock(AcPreparePublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, null, null, null, + var handler = new SupervisionAcHandler(automationCompositionProvider, null, null, null, null, null, acPreparePublisher); var automationComposition = InstantiationUtils.getAutomationCompositionFromResource(AC_INSTANTIATION_CREATE_JSON, "Migrate"); @@ -449,7 +437,7 @@ class SupervisionAcHandlerTest { void testReview() { var automationCompositionProvider = mock(AutomationCompositionProvider.class); var acPreparePublisher = mock(AcPreparePublisher.class); - var handler = new SupervisionAcHandler(automationCompositionProvider, null, null, null, + var handler = new SupervisionAcHandler(automationCompositionProvider, null, null, null, null, null, acPreparePublisher); var automationComposition = InstantiationUtils.getAutomationCompositionFromResource(AC_INSTANTIATION_CREATE_JSON, "Migrate"); diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandlerTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandlerTest.java index 83a279cb7..e3387c668 100644 --- a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandlerTest.java +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionParticipantHandlerTest.java @@ -22,6 +22,7 @@ package org.onap.policy.clamp.acm.runtime.supervision; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -62,17 +63,11 @@ class SupervisionParticipantHandlerTest { @Test void testHandleParticipantDeregister() { - var replica = CommonTestData.createParticipantReplica(CommonTestData.getReplicaId()); - - var participantProvider = mock(ParticipantProvider.class); - when(participantProvider.findParticipantReplica(replica.getReplicaId())) - .thenReturn(Optional.of(replica)); - var participantDeregisterMessage = new ParticipantDeregister(); participantDeregisterMessage.setMessageId(UUID.randomUUID()); participantDeregisterMessage.setParticipantId(CommonTestData.getParticipantId()); - participantDeregisterMessage.setReplicaId(replica.getReplicaId()); var participantDeregisterAckPublisher = mock(ParticipantDeregisterAckPublisher.class); + var participantProvider = mock(ParticipantProvider.class); var handler = new SupervisionParticipantHandler(participantProvider, mock(ParticipantRegisterAckPublisher.class), participantDeregisterAckPublisher, mock(AutomationCompositionProvider.class), @@ -80,7 +75,14 @@ class SupervisionParticipantHandlerTest { mock(AcRuntimeParameterGroup.class)); handler.handleParticipantMessage(participantDeregisterMessage); + verify(participantDeregisterAckPublisher).send(participantDeregisterMessage.getMessageId()); + clearInvocations(participantDeregisterAckPublisher); + var replica = CommonTestData.createParticipantReplica(CommonTestData.getReplicaId()); + participantDeregisterMessage.setReplicaId(replica.getReplicaId()); + when(participantProvider.findParticipantReplica(replica.getReplicaId())) + .thenReturn(Optional.of(replica)); + handler.handleParticipantMessage(participantDeregisterMessage); verify(participantProvider).deleteParticipantReplica(CommonTestData.getReplicaId()); verify(participantDeregisterAckPublisher).send(participantDeregisterMessage.getMessageId()); } @@ -120,6 +122,7 @@ class SupervisionParticipantHandlerTest { var participant = new Participant(); var replica = new ParticipantReplica(); replica.setReplicaId(replicaId); + replica.setParticipantState(ParticipantState.OFF_LINE); participant.setParticipantId(participantId); participant.getReplicas().put(replica.getReplicaId(), replica); var participantProvider = mock(ParticipantProvider.class); @@ -177,15 +180,20 @@ class SupervisionParticipantHandlerTest { when(acDefinitionProvider.getAcDefinition(acDefinition.getCompositionId())).thenReturn(acDefinition); var participantProvider = mock(ParticipantProvider.class); + var participant = CommonTestData.createParticipant(CommonTestData.getParticipantId()); + when(participantProvider.findParticipant(CommonTestData.getParticipantId())) + .thenReturn(Optional.of(participant)); + var replica = CommonTestData.createParticipantReplica(CommonTestData.getReplicaId()); + participantStatusMessage.setReplicaId(replica.getReplicaId()); + when(participantProvider.findParticipantReplica(replica.getReplicaId())) + .thenReturn(Optional.of(replica)); + var automationCompositionProvider = mock(AutomationCompositionProvider.class); var handler = new SupervisionParticipantHandler(participantProvider, mock(ParticipantRegisterAckPublisher.class), mock(ParticipantDeregisterAckPublisher.class), automationCompositionProvider, acDefinitionProvider, mock(ParticipantSyncPublisher.class), mock(AcRuntimeParameterGroup.class)); - var participant = CommonTestData.createParticipant(CommonTestData.getParticipantId()); - when(participantProvider.findParticipant(CommonTestData.getParticipantId())) - .thenReturn(Optional.of(participant)); handler.handleParticipantMessage(participantStatusMessage); verify(automationCompositionProvider).upgradeStates(any()); @@ -228,25 +236,18 @@ class SupervisionParticipantHandlerTest { @Test void testHandleParticipantStatusNotRegisterd() { var participantStatusMessage = createParticipantStatus(); - participantStatusMessage.setAutomationCompositionInfoList(List.of(new AutomationCompositionInfo())); + participantStatusMessage.setAutomationCompositionInfoList(List.of()); participantStatusMessage.setCompositionId(UUID.randomUUID()); - var acDefinitionProvider = mock(AcDefinitionProvider.class); - var acDefinition = new AutomationCompositionDefinition(); - acDefinition.setCompositionId(participantStatusMessage.getCompositionId()); - when(acDefinitionProvider.getAcDefinition(acDefinition.getCompositionId())).thenReturn(acDefinition); - var participantProvider = mock(ParticipantProvider.class); - var automationCompositionProvider = mock(AutomationCompositionProvider.class); var handler = new SupervisionParticipantHandler(participantProvider, mock(ParticipantRegisterAckPublisher.class), - mock(ParticipantDeregisterAckPublisher.class), automationCompositionProvider, - acDefinitionProvider, mock(ParticipantSyncPublisher.class), + mock(ParticipantDeregisterAckPublisher.class), mock(AutomationCompositionProvider.class), + mock(AcDefinitionProvider.class), mock(ParticipantSyncPublisher.class), mock(AcRuntimeParameterGroup.class)); handler.handleParticipantMessage(participantStatusMessage); verify(participantProvider).saveParticipant(any()); - verify(automationCompositionProvider).upgradeStates(any()); } @Test diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScannerTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScannerTest.java index b425c4b80..ddb8a3332 100644 --- a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScannerTest.java +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScannerTest.java @@ -54,7 +54,6 @@ import org.onap.policy.clamp.models.acm.concepts.SubState; import org.onap.policy.clamp.models.acm.persistence.provider.AcDefinitionProvider; import org.onap.policy.clamp.models.acm.persistence.provider.AutomationCompositionProvider; import org.onap.policy.clamp.models.acm.utils.TimestampHelper; -import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; class SupervisionScannerTest { @@ -282,7 +281,7 @@ class SupervisionScannerTest { automationComposition.setLastMsg(TimestampHelper.now()); scannerObj2.run(); verify(automationCompositionProvider).updateAcState(any(AutomationComposition.class)); - verify(participantSyncPublisher).sendSync(any(ToscaServiceTemplate.class), any(AutomationComposition.class)); + verify(participantSyncPublisher).sendSync(any(AutomationComposition.class)); assertEquals(StateChangeResult.TIMEOUT, automationComposition.getStateChangeResult()); //already in TIMEOUT @@ -291,7 +290,7 @@ class SupervisionScannerTest { scannerObj2.run(); verify(automationCompositionProvider, times(0)).updateAutomationComposition(any(AutomationComposition.class)); verify(participantSyncPublisher, times(0)) - .sendSync(any(ToscaServiceTemplate.class), any(AutomationComposition.class)); + .sendSync(any(AutomationComposition.class)); clearInvocations(automationCompositionProvider); clearInvocations(participantSyncPublisher); @@ -300,7 +299,7 @@ class SupervisionScannerTest { } scannerObj2.run(); verify(automationCompositionProvider).updateAcState(any(AutomationComposition.class)); - verify(participantSyncPublisher).sendSync(any(ToscaServiceTemplate.class), any(AutomationComposition.class)); + verify(participantSyncPublisher).sendSync(any(AutomationComposition.class)); assertEquals(StateChangeResult.NO_ERROR, automationComposition.getStateChangeResult()); } @@ -334,8 +333,7 @@ class SupervisionScannerTest { supervisionScanner.run(); - verify(automationCompositionDeployPublisher).send(any(AutomationComposition.class), - any(ToscaServiceTemplate.class), anyInt(), anyBoolean()); + verify(automationCompositionDeployPublisher).send(any(AutomationComposition.class), anyInt(), anyBoolean()); } @Test @@ -370,8 +368,8 @@ class SupervisionScannerTest { supervisionScanner.run(); - verify(automationCompositionDeployPublisher, times(0)).send(any(AutomationComposition.class), - any(ToscaServiceTemplate.class), anyInt(), anyBoolean()); + verify(automationCompositionDeployPublisher, times(0)) + .send(any(AutomationComposition.class), anyInt(), anyBoolean()); } @Test diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/comm/SupervisionMessagesTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/comm/SupervisionMessagesTest.java index 04c883890..4e862c4e9 100644 --- a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/comm/SupervisionMessagesTest.java +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/comm/SupervisionMessagesTest.java @@ -23,6 +23,7 @@ package org.onap.policy.clamp.acm.runtime.supervision.comm; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -263,10 +264,14 @@ class SupervisionMessagesTest { var topicSink = mock(TopicSink.class); publisher.active(topicSink); - var serviceTemplate = InstantiationUtils.getToscaServiceTemplate(TOSCA_SERVICE_TEMPLATE_YAML); var automationComposition = InstantiationUtils.getAutomationCompositionFromResource(AC_INSTANTIATION_UPDATE_JSON, "Crud"); - publisher.sendSync(serviceTemplate, automationComposition); + publisher.sendSync(automationComposition); + verify(topicSink).send(anyString()); + + clearInvocations(topicSink); + automationComposition.setDeployState(DeployState.DELETED); + publisher.sendSync(automationComposition); verify(topicSink).send(anyString()); } |