summaryrefslogtreecommitdiffstats
path: root/mso-api-handlers/mso-api-handler-common/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'mso-api-handlers/mso-api-handler-common/src/test')
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaClientTest.java221
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaTaskClientTest.java140
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/RequestClientTest.java60
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/ResponseHandlerTest.java126
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/test/resources/CamundaClientTest/CamundaFailure.json7
5 files changed, 132 insertions, 422 deletions
diff --git a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaClientTest.java b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaClientTest.java
index 94c62a9689..e51f0e2412 100644
--- a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaClientTest.java
+++ b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaClientTest.java
@@ -24,109 +24,61 @@
package org.onap.so.apihandler.common;
-import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.when;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpStatus;
-import org.apache.http.ProtocolVersion;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.message.BasicHttpResponse;
-import org.apache.http.message.BasicStatusLine;
-import org.junit.Assert;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
-import org.mockito.ArgumentCaptor;
+import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.so.apihandlerinfra.exceptions.ApiException;
+import org.onap.so.apihandlerinfra.exceptions.BPMNFailureException;
+import org.onap.so.apihandlerinfra.exceptions.ClientConnectionException;
import org.skyscreamer.jsonassert.JSONAssert;
-import org.springframework.mock.env.MockEnvironment;
-import com.fasterxml.jackson.core.JsonGenerationException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-
-/**
- * This class implements test methods of Camunda Beans.
- *
- *
- */
+import org.springframework.core.env.Environment;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.client.HttpClientErrorException;
+import org.springframework.web.client.HttpServerErrorException;
+import org.springframework.web.client.ResourceAccessException;
+import org.springframework.web.client.RestTemplate;
+
+@RunWith(MockitoJUnitRunner.class)
public class CamundaClientTest {
-
-
@Mock
- private HttpClient mockHttpClient;
- private static final String AUTHORIZATION_HEADER_NAME = "Authorization";
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- }
-
- @Test
- public void tesCamundaPost() throws JsonGenerationException, JsonMappingException, IOException {
-
-
- String responseBody =
- "{\"links\":[{\"method\":\"GET\",\"href\":\"http://localhost:9080/engine-rest/process-instance/2047c658-37ae-11e5-9505-7a1020524153\",\"rel\":\"self\"}],\"id\":\"2047c658-37ae-11e5-9505-7a1020524153\",\"definitionId\":\"dummy:10:73298961-37ad-11e5-9505-7a1020524153\",\"businessKey\":null,\"caseInstanceId\":null,\"ended\":true,\"suspended\":false}";
-
- HttpResponse mockResponse = createResponse(200, responseBody);
- mockHttpClient = Mockito.mock(HttpClient.class);
- ArgumentCaptor<HttpPost> httpPostCaptor = ArgumentCaptor.forClass(HttpPost.class);
- Mockito.when(mockHttpClient.execute(Mockito.any(HttpPost.class))).thenReturn(mockResponse);
-
- String reqXML = "<xml>test</xml>";
- String orchestrationURI = "/engine-rest/process-definition/key/dummy/start";
- MockEnvironment environment = new MockEnvironment();
-
- environment.setProperty("mso.camundaUR", "yourValue1");
- environment.setProperty("mso.camundaAuth",
- "E8E19DD16CC90D2E458E8FF9A884CC0452F8F3EB8E321F96038DE38D5C1B0B02DFAE00B88E2CF6E2A4101AB2C011FC161212EE");
- environment.setProperty("org.onap.so.adapters.network.encryptionKey", "aa3871669d893c7fb8abbcda31b88b4f");
-
-
- RequestClientFactory reqClientFactory = new RequestClientFactory();
- reqClientFactory.setEnv(environment);
- RequestClient requestClient = reqClientFactory.getRequestClient(orchestrationURI);
-
- requestClient.setClient(mockHttpClient);
- HttpResponse response = requestClient.post(reqXML, "reqId", "timeout", "version", null, null);
+ private RestTemplate restTemplate;
+ @Mock
+ private Environment env;
- int statusCode = response.getStatusLine().getStatusCode();
- assertEquals(requestClient.getType(), CommonConstants.CAMUNDA);
- assertEquals(statusCode, HttpStatus.SC_OK);
+ @Spy
+ private ResponseHandler responseHandler;
+ @Spy
+ @InjectMocks
+ private CamundaClient client;
- requestClient = reqClientFactory.getRequestClient(orchestrationURI);
- requestClient.setClient(mockHttpClient);
- response = requestClient.post(null, "reqId", null, null, null, null);
- assertEquals(requestClient.getType(), CommonConstants.CAMUNDA);
- assertEquals(statusCode, HttpStatus.SC_OK);
- verify(mockHttpClient, times(2)).execute(httpPostCaptor.capture());
- assertThat(httpPostCaptor.getValue().getHeaders(AUTHORIZATION_HEADER_NAME)).isNotEmpty();
- Assert.assertEquals("Basic YXBpaEJwbW46Y2FtdW5kYS1SMTUxMiE=",
- httpPostCaptor.getValue().getHeaders(AUTHORIZATION_HEADER_NAME)[0].getValue());
- }
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
- private HttpResponse createResponse(int respStatus, String respBody) {
- HttpResponse response =
- new BasicHttpResponse(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), respStatus, ""));
- response.setStatusCode(respStatus);
- try {
- response.setEntity(new StringEntity(respBody));
- response.setHeader("Content-Type", "application/json");
- } catch (Exception e) {
- e.printStackTrace();
- }
- return response;
+ @Before
+ public void setup() {
+ when(env.getRequiredProperty("mso.camundaAuth"))
+ .thenReturn("015E7ACF706C6BBF85F2079378BDD2896E226E09D13DC2784BA309E27D59AB9FAD3A5E039DF0BB8408");
+ when(env.getRequiredProperty("mso.msoKey")).thenReturn("07a7159d3bf51a0e53be7a8f89699be7");
+ when(env.getRequiredProperty("mso.camundaURL")).thenReturn("http://localhost:8080");
}
public String inputStream(String JsonInput) throws IOException {
@@ -136,10 +88,37 @@ public class CamundaClientTest {
}
@Test
- public void wrapVIDRequestTest() throws IOException {
- CamundaClient testClient = new CamundaClient();
- testClient.setUrl("/mso/async/services/CreateGenericALaCarteServiceInstance");
+ public void createBPMNFailureExceptionNoResponseBodyTest() {
+ HttpServerErrorException e = new HttpServerErrorException(HttpStatus.NOT_FOUND);
+ BPMNFailureException ex = client.createBPMNFailureException(e);
+ assertEquals(HttpStatus.NOT_IMPLEMENTED.value(), ex.getHttpResponseCode());
+ assertEquals("Request Failed due to BPEL error with HTTP Status = 404 NOT_FOUND", ex.getMessage());
+ }
+
+ @Test
+ public void createBPMNFailureExceptionWithCamundaResponseTest() throws IOException {
+ HttpClientErrorException e = new HttpClientErrorException(HttpStatus.INTERNAL_SERVER_ERROR, null,
+ inputStream("/CamundaFailure.json").getBytes(), null);
+ BPMNFailureException ex = client.createBPMNFailureException(e);
+ assertEquals(HttpStatus.BAD_GATEWAY.value(), ex.getHttpResponseCode());
+ assertEquals(
+ "Request Failed due to BPEL error with HTTP Status = 500 INTERNAL_SERVER_ERROR <aetgt:WorkflowException xmlns:aetgt=\"http://org.onap/so/workflow/schema/v1\"><aetgt:ErrorMessage>Exception in create execution list 500 </aetgt:ErrorMessage><aetgt:ErrorCode>7000</aetgt:ErrorCode></aetgt:WorkflowException>",
+ ex.getMessage());
+ }
+
+ @Test
+ public void createBPMNFailureExceptionTest() throws IOException {
+ String response = "Request failed";
+ HttpClientErrorException e =
+ new HttpClientErrorException(HttpStatus.INTERNAL_SERVER_ERROR, null, response.getBytes(), null);
+ BPMNFailureException ex = client.createBPMNFailureException(e);
+ assertEquals(HttpStatus.BAD_GATEWAY.value(), ex.getHttpResponseCode());
+ assertEquals("Request Failed due to BPEL error with HTTP Status = 500 INTERNAL_SERVER_ERROR Request failed",
+ ex.getMessage());
+ }
+ @Test
+ public void wrapVIDRequestTest() throws IOException {
String requestId = "f7ce78bb-423b-11e7-93f8-0050569a796";
boolean isBaseVfModule = true;
int recipeTimeout = 10000;
@@ -161,7 +140,7 @@ public class CamundaClientTest {
String requestUri = "v7/serviceInstances/assign";
String instanceGroupId = "ff305d54-75b4-431b-adb2-eb6b9e5ff000";
- String testResult = testClient.wrapVIDRequest(requestId, isBaseVfModule, recipeTimeout, requestAction,
+ String testResult = client.wrapVIDRequest(requestId, isBaseVfModule, recipeTimeout, requestAction,
serviceInstanceId, pnfCorrelationId, vnfId, vfModuleId, volumeGroupId, networkId, configurationId,
serviceType, vnfType, vfModuleType, networkType, requestDetails, apiVersion, aLaCarte, requestUri, "",
instanceGroupId, false);
@@ -171,39 +150,43 @@ public class CamundaClientTest {
}
@Test
- public void testPost() throws Exception {
- CamundaClient testClient = new CamundaClient();
- String orchestrationURI = "/engine-rest/process-definition/key/dummy/start";
- MockEnvironment environment = new MockEnvironment();
-
- environment.setProperty("mso.camundaUR", "yourValue1");
- testClient.setProps(environment);
- testClient.setClient(mockHttpClient);
-
- testClient.setUrl(orchestrationURI);
-
- String responseBody =
- "{\"links\":[{\"method\":\"GET\",\"href\":\"http://localhost:9080/engine-rest/process-instance/2047c658-37ae-11e5-9505-7a1020524153\",\"rel\":\"self\"}],\"id\":\"2047c658-37ae-11e5-9505-7a1020524153\",\"definitionId\":\"dummy:10:73298961-37ad-11e5-9505-7a1020524153\",\"businessKey\":null,\"caseInstanceId\":null,\"ended\":true,\"suspended\":false}";
- assertNull(testClient.post(responseBody));
-
+ public void getClientConnectionExceptionTest() throws ApiException {
+ doThrow(ResourceAccessException.class).when(restTemplate).exchange(eq("http://localhost:8080/path"),
+ eq(HttpMethod.GET), any(HttpEntity.class), eq(String.class));
+ thrown.expect(ClientConnectionException.class);
+ thrown.expectMessage("Client from http://localhost:8080/path failed to connect or respond");
+ client.get("/path");
}
@Test
- public void testPostWithRequestClientParameter() throws Exception {
- CamundaClient testClient = new CamundaClient();
- String orchestrationURI = "/engine-rest/process-definition/key/dummy/start";
- HttpResponse mockResponse = createResponse(200, "{}");
- mockHttpClient = Mockito.mock(HttpClient.class);
- Mockito.when(mockHttpClient.execute(Mockito.any(HttpPost.class))).thenReturn(mockResponse);
-
- testClient.setClient(mockHttpClient);
- testClient.setUrl(orchestrationURI);
-
- HttpResponse response = testClient.post(new RequestClientParameter.Builder().build());
-
- assertEquals(HttpStatus.SC_OK, response.getStatusLine().getStatusCode());
+ public void postClientConnectionExceptionTest() throws ApiException, IOException {
+ String jsonReq = inputStream("/WrappedVIDRequest.json");
+ doThrow(ResourceAccessException.class).when(restTemplate).postForEntity(eq("http://localhost:8080/path"),
+ any(HttpEntity.class), eq(String.class));
+ thrown.expect(ClientConnectionException.class);
+ thrown.expectMessage("Client from http://localhost:8080/path failed to connect or respond");
+ client.post(jsonReq, "/path");
+ }
+ @Test
+ public void getHttpStatusCodeExceptionTest() throws ApiException {
+ HttpServerErrorException e = new HttpServerErrorException(HttpStatus.NOT_FOUND);
+ doThrow(e).when(restTemplate).exchange(eq("http://localhost:8080/path"), eq(HttpMethod.GET),
+ any(HttpEntity.class), eq(String.class));
+ thrown.expect(BPMNFailureException.class);
+ thrown.expectMessage("Request Failed due to BPEL error with HTTP Status = 404 NOT_FOUND");
+ client.get("/path");
}
+ @Test
+ public void postHttpStatusCodeExceptionTest() throws ApiException, IOException {
+ HttpServerErrorException e = new HttpServerErrorException(HttpStatus.NOT_FOUND);
+ String jsonReq = inputStream("/WrappedVIDRequest.json");
+ doThrow(e).when(restTemplate).postForEntity(eq("http://localhost:8080/path"), any(HttpEntity.class),
+ eq(String.class));
+ thrown.expect(BPMNFailureException.class);
+ thrown.expectMessage("Request Failed due to BPEL error with HTTP Status = 404 NOT_FOUND");
+ client.post(jsonReq, "/path");
+ }
}
diff --git a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaTaskClientTest.java b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaTaskClientTest.java
deleted file mode 100644
index 9e9ab6048e..0000000000
--- a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/CamundaTaskClientTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.apihandler.common;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import org.apache.http.HttpEntity;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpRequestBase;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
-import org.springframework.core.env.Environment;
-
-@RunWith(MockitoJUnitRunner.class)
-public class CamundaTaskClientTest {
-
- @Mock
- private Environment env;
- private CamundaTaskClient testedObject = new CamundaTaskClient();
- private HttpClient httpClientMock;
- private static final String JSON_REQUEST = "{\"value1\": \"aaa\",\"value2\": \"bbb\"}";
- private static final String URL_SCHEMA = "http";
- private static final String HOST = "testhost";
- private static final int PORT = 1234;
- private static final String URL_PATH = "/requestMethodSuccessful";
- private static final String URL = URL_SCHEMA + "://" + HOST + ":" + PORT + URL_PATH;
- private static final String AUTHORIZATION_HEADER_NAME = "Authorization";
-
- @Before
- public void init() {
- when(env.getProperty(eq(CommonConstants.CAMUNDA_AUTH))).thenReturn(
- "E8E19DD16CC90D2E458E8FF9A884CC0452F8F3EB8E321F96038DE38D5C1B0B02DFAE00B88E2CF6E2A4101AB2C011FC161212EE");
- when(env.getProperty(eq(CommonConstants.ENCRYPTION_KEY_PROP))).thenReturn("aa3871669d893c7fb8abbcda31b88b4f");
- testedObject = new CamundaTaskClient();
- httpClientMock = mock(HttpClient.class);
- testedObject.setClient(httpClientMock);
- testedObject.setUrl(URL);
- }
-
- @Test
- public void postMethodSuccessful() throws IOException {
- ArgumentCaptor<HttpPost> httpPostCaptor = ArgumentCaptor.forClass(HttpPost.class);
- testedObject.post(JSON_REQUEST);
- verify(httpClientMock).execute(httpPostCaptor.capture());
- checkUri(httpPostCaptor.getValue());
- assertThat(httpPostCaptor.getValue().getEntity().getContentType().getValue())
- .isEqualTo(CommonConstants.CONTENT_TYPE_JSON);
- assertThat(getJsonFromEntity(httpPostCaptor.getValue().getEntity())).isEqualTo(JSON_REQUEST);
- }
-
- @Test
- public void postMethodSuccessfulWithCredentials() throws IOException {
- ArgumentCaptor<HttpPost> httpPostCaptor = ArgumentCaptor.forClass(HttpPost.class);
- testedObject.setProps(env);
- testedObject.post(JSON_REQUEST);
- verify(httpClientMock).execute(httpPostCaptor.capture());
- assertThat(httpPostCaptor.getValue().getHeaders(AUTHORIZATION_HEADER_NAME)).isNotEmpty();
- Assert.assertEquals("Basic YXBpaEJwbW46Y2FtdW5kYS1SMTUxMiE=",
- httpPostCaptor.getValue().getHeaders(AUTHORIZATION_HEADER_NAME)[0].getValue());
- }
-
- @Test
- public void getMethodSuccessful() throws IOException {
- ArgumentCaptor<HttpGet> httpGetCaptor = ArgumentCaptor.forClass(HttpGet.class);
- testedObject.get();
- verify(httpClientMock).execute(httpGetCaptor.capture());
- checkUri(httpGetCaptor.getValue());
- }
-
- @Test
- public void getMethodSuccessfulWithCredentials() throws IOException {
- ArgumentCaptor<HttpGet> httpGetCaptor = ArgumentCaptor.forClass(HttpGet.class);
- testedObject.setUrl(URL);
- testedObject.setProps(env);
- testedObject.get();
- verify(httpClientMock).execute(httpGetCaptor.capture());
- assertThat(httpGetCaptor.getValue().getHeaders(AUTHORIZATION_HEADER_NAME)).isNotEmpty();
- Assert.assertEquals("Basic YXBpaEJwbW46Y2FtdW5kYS1SMTUxMiE=",
- httpGetCaptor.getValue().getHeaders(AUTHORIZATION_HEADER_NAME)[0].getValue());
- }
-
- @Test(expected = UnsupportedOperationException.class)
- public void postMethodUnsupported() {
- testedObject.post("", "", "", "", "", "");
- }
-
- @Test(expected = UnsupportedOperationException.class)
- public void postMethodUnsupported2() {
- testedObject.post(new RequestClientParameter.Builder().build());
- }
-
- private void checkUri(HttpRequestBase httpRequestBase) {
- assertThat(httpRequestBase.getURI().getScheme()).isEqualTo(URL_SCHEMA);
- assertThat(httpRequestBase.getURI().getHost()).isEqualTo(HOST);
- assertThat(httpRequestBase.getURI().getPort()).isEqualTo(PORT);
- assertThat(httpRequestBase.getURI().getPath()).isEqualTo(URL_PATH);
- }
-
- private String getJsonFromEntity(HttpEntity httpEntity) throws IOException {
- BufferedReader rd = new BufferedReader(new InputStreamReader(httpEntity.getContent()));
- StringBuilder result = new StringBuilder();
- String line;
- while ((line = rd.readLine()) != null) {
- result.append(line);
- }
- return result.toString();
- }
-
-}
diff --git a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/RequestClientTest.java b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/RequestClientTest.java
deleted file mode 100644
index 86b12ae8f6..0000000000
--- a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/RequestClientTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (c) 2019 Samsung. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.apihandler.common;
-
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
-
-@RunWith(MockitoJUnitRunner.class)
-public class RequestClientTest {
-
- private static final String ENCRYPTION_KEY = "aa3871669d893c7fb8abbcda31b88b4f";
-
- private RequestClient requestClient;
-
- @Before
- public void init() {
- requestClient = Mockito.mock(RequestClient.class, Mockito.CALLS_REAL_METHODS);
- }
-
- @Test
- public void getEncryptedPropValueWithSuccess() {
-
- String encryptedValue = requestClient.getEncryptedPropValue(
- "E8E19DD16CC90D2E458E8FF9A884CC0452F8F3EB8E321F96038DE38D5C1B0B02DFAE00B88E2CF6E2A4101AB2C011FC161212EE",
- "defaultValue", ENCRYPTION_KEY);
-
- Assert.assertEquals("apihBpmn:camunda-R1512!", encryptedValue);
- }
-
- @Test
- public void getDefaultEncryptedPropValue() {
-
- String encryptedValue =
- requestClient.getEncryptedPropValue("012345678901234567890123456789", "defaultValue", ENCRYPTION_KEY);
-
- Assert.assertEquals("defaultValue", encryptedValue);
- }
-
-}
diff --git a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/ResponseHandlerTest.java b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/ResponseHandlerTest.java
index 2095a9117d..e6f7a3663a 100644
--- a/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/ResponseHandlerTest.java
+++ b/mso-api-handlers/mso-api-handler-common/src/test/java/org/onap/so/apihandler/common/ResponseHandlerTest.java
@@ -23,122 +23,42 @@
package org.onap.so.apihandler.common;
-import static org.hamcrest.Matchers.hasProperty;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.startsWith;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpStatus;
-import org.apache.http.ProtocolVersion;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.message.BasicHttpResponse;
-import org.apache.http.message.BasicStatusLine;
+import java.io.IOException;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import org.onap.so.apihandlerinfra.exceptions.ApiException;
-import org.onap.so.apihandlerinfra.exceptions.ValidateException;
-
-/**
- * This class implements test methods of CamundaResoponseHandler.
- *
- *
- */
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.so.apihandlerinfra.exceptions.BPMNFailureException;
+import org.springframework.http.ResponseEntity;
+
+@RunWith(MockitoJUnitRunner.class)
public class ResponseHandlerTest {
+ @Spy
+ @InjectMocks
+ private ResponseHandler responseHandler;
+
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test
- public void tesParseCamundaResponse() throws ApiException {
- // String body
- // ="{\"links\":[{\"method\":\"GET\",\"href\":\"http://localhost:9080/engine-rest/process-instance/2047c658-37ae-11e5-9505-7a1020524153\",\"rel\":\"self\"}],\"id\":\"2047c658-37ae-11e5-9505-7a1020524153\",\"definitionId\":\"dummy:10:73298961-37ad-11e5-9505-7a1020524153\",\"businessKey\":null,\"caseInstanceId\":null,\"ended\":true,\"suspended\":false}";
-
- String body = "{ \"response\": \"<xml>xml</xml>\"," + "\"messageCode\": 200,"
- + "\"message\": \"Successfully started the process\"}";
-
- HttpResponse response = createResponse(200, body, "application/json");
-
- ResponseHandler respHandler = new ResponseHandler(response, 1);
-
- int status = respHandler.getStatus();
- assertEquals(status, HttpStatus.SC_ACCEPTED);
- assertEquals(respHandler.getResponse().getMessage(), "Successfully started the process");
-
- }
-
- @Test
- public void tesParseCamundaResponseForCamundaTaskType() throws ApiException {
- String body = "{ \"response\": \"<xml>xml</xml>\"," + "\"messageCode\": 200,"
- + "\"message\": \"Successfully started the process\"}";
-
- HttpResponse response = createResponse(200, body, "application/json");
-
- ResponseHandler respHandler = new ResponseHandler(response, 2);
-
- int status = respHandler.getStatus();
- assertEquals(status, HttpStatus.SC_ACCEPTED);
- assertEquals(respHandler.getResponseBody(), body);
-
- }
-
- @Test
- public void tesParseBpelResponse() throws ApiException {
- String body = "<test:service-response xmlns:test=\"http://org.onap/so/test\">"
- + "<test:request-id>req5</test:request-id>" + "<test:request-action>test</test:request-action>"
- + "<test:source>test</test:source>" + "<test:ack-final-indicator>n</test:ack-final-indicator>"
- + "</test:service-response>";
-
- HttpResponse response = createResponse(200, body, "text/xml");
-
- ResponseHandler respHandler = new ResponseHandler(response, 0);
-
- int status = respHandler.getStatus();
- assertEquals(status, HttpStatus.SC_ACCEPTED);
- assertTrue(respHandler.getResponseBody() != null);
- }
-
- @Test
- public void tesMappingErrorResponse() throws ApiException {
- thrown.expect(ValidateException.class);
- thrown.expectMessage(startsWith("Cannot parse Camunda Response"));
- thrown.expect(hasProperty("httpResponseCode", is(HttpStatus.SC_BAD_REQUEST)));
- thrown.expect(hasProperty("messageID", is(ErrorNumbers.SVC_BAD_PARAMETER)));
-
- HttpResponse response = createResponse(HttpStatus.SC_NOT_FOUND, "<html>error</html>", "text/html");
- ResponseHandler respHandler = new ResponseHandler(response, 1);
-
- int status = respHandler.getStatus();
-
- assertEquals(HttpStatus.SC_NOT_IMPLEMENTED, status);
-
+ public void acceptedResponseTest() throws IOException, BPMNFailureException {
+ ResponseEntity<String> camundaResponse = ResponseEntity.noContent().build();
+ thrown.expect(BPMNFailureException.class);
+ thrown.expectMessage("Request Failed due to BPEL error with HTTP Status = 204");
+ responseHandler.acceptedResponse(camundaResponse);
}
@Test
- public void tesGenricErrorResponse() throws ApiException {
-
- String body = "{ \"response\": \"<xml>xml</xml>\"," + "\"messageCode\": 500,"
- + "\"message\": \"Something went wrong\"}";
-
- HttpResponse response = createResponse(500, body, "application/json");
- ResponseHandler respHandler = new ResponseHandler(response, 1);
- int status = respHandler.getStatus();
- assertEquals(status, HttpStatus.SC_BAD_GATEWAY);
- assertEquals(respHandler.getResponse().getMessage(), "Something went wrong");
- }
+ public void acceptedOrNoContentResponseTest() throws IOException, BPMNFailureException {
+ ResponseEntity<String> camundaResponse = ResponseEntity.badRequest().build();
+ thrown.expect(BPMNFailureException.class);
+ thrown.expectMessage("Request Failed due to BPEL error with HTTP Status = 400");
+ responseHandler.acceptedOrNoContentResponse(camundaResponse);
- private HttpResponse createResponse(int respStatus, String respBody, String contentType) {
- HttpResponse response =
- new BasicHttpResponse(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), respStatus, ""));
- response.setStatusCode(respStatus);
- try {
- response.setEntity(new StringEntity(respBody));
- response.setHeader("Content-Type", contentType);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return response;
}
}
diff --git a/mso-api-handlers/mso-api-handler-common/src/test/resources/CamundaClientTest/CamundaFailure.json b/mso-api-handlers/mso-api-handler-common/src/test/resources/CamundaClientTest/CamundaFailure.json
new file mode 100644
index 0000000000..2d9e3ddef8
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-common/src/test/resources/CamundaClientTest/CamundaFailure.json
@@ -0,0 +1,7 @@
+{
+ "response":"<aetgt:WorkflowException xmlns:aetgt=\"http://org.onap/so/workflow/schema/v1\"><aetgt:ErrorMessage>Exception in create execution list 500 </aetgt:ErrorMessage><aetgt:ErrorCode>7000</aetgt:ErrorCode></aetgt:WorkflowException>",
+ "message":"Fail",
+ "processInstanceID":"4b33ca85-5860-11e8-ae53-0a580ae94342",
+ "variables":null,
+ "messageCode":500
+} \ No newline at end of file