diff options
author | rameshiyer27 <ramesh.murugan.iyer@est.tech> | 2023-06-12 16:24:32 +0100 |
---|---|---|
committer | Adheli Tavares <adheli.tavares@est.tech> | 2023-06-14 13:08:07 +0000 |
commit | 1d1908528e67d9763482cf9d5921456f19af31e7 (patch) | |
tree | 3cfec9ca9027ba40c1b5d797625c9aa96020a9a6 /runtime-acm/src/test | |
parent | 73a48d9c7e599baf145820d0bc0968040142dac8 (diff) |
Add timeout for ACM operations
User can retry the ACM state change order when ACM operations time out.
Issue-ID: POLICY-4716
Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech>
Change-Id: Ie840fc13170ef235c6b6f3b26a47b7516f10296c
Diffstat (limited to 'runtime-acm/src/test')
-rw-r--r-- | runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionScannerTest.java | 39 |
1 files changed, 39 insertions, 0 deletions
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 8ead9a7c0..7aaa6d22c 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 @@ -30,6 +30,7 @@ import static org.mockito.Mockito.when; import static org.onap.policy.clamp.acm.runtime.util.CommonTestData.TOSCA_SERVICE_TEMPLATE_YAML; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.UUID; import org.junit.jupiter.api.BeforeAll; @@ -40,6 +41,7 @@ import org.onap.policy.clamp.acm.runtime.supervision.comm.AutomationCompositionS import org.onap.policy.clamp.acm.runtime.util.CommonTestData; 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.persistence.provider.AcDefinitionProvider; @@ -104,6 +106,7 @@ class SupervisionScannerTest { verify(automationCompositionProvider).updateAutomationComposition(any(AutomationComposition.class)); } + @Test void testScannerDelete() { var automationComposition = InstantiationUtils.getAutomationCompositionFromResource(AC_JSON, "Crud"); @@ -145,6 +148,42 @@ class SupervisionScannerTest { } @Test + void testScannerForCounterHandling() { + var automationComposition = InstantiationUtils.getAutomationCompositionFromResource(AC_JSON, "Crud"); + automationComposition.setDeployState(DeployState.DEPLOYING); + automationComposition.setLockState(LockState.NONE); + for (Map.Entry<UUID, AutomationCompositionElement> entry : automationComposition.getElements().entrySet()) { + entry.getValue().setDeployState(DeployState.DEPLOYING); + } + var automationCompositionProvider = mock(AutomationCompositionProvider.class); + when(automationCompositionProvider.getAcInstancesByCompositionId(compositionId)) + .thenReturn(List.of(automationComposition)); + + var automationCompositionDeployPublisher = mock(AutomationCompositionDeployPublisher.class); + var automationCompositionStateChangePublisher = mock(AutomationCompositionStateChangePublisher.class); + var acRuntimeParameterGroup = CommonTestData.geParameterGroup("dbScanner"); + acRuntimeParameterGroup.getParticipantParameters().setMaxStatusWaitMs(-1); + + //verify retry scenario + var scannerObj1 = new SupervisionScanner(automationCompositionProvider, acDefinitionProvider, + automationCompositionStateChangePublisher, automationCompositionDeployPublisher, + acRuntimeParameterGroup); + + scannerObj1.run(true); + verify(automationCompositionProvider, times(0)).updateAutomationComposition(any(AutomationComposition.class)); + + //verify timeout scenario + acRuntimeParameterGroup.getParticipantParameters().getUpdateParameters().setMaxRetryCount(0); + var scannerObj2 = new SupervisionScanner(automationCompositionProvider, acDefinitionProvider, + automationCompositionStateChangePublisher, automationCompositionDeployPublisher, + acRuntimeParameterGroup); + + scannerObj2.run(true); + verify(automationCompositionProvider, times(1)).updateAutomationComposition(any(AutomationComposition.class)); + + } + + @Test void testSendAutomationCompositionMsgUpdate() { var automationComposition = InstantiationUtils.getAutomationCompositionFromResource(AC_JSON, "Crud"); automationComposition.setDeployState(DeployState.DEPLOYING); |