/** * Copyright 2017 ZTE Corporation. *

* 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. */ package org.onap.workflow.externalservice.service.activitiservice; import com.google.gson.Gson; import org.apache.http.HttpEntity; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.onap.workflow.WorkflowAppConfig; import org.onap.workflow.common.Config; import org.onap.workflow.common.RestClient; import org.onap.workflow.common.RestResponse; import org.onap.workflow.entity.MsbClientConfig; import org.onap.workflow.externalservice.entity.activitientitiy.ActivitiDeployResponse; import org.onap.workflow.externalservice.entity.activitientitiy.ActivitiStartProcessRequest; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import java.io.IOException; import java.io.InputStream; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; import static org.mockito.Matchers.*; import static org.mockito.Mockito.mock; import static org.powermock.api.mockito.PowerMockito.mockStatic; import static org.powermock.api.mockito.PowerMockito.when; @PrepareForTest({RestClient.class, Config.class}) @RunWith(PowerMockRunner.class) public class ActivitiServiceConsumerTest { @Before public void setUp() throws Exception { mockStatic(RestClient.class); } @Test public void undeploybpmnfile() throws Exception { RestResponse restResponse = mock(RestResponse.class); when(RestClient.post(anyString(), any(Integer.class), anyString())) .thenReturn(restResponse); RestResponse response = ActivitiServiceConsumer.undeploybpmnfile("22"); assertThat(response, is(restResponse)); } @Test public void startBpmnProcess() throws Exception { RestResponse restResponse = mock(RestResponse.class); when(RestClient.post(anyString(), any(Integer.class), anyString(), any(ActivitiStartProcessRequest.class))) .thenReturn(restResponse); RestResponse response = ActivitiServiceConsumer.startBpmnProcess( mock(ActivitiStartProcessRequest.class)); assertThat(response, is(restResponse)); } @Test public void testDeleteDeployProcess() throws Exception { RestResponse restResponse = mock(RestResponse.class); when(RestClient.post(anyString(), any(Integer.class), anyString())) .thenReturn(restResponse); RestResponse response = ActivitiServiceConsumer.deleteDeployProcess("22"); assertThat(response, is(restResponse)); } @Test public void testDeleteDeployProcessReturnNull() throws Exception { when(RestClient.post(anyString(), any(Integer.class), anyString())) .thenThrow(new IOException()); RestResponse response = ActivitiServiceConsumer.deleteDeployProcess("22"); assertThat(response, is((RestResponse) null)); } @Test public void testStartProcessShouldReturnResponse() throws Exception { RestResponse restResponse = mock(RestResponse.class); when(RestClient.post(anyString(), any(Integer.class), anyString(), any(ActivitiStartProcessRequest.class))) .thenReturn(restResponse); RestResponse response = ActivitiServiceConsumer.startProcess( mock(ActivitiStartProcessRequest.class)); assertThat(response, is(restResponse)); } @Test public void testStartProcessShouldReturnNull() throws Exception { when(RestClient.post(anyString(), any(Integer.class), anyString(), any(ActivitiStartProcessRequest.class))) .thenThrow(new IOException()); RestResponse response = ActivitiServiceConsumer.startProcess( mock(ActivitiStartProcessRequest.class)); assertThat(response, is((RestResponse) null)); } @Test public void deploybpmnfile() throws Exception { mockStatic(Config.class); WorkflowAppConfig workflowAppConfig = mock(WorkflowAppConfig.class); MsbClientConfig msbClientConfig = new MsbClientConfig(); msbClientConfig.setMsbSvrPort(2); msbClientConfig.setMsbSvrIp("127.0.0.1"); when(workflowAppConfig.getMsbClientConfig()).thenReturn(msbClientConfig); when(Config.getWorkflowAppConfig()).thenReturn(workflowAppConfig); RestResponse restResponse = mock(RestResponse.class); ActivitiDeployResponse activitiDeployResponse = new ActivitiDeployResponse(); activitiDeployResponse.setId("2"); activitiDeployResponse.setUrl("xxxx"); activitiDeployResponse.setDeploymentTime("22"); when(restResponse.getStatusCode()).thenReturn(200); when(restResponse.getResult()).thenReturn(new Gson().toJson(activitiDeployResponse)); when(RestClient.post(anyString(), anyInt(), anyString(), any(HttpEntity.class))) .thenReturn(restResponse); InputStream ins = mock(InputStream.class); ActivitiDeployResponse result = ActivitiServiceConsumer.deploybpmnfile(ins, "result"); assertThat(result.getId(), is(activitiDeployResponse.getId())); } }