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;
}
}
}
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;
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
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));
+ }
}
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>