From ccb8bb7deb86001c5d88e07a344a6fb518efba9c Mon Sep 17 00:00:00 2001 From: "aravind.est" Date: Tue, 6 Dec 2022 15:42:08 +0000 Subject: A1pms: Fix Code smells and coverage Issue-ID: CCSDK-3816 Signed-off-by: aravind.est Change-Id: Ifa9a5d538d13e59ec842edee6d3cbc43a0f0df1d --- .../AutomationCompositionElementHandler.java | 6 +---- .../a1pms/handler/AcElementHandlerTest.java | 31 ++++++++++++++++++++++ pom.xml | 2 +- 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 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 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)); + } } diff --git a/pom.xml b/pom.xml index 550919413..7ae8c7d1e 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,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 -- cgit 1.2.3-korg