/** * 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.activitiext.restservicetask; import static org.powermock.api.mockito.PowerMockito.mock; import org.activiti.engine.ActivitiException; import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.Expression; import org.activiti.engine.impl.persistence.entity.ExecutionEntity; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.onap.workflow.activitiext.common.Parameter; import org.onap.workflow.activitiext.common.RestInfo; import org.powermock.api.mockito.PowerMockito; import com.alibaba.fastjson.JSON; public class HttpUtilTest { private HttpUtil httpUtil; @Before public void setUp() { httpUtil = new HttpUtil(); } @Test public void testExecuteMethod() { DelegateExecution executionEntity = mock(ExecutionEntity.class); try { PowerMockito.when(executionEntity.getCurrentActivityId()).thenReturn("1111"); HttpResponseMessage msg = new HttpResponseMessage(); msg.setStatusCode(200); msg.setResponseBody(null); httpUtil.execute(executionEntity); Assert.assertTrue(false); } catch (Exception e) { Assert.assertTrue(true); } } @Test public void testHandleParam1() { try { DelegateExecution executionEntity = mock(ExecutionEntity.class); Parameter param = new Parameter(); param.setName("id"); param.setPosition("path"); param.setType(""); param.setValue("abc"); RestInfo info = new RestInfo(); info.setMethod("GET"); info.setName("name"); info.setPath("/catalog/v1"); info.setRealUri(""); info.setUrl("csars"); info.setVersion("v1"); httpUtil.handleParam(executionEntity, param, info); Assert.assertTrue(true); } catch (ActivitiException e) { Assert.assertTrue(true); } } @Test public void testHandleParam2() { try { DelegateExecution executionEntity = mock(ExecutionEntity.class); Parameter param = new Parameter(); param.setName("id"); param.setPosition("query"); param.setType(""); param.setValue("abc"); RestInfo info = new RestInfo(); info.setMethod("GET"); info.setName("name"); info.setPath("/catalog/v1"); info.setRealUri(""); info.setUrl("csars"); info.setVersion("v1"); httpUtil.handleParam(executionEntity, param, info); Assert.assertTrue(true); } catch (ActivitiException e) { Assert.assertTrue(true); } } @Test public void testHandleParam3() { try { DelegateExecution executionEntity = mock(ExecutionEntity.class); Parameter param = new Parameter(); param.setName("id"); param.setPosition("body"); param.setType(""); param.setValue("{'value':{'progress':{'value':'60','valueSource':'String'},'errcode':{'value':'200','valueSource':'Variable'},'desc':{'value':'','valueSource':'String'}},'valueSource':'Definition'}"); RestInfo info = new RestInfo(); info.setMethod("GET"); info.setName("name"); info.setPath("/catalog/v1"); info.setRealUri(""); info.setUrl("csars"); info.setVersion("v1"); httpUtil.handleParam(executionEntity, param, info); Assert.assertTrue(true); } catch (ActivitiException e) { Assert.assertTrue(true); } } @Test public void testGetValue() { DelegateExecution executionEntity = mock(ExecutionEntity.class); Expression expression = mock(Expression.class); Object res = new String("result"); PowerMockito.when(expression.getValue(executionEntity)).thenReturn(res); Assert.assertEquals(res, httpUtil.getValue(expression, executionEntity)); } @SuppressWarnings("static-access") @Test public void testParsePlanExpression() { String exp = "[node0].[responseBody].[id]"; String json = "{'id':'123'}"; JSON obj = (JSON) JSON.parse(json); HttpResponseMessage msg = new HttpResponseMessage(); msg.setStatusCode(200); msg.setResponseBody(obj); DelegateExecution executionEntity = mock(ExecutionEntity.class); PowerMockito.when(executionEntity.getVariable("node0")).thenReturn(msg); Assert.assertEquals("123", httpUtil.parsePlanExpression(exp, executionEntity)); } }