use of org.onap.so.client.sniro.beans.SniroManagerRequest in project so by onap.
the class SniroClientTestIT method testPostDemands_error_noMessage.
@Test(expected = BadResponseException.class)
public void testPostDemands_error_noMessage() throws JsonProcessingException, BadResponseException {
String mockResponse = "{\"transactionId\": \"123456789\", \"requestId\": \"1234\", \"statusMessage\": \"\", \"requestStatus\": \"failed\"}";
wireMockServer.stubFor(post(urlEqualTo("/sniro/api/placement/v2")).willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(mockResponse)));
client.postDemands(new SniroManagerRequest());
}
use of org.onap.so.client.sniro.beans.SniroManagerRequest in project so by onap.
the class SniroClientTestIT method testPostDemands_error_noStatus.
@Test(expected = BadResponseException.class)
public void testPostDemands_error_noStatus() throws JsonProcessingException, BadResponseException {
String mockResponse = "{\"transactionId\": \"123456789\", \"requestId\": \"1234\", \"statusMessage\": \"missing data\", \"requestStatus\": null}";
wireMockServer.stubFor(post(urlEqualTo("/sniro/api/placement/v2")).willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(mockResponse)));
client.postDemands(new SniroManagerRequest());
}
use of org.onap.so.client.sniro.beans.SniroManagerRequest in project so by onap.
the class SniroClientTestIT method testPostDemands_error_empty.
@Test(expected = BadResponseException.class)
public void testPostDemands_error_empty() throws JsonProcessingException, BadResponseException {
String mockResponse = "{ }";
wireMockServer.stubFor(post(urlEqualTo("/sniro/api/placement/v2")).willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(mockResponse)));
client.postDemands(new SniroManagerRequest());
}
use of org.onap.so.client.sniro.beans.SniroManagerRequest in project so by onap.
the class SniroClientTestIT method testPostDemands_error_failed.
@Test(expected = BadResponseException.class)
public void testPostDemands_error_failed() throws JsonProcessingException, BadResponseException {
String mockResponse = "{\"transactionId\": \"123456789\", \"requestId\": \"1234\", \"statusMessage\": \"missing data\", \"requestStatus\": \"failed\"}";
wireMockServer.stubFor(post(urlEqualTo("/sniro/api/placement/v2")).willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(mockResponse)));
client.postDemands(new SniroManagerRequest());
// TODO assertEquals("missing data", );
}
use of org.onap.so.client.sniro.beans.SniroManagerRequest in project so by onap.
the class SniroHomingV2 method callSniro.
/**
* Generates the request payload then sends to sniro manager to perform homing and licensing for the provided
* demands
*
* @param execution
*/
public void callSniro(BuildingBlockExecution execution) {
logger.debug("Started Sniro Homing Call Sniro");
try {
GeneralBuildingBlock bb = execution.getGeneralBuildingBlock();
RequestContext requestContext = bb.getRequestContext();
RequestParameters requestParams = requestContext.getRequestParameters();
String requestId = requestContext.getMsoRequestId();
ServiceInstance serviceInstance = bb.getCustomer().getServiceSubscription().getServiceInstances().get(0);
Customer customer = bb.getCustomer();
String timeout = execution.getVariable("timeout");
if (isBlank(timeout)) {
timeout = env.getProperty("sniro.manager.timeout", "PT30M");
}
SniroManagerRequest request = new SniroManagerRequest();
RequestInfo requestInfo = buildRequestInfo(requestId, timeout);
request.setRequestInformation(requestInfo);
ServiceInfo serviceInfo = buildServiceInfo(serviceInstance);
request.setServiceInformation(serviceInfo);
PlacementInfo placementInfo = buildPlacementInfo(customer, requestParams);
List<Demand> placementDemands = buildPlacementDemands(serviceInstance);
placementInfo.setDemands(placementDemands);
request.setPlacementInformation(placementInfo);
LicenseInfo licenseInfo = new LicenseInfo();
List<Demand> licenseDemands = buildLicenseDemands(serviceInstance);
licenseInfo.setDemands(licenseDemands);
request.setLicenseInformation(licenseInfo);
if (!placementDemands.isEmpty() || !licenseDemands.isEmpty()) {
client.postDemands(request);
} else {
logger.debug(SERVICE_MISSING_DATA + "resources eligible for homing or licensing");
throw new BpmnError(UNPROCESSABLE, SERVICE_MISSING_DATA + "resources eligible for homing or licensing");
}
// Variables for ReceiveWorkflowMessage subflow
execution.setVariable("asyncCorrelator", requestId);
execution.setVariable("asyncMessageType", "SNIROResponse");
execution.setVariable("asyncTimeout", timeout);
logger.trace("Completed Sniro Homing Call Sniro");
} catch (BpmnError e) {
logger.error(EXCEPTION_OCCURRED, e);
exceptionUtil.buildAndThrowWorkflowException(execution, Integer.parseInt(e.getErrorCode()), e.getMessage(), ONAPComponents.SNIRO);
} catch (BadResponseException e) {
logger.error(EXCEPTION_OCCURRED, e);
exceptionUtil.buildAndThrowWorkflowException(execution, 400, e.getMessage(), ONAPComponents.SNIRO);
} catch (Exception e) {
logger.error(EXCEPTION_OCCURRED, e);
exceptionUtil.buildAndThrowWorkflowException(execution, INTERNAL, "Internal Error - occurred while preparing sniro request: " + e.getMessage(), ONAPComponents.SO);
}
}
Aggregations