diff options
3 files changed, 33 insertions, 6 deletions
diff --git a/participant/participant-impl/participant-impl-a1pms/src/main/java/org/onap/policy/clamp/acm/participant/a1pms/handler/AutomationCompositionElementHandler.java b/participant/participant-impl/participant-impl-a1pms/src/main/java/org/onap/policy/clamp/acm/participant/a1pms/handler/AutomationCompositionElementHandler.java index 072d14475..9b942b961 100755 --- a/participant/participant-impl/participant-impl-a1pms/src/main/java/org/onap/policy/clamp/acm/participant/a1pms/handler/AutomationCompositionElementHandler.java +++ b/participant/participant-impl/participant-impl-a1pms/src/main/java/org/onap/policy/clamp/acm/participant/a1pms/handler/AutomationCompositionElementHandler.java @@ -145,12 +145,8 @@ public class AutomationCompositionElementHandler implements AutomationCompositio LOGGER.error("Violations found in the config request parameters: {}", violations); throw new ValidationException("Constraint violations in the config request"); } - } catch (ValidationException | CoderException e) { - LOGGER.error("Error invoking the A1PMS request for the config ", e); + } catch (ValidationException | CoderException | A1PolicyServiceException e) { throw new A1PolicyServiceException(HttpStatus.SC_BAD_REQUEST, "Invalid Configuration", e); - } catch (A1PolicyServiceException e) { - LOGGER.error("Error invoking the A1PMS request for the config ", e); - throw e; } } } diff --git a/participant/participant-impl/participant-impl-a1pms/src/test/java/org/onap/policy/clamp/acm/participant/a1pms/handler/AcElementHandlerTest.java b/participant/participant-impl/participant-impl-a1pms/src/test/java/org/onap/policy/clamp/acm/participant/a1pms/handler/AcElementHandlerTest.java index 690f5f2f4..635b77486 100755 --- a/participant/participant-impl/participant-impl-a1pms/src/test/java/org/onap/policy/clamp/acm/participant/a1pms/handler/AcElementHandlerTest.java +++ b/participant/participant-impl/participant-impl-a1pms/src/test/java/org/onap/policy/clamp/acm/participant/a1pms/handler/AcElementHandlerTest.java @@ -21,6 +21,7 @@ package org.onap.policy.clamp.acm.participant.a1pms.handler; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; @@ -96,6 +97,12 @@ class AcElementHandlerTest { assertDoesNotThrow(() -> automationCompositionElementHandler.automationCompositionElementStateChange( automationCompositionId, automationCompositionElementId, AutomationCompositionState.PASSIVE, AutomationCompositionOrderedState.RUNNING)); + + when(acA1PmsClient.isPmsHealthy()).thenReturn(Boolean.FALSE); + assertThrows(A1PolicyServiceException.class, + () -> automationCompositionElementHandler.automationCompositionElementStateChange( + automationCompositionId, automationCompositionElementId, AutomationCompositionState.PASSIVE, + AutomationCompositionOrderedState.UNINITIALISED)); } @Test @@ -107,4 +114,28 @@ class AcElementHandlerTest { commonTestData.getAutomationCompositionId(), element, nodeTemplatesMap.get(A1_AUTOMATION_COMPOSITION_ELEMENT))); } + + @Test + void test_AutomationCompositionElementUpdateWithUnhealthyA1pms() { + AutomationCompositionElement element = commonTestData.getAutomationCompositionElement(); + when(acA1PmsClient.isPmsHealthy()).thenReturn(Boolean.FALSE); + + Map<String, ToscaNodeTemplate> nodeTemplatesMap = serviceTemplate.getToscaTopologyTemplate().getNodeTemplates(); + assertThrows(A1PolicyServiceException.class, + () -> automationCompositionElementHandler.automationCompositionElementUpdate( + commonTestData.getAutomationCompositionId(), element, + nodeTemplatesMap.get(A1_AUTOMATION_COMPOSITION_ELEMENT))); + } + + @Test + void test_AutomationCompositionElementUpdateWithInvalidConfiguration() { + AutomationCompositionElement element = commonTestData.getAutomationCompositionElement(); + + Map<String, ToscaNodeTemplate> nodeTemplatesMap = serviceTemplate.getToscaTopologyTemplate().getNodeTemplates(); + ToscaNodeTemplate toscaNodeTemplate = nodeTemplatesMap.get(A1_AUTOMATION_COMPOSITION_ELEMENT); + toscaNodeTemplate.setProperties(Map.of()); + assertThrows(A1PolicyServiceException.class, + () -> automationCompositionElementHandler.automationCompositionElementUpdate( + commonTestData.getAutomationCompositionId(), element, toscaNodeTemplate)); + } } @@ -48,7 +48,7 @@ o policy-clamp-participant-impl-policy: A standard participant for handling polcies for Policy Framework o policy-clamp-acm-element-impl: ACM element implementation for integration testing o policy-clamp-participant-impl-http: A standard participant for http configurations - o policy-clamp-participant-impl-a1: A standard participant for accessing A1-Policy Management Service + o policy-clamp-participant-impl-a1pms: A standard participant for accessing A1-Policy Management Service </description> <properties> |