From b15b381c5fa631699c1a3d27e482d3d77bed6ad8 Mon Sep 17 00:00:00 2001 From: Zhaoxing Date: Sat, 30 Sep 2017 14:08:50 +0800 Subject: Add unit test for vfc-nfvo-wfengine Change-Id: If70f670ce62c3ca577d11b036e705b07a80f82cf Issue-id: VFC-454 Signed-off-by: Zhaoxing --- .../workflow/activitiext/common/EnumModuleUrl.java | 2 +- .../workflow/activitiext/common/Parameter.java | 59 +++-- .../onap/workflow/activitiext/common/RestInfo.java | 64 ++++- .../restservicetask/HighLevelRestApi.java | 4 +- .../restservicetask/HttpResponseMessage.java | 53 ++-- .../activitiext/restservicetask/HttpUtil.java | 8 +- .../restservicetask/LowLevelRestApi.java | 18 +- .../activitiext/restservicetask/PropertyUtil.java | 18 +- .../activitiext/common/EnumModuleUrlTest.java | 2 +- .../activitiext/restservicetask/GsonUtilTest.java | 73 ++++++ .../restservicetask/HighLevelRestApiTest.java | 277 ++++++++++++--------- .../restservicetask/HttpResponseMessageTest.java | 41 +++ .../activitiext/restservicetask/HttpUtilTest.java | 202 +++++++++------ .../restservicetask/LowLevelRestApiTest.java | 37 +++ 14 files changed, 578 insertions(+), 280 deletions(-) create mode 100644 activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/GsonUtilTest.java create mode 100644 activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HttpResponseMessageTest.java create mode 100644 activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApiTest.java (limited to 'activiti-extension') diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/EnumModuleUrl.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/EnumModuleUrl.java index efc4dff..a380ffd 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/EnumModuleUrl.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/EnumModuleUrl.java @@ -1,5 +1,5 @@ /** - * Copyright 2017 [ZTE] and others. + * 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. diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/Parameter.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/Parameter.java index 6aa97a0..bbb8c7c 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/Parameter.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/Parameter.java @@ -1,28 +1,20 @@ /** - * Copyright 2017 [ZTE] and others. + * 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 + * 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 + * 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. + * 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.common; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) public class Parameter { private String position; @@ -30,4 +22,35 @@ public class Parameter { private String name; private String value; private String valueSource; + public String getPosition() { + return position; + } + public void setPosition(String position) { + this.position = position; + } + public String getType() { + return type; + } + public void setType(String type) { + this.type = type; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getValue() { + return value; + } + public void setValue(String value) { + this.value = value; + } + public String getValueSource() { + return valueSource; + } + public void setValueSource(String valueSource) { + this.valueSource = valueSource; + } + } diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/RestInfo.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/RestInfo.java index 18c376b..16e28f1 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/RestInfo.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/common/RestInfo.java @@ -15,16 +15,6 @@ */ package org.onap.workflow.activitiext.common; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@JsonIgnoreProperties(ignoreUnknown = true) public class RestInfo { private String name; @@ -36,5 +26,59 @@ public class RestInfo { private String contentType; private String requestBody; private String realUri; + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getVersion() { + return version; + } + public void setVersion(String version) { + this.version = version; + } + public String getUrl() { + return url; + } + public void setUrl(String url) { + this.url = url; + } + public String getPath() { + return path; + } + public void setPath(String path) { + this.path = path; + } + public String getMethod() { + return method; + } + public void setMethod(String method) { + this.method = method; + } + public String getAccept() { + return accept; + } + public void setAccept(String accept) { + this.accept = accept; + } + public String getContentType() { + return contentType; + } + public void setContentType(String contentType) { + this.contentType = contentType; + } + public String getRequestBody() { + return requestBody; + } + public void setRequestBody(String requestBody) { + this.requestBody = requestBody; + } + public String getRealUri() { + return realUri; + } + public void setRealUri(String realUri) { + this.realUri = realUri; + } } diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HighLevelRestApi.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HighLevelRestApi.java index cd8517b..268443a 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HighLevelRestApi.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HighLevelRestApi.java @@ -186,7 +186,7 @@ public class HighLevelRestApi { return responseMessage; } - private static void setAcceptHeader(HttpMethodBase method, String value) { + public static void setAcceptHeader(HttpMethodBase method, String value) { if (StringUtils.isNotEmpty(value)) { if(value.startsWith("[")&&value.endsWith("]")){ value = value.substring(1, value.length()-1); @@ -196,7 +196,7 @@ public class HighLevelRestApi { } } - private static void setContentTypeHeader(HttpMethodBase method, String value) { + public static void setContentTypeHeader(HttpMethodBase method, String value) { if (StringUtils.isNotEmpty(value)) { if(value.startsWith("[")&&value.endsWith("]")){ value = value.substring(1, value.length()-1); diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HttpResponseMessage.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HttpResponseMessage.java index ac80b50..ebe2735 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HttpResponseMessage.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HttpResponseMessage.java @@ -1,15 +1,17 @@ /** - * Copyright 2017 [ZTE] and others. + * 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 + * 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 + * 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. + * 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; @@ -17,39 +19,24 @@ import java.io.Serializable; import com.alibaba.fastjson.JSON; -/** - */ public class HttpResponseMessage implements Serializable { - + private int statusCode; private JSON responseBody; - - - /** - * @return the statusCode - */ + public int getStatusCode() { - return this.statusCode; + return statusCode; } - - /** - * @param statusCode the statusCode to set - */ - protected void setStatusCode(int statusCode) { + + public void setStatusCode(int statusCode) { this.statusCode = statusCode; } - - /** - * @return the responseBody - */ + public JSON getResponseBody() { - return this.responseBody; + return responseBody; } - - /** - * @param responseBody the responseBody to set - */ - protected void setResponseBody(JSON responseBody) { + + public void setResponseBody(JSON responseBody) { this.responseBody = responseBody; } @@ -57,5 +44,5 @@ public class HttpResponseMessage implements Serializable { public String toString() { return "{statusCode=" + statusCode + ", responseBody=" + responseBody.toJSONString() + "}"; } - + } diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HttpUtil.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HttpUtil.java index 0acab5f..ea84ce3 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HttpUtil.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/HttpUtil.java @@ -76,7 +76,7 @@ public class HttpUtil implements JavaDelegate { * * @param execution */ - public void executeMethod(DelegateExecution execution) throws Exception { + public boolean executeMethod(DelegateExecution execution) throws Exception { // get rest task information RestInfo restInfo = new RestInfo(); @@ -108,6 +108,8 @@ public class HttpUtil implements JavaDelegate { // inject the result to variable execution.setVariable(execution.getCurrentActivityId(), msg); + + return true; } /** @@ -306,7 +308,7 @@ public class HttpUtil implements JavaDelegate { * @param restInfo * @return */ - private static String compeleteUri(RestInfo restInfo) { + public static String compeleteUri(RestInfo restInfo) { String publishUrl = ""; try { @@ -333,7 +335,7 @@ public class HttpUtil implements JavaDelegate { * @param expStr * @return */ - private static Queue parseExpressionToQueue(String expStr) { + public static Queue parseExpressionToQueue(String expStr) { Queue queue = new LinkedList(); diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java index 25dc873..b3303bd 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApi.java @@ -1,15 +1,17 @@ /** - * Copyright 2017 [ZTE] and others. + * 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 + * 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 + * 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. + * 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; diff --git a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/PropertyUtil.java b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/PropertyUtil.java index 48e2ab6..ff4c30a 100644 --- a/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/PropertyUtil.java +++ b/activiti-extension/src/main/java/org/onap/workflow/activitiext/restservicetask/PropertyUtil.java @@ -1,15 +1,17 @@ /** - * Copyright 2017 [ZTE] and others. + * 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 + * 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 + * 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. + * 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; diff --git a/activiti-extension/src/test/java/org/onap/workflow/activitiext/common/EnumModuleUrlTest.java b/activiti-extension/src/test/java/org/onap/workflow/activitiext/common/EnumModuleUrlTest.java index d7b0e57..f3cdd84 100644 --- a/activiti-extension/src/test/java/org/onap/workflow/activitiext/common/EnumModuleUrlTest.java +++ b/activiti-extension/src/test/java/org/onap/workflow/activitiext/common/EnumModuleUrlTest.java @@ -1,5 +1,5 @@ /** - * Copyright 2017 [ZTE] and others. + * 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. diff --git a/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/GsonUtilTest.java b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/GsonUtilTest.java new file mode 100644 index 0000000..c7a756a --- /dev/null +++ b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/GsonUtilTest.java @@ -0,0 +1,73 @@ +/** + * 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.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.powermock.api.mockito.PowerMockito.mock; + +import org.activiti.engine.delegate.DelegateExecution; +import org.activiti.engine.impl.persistence.entity.ExecutionEntity; +import org.junit.Test; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +public class GsonUtilTest { + + @Test + public void testFormatJsonObject(){ + + DelegateExecution executionEntity = mock(ExecutionEntity.class); + String json = "{'value':{'progress':{'value':'60','valueSource':'String'},'errcode':{'value':'200','valueSource':'Variable'},'desc':{'value':'','valueSource':'String'}},'valueSource':'Definition'}"; + JsonObject obj = new JsonParser().parse(json).getAsJsonObject(); + String result = "{'value':{'progress':'60','errcode':'','desc':''}}"; + JsonObject resObj = new JsonParser().parse(result).getAsJsonObject(); + + assertThat(GsonUtil.formatJsonObject(null, obj, executionEntity), is(resObj)); + + } + + @Test + public void testFormatJsonArray(){ + + DelegateExecution executionEntity = mock(ExecutionEntity.class); + + String json = "[{'progress':{'value':'60','valueSource':'String'}}]"; + JsonArray array = new JsonParser().parse(json).getAsJsonArray(); + + String result = "[{'progress':'60'}]"; + JsonArray resArray = new JsonParser().parse(result).getAsJsonArray(); + + assertThat(GsonUtil.formatJsonArray(array, executionEntity), is(resArray)); + + } + + @Test + public void testGetValue(){ + + DelegateExecution executionEntity = mock(ExecutionEntity.class); + + String json = "{'value':'60','valueSource':'String'}"; + JsonObject obj = new JsonParser().parse(json).getAsJsonObject(); + + String result = "60"; + + assertThat(GsonUtil.getValue(obj, executionEntity), is(result)); + } + +} diff --git a/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HighLevelRestApiTest.java b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HighLevelRestApiTest.java index 7e791f7..0f20a1e 100644 --- a/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HighLevelRestApiTest.java +++ b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HighLevelRestApiTest.java @@ -1,4 +1,4 @@ -/* +/** * Copyright 2017 ZTE Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,129 +18,176 @@ package org.onap.workflow.activitiext.restservicetask; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; +import org.apache.commons.httpclient.HttpMethodBase; import org.apache.commons.httpclient.NameValuePair; +import org.apache.commons.httpclient.methods.GetMethod; import org.junit.Before; import org.junit.Test; +import org.junit.Assert; import org.junit.runner.RunWith; import org.mockito.Mockito; +import org.onap.workflow.activitiext.common.RestInfo; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; -@PrepareForTest({HighLevelRestApi.class,LowLevelRestApi.class}) +@PrepareForTest({LowLevelRestApi.class}) @RunWith(PowerMockRunner.class) public class HighLevelRestApiTest { - - private HighLevelRestApi highLevelRestApi; - - @Before - public void setUp() { - highLevelRestApi = new HighLevelRestApi(); - } - - @Test - public void testGet() { - - try { - HttpResponseMessage msg = new HttpResponseMessage(); - msg.setStatusCode(200); - msg.setResponseBody(null); - PowerMockito.mockStatic(LowLevelRestApi.class); - PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); - - String uri = "10.74.148.107/openoapi/catalog/v1/csars"; - String acceptValue = "application/json"; - String contentTypeValue = "application/json"; - - HighLevelRestApi.Get(uri, acceptValue, contentTypeValue); - assertThat(HighLevelRestApi.Get(uri, acceptValue, contentTypeValue), is(msg)); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - @Test - public void testPost() { - - try { - HttpResponseMessage msg = new HttpResponseMessage(); - msg.setStatusCode(200); - msg.setResponseBody(null); - PowerMockito.mockStatic(LowLevelRestApi.class); - PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); - - String uri = "10.74.148.107/openoapi/catalog/v1/csars"; - String requestBody = "{'type':'NFAR'}"; - String acceptValue = "application/json"; - String contentTypeValue = "application/json"; - - assertThat(HighLevelRestApi.Post(uri, requestBody, acceptValue, contentTypeValue), is(msg)); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - @Test - public void testDelete() { - - try { - HttpResponseMessage msg = new HttpResponseMessage(); - msg.setStatusCode(200); - msg.setResponseBody(null); - PowerMockito.mockStatic(LowLevelRestApi.class); - PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); - - String uri = "10.74.148.107/openoapi/catalog/v1/csars/aa1bc611c9fbc08247d5ea71fd67ec3f"; - String acceptValue = "application/json"; - String contentTypeValue = "application/json"; - - assertThat(HighLevelRestApi.Delete(uri, acceptValue, contentTypeValue), is(msg)); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - @Test - public void testPut() { - - try { - HttpResponseMessage msg = new HttpResponseMessage(); - msg.setStatusCode(200); - msg.setResponseBody(null); - PowerMockito.mockStatic(LowLevelRestApi.class); - PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); - - String uri = "10.74.148.107/openoapi/catalog/v1/csars"; - String requestBody = "{'type':'NFAR'}"; - String acceptValue = "application/json"; - String contentTypeValue = "application/json"; - - assertThat(HighLevelRestApi.Put(uri, requestBody, acceptValue, contentTypeValue), is(msg)); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - @Test - public void testCreateNameValuePairArrayFromQuery() { - NameValuePair[] pair = new NameValuePair[2]; - NameValuePair p1 = new NameValuePair(); - p1.setName("name"); - p1.setValue("liuyao"); - NameValuePair p2 = new NameValuePair(); - p2.setName("pwd"); - p2.setValue("zte"); - - pair[0] = p1; - pair[1] = p2; - - String query = "name=liuyao&pwd=zte"; - - assertThat(highLevelRestApi.createNameValuePairArrayFromQuery(query), is(pair)); - } - + + private HighLevelRestApi highLevelRestApi; + + @Before + public void setUp() { + highLevelRestApi = new HighLevelRestApi(); + } + + @Test + public void testInvoke() { + + try { + RestInfo info = new RestInfo(); + info.setMethod("GET"); + info.setName("name"); + info.setPath("/catalog/v1"); + info.setUrl("csars"); + info.setRealUri(""); + info.setVersion("v1"); + + HttpResponseMessage msg = new HttpResponseMessage(); + msg.setStatusCode(200); + msg.setResponseBody(null); + PowerMockito.mockStatic(LowLevelRestApi.class); + PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); + + assertThat(HighLevelRestApi.invoke(info), is(msg));; + } catch (Exception e) { + assert (false); + } + } + + @Test + public void testGet() { + + try { + HttpResponseMessage msg = new HttpResponseMessage(); + msg.setStatusCode(200); + msg.setResponseBody(null); + PowerMockito.mockStatic(LowLevelRestApi.class); + PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); + + String uri = "10.74.148.107/openoapi/catalog/v1/dbtest?id=5"; + String acceptValue = "application/json"; + String contentTypeValue = "application/json"; + + assertThat(HighLevelRestApi.Get(uri, acceptValue, contentTypeValue), is(msg)); + } catch (Exception e) { + assert (false); + } + } + + @Test + public void testPost() { + + try { + HttpResponseMessage msg = new HttpResponseMessage(); + msg.setStatusCode(200); + msg.setResponseBody(null); + PowerMockito.mockStatic(LowLevelRestApi.class); + PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); + + String uri = "10.74.148.107/openoapi/catalog/v1/dbtest?id=5"; + String requestBody = "{'type':'NFAR'}"; + String acceptValue = "application/json"; + String contentTypeValue = "application/json"; + + assertThat(HighLevelRestApi.Post(uri, requestBody, acceptValue, contentTypeValue), is(msg)); + } catch (Exception e) { + assert (false); + } + } + + @Test + public void testDelete() { + + try { + HttpResponseMessage msg = new HttpResponseMessage(); + msg.setStatusCode(200); + msg.setResponseBody(null); + PowerMockito.mockStatic(LowLevelRestApi.class); + PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); + + String uri = "10.74.148.107/openoapi/catalog/v1/csars/aa1bc611c9fbc08247d5ea71fd67ec3f"; + String acceptValue = "application/json"; + String contentTypeValue = "application/json"; + + assertThat(HighLevelRestApi.Delete(uri, acceptValue, contentTypeValue), is(msg)); + } catch (Exception e) { + assert (false); + } + } + + @Test + public void testPut() { + + try { + HttpResponseMessage msg = new HttpResponseMessage(); + msg.setStatusCode(200); + msg.setResponseBody(null); + PowerMockito.mockStatic(LowLevelRestApi.class); + PowerMockito.when(LowLevelRestApi.executeHttpMethod(Mockito.anyObject())).thenReturn(msg); + + String uri = "10.74.148.107/openoapi/catalog/v1/csars"; + String requestBody = "{'type':'NFAR'}"; + String acceptValue = "application/json"; + String contentTypeValue = "application/json"; + + assertThat(HighLevelRestApi.Put(uri, requestBody, acceptValue, contentTypeValue), is(msg)); + } catch (Exception e) { + assert (false); + } + } + + @SuppressWarnings("static-access") + @Test + public void testCreateNameValuePairArrayFromQuery() { + NameValuePair[] pair = new NameValuePair[2]; + NameValuePair p1 = new NameValuePair(); + p1.setName("name"); + p1.setValue("liuyao"); + NameValuePair p2 = new NameValuePair(); + p2.setName("pwd"); + p2.setValue("zte"); + + pair[0] = p1; + pair[1] = p2; + + String query = "name=liuyao&pwd=zte"; + + assertThat(highLevelRestApi.createNameValuePairArrayFromQuery(query), is(pair)); + } + + @Test + public void testSetAcceptHeader() { + try { + HttpMethodBase method = new GetMethod(); + HighLevelRestApi.setAcceptHeader(method, "[application/json]"); + Assert.assertTrue(true); + } catch (Exception e) { + Assert.assertTrue(false); + } + } + + @Test + public void testSetContentTypeHeader() { + + try { + HttpMethodBase method = new GetMethod(); + HighLevelRestApi.setContentTypeHeader(method, "[application/json]"); + Assert.assertTrue(true); + } catch (Exception e) { + Assert.assertTrue(false); + } + } + } diff --git a/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HttpResponseMessageTest.java b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HttpResponseMessageTest.java new file mode 100644 index 0000000..befcf3f --- /dev/null +++ b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HttpResponseMessageTest.java @@ -0,0 +1,41 @@ +/** + * 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.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; + +import org.junit.Test; + +import com.alibaba.fastjson.JSON; + +public class HttpResponseMessageTest { + + @Test + public void testToString(){ + + String json = "{'name':'robert'}"; + JSON obj = (JSON) JSON.parse(json); + + HttpResponseMessage msg = new HttpResponseMessage(); + msg.setStatusCode(200); + msg.setResponseBody(obj); + + String result = "{statusCode=200, responseBody={\"name\":\"robert\"}}"; + + assertThat(msg.toString(), is(result)); + } +} diff --git a/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HttpUtilTest.java b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HttpUtilTest.java index b117b97..2852e29 100644 --- a/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HttpUtilTest.java +++ b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/HttpUtilTest.java @@ -19,95 +19,135 @@ 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.junit.runner.RunWith; -import org.mockito.Mockito; import org.onap.workflow.activitiext.common.Parameter; import org.onap.workflow.activitiext.common.RestInfo; import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -@PrepareForTest({HighLevelRestApi.class}) -@RunWith(PowerMockRunner.class) +import com.alibaba.fastjson.JSON; + public class HttpUtilTest { - private HttpUtil httpUtil; - - @Before - public void setUp() { - httpUtil = new HttpUtil(); - } - - @Test - public void testExecute(){ - - DelegateExecution executionEntity = mock(ExecutionEntity.class); - - HttpUtil httpUtil1 = mock(HttpUtil.class);; - try { - httpUtil1.execute(executionEntity); - - Assert.assertTrue(true); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - Assert.assertTrue(false); - } - } - - @Test - public void testExecuteMethod() { - - DelegateExecution executionEntity = mock(ExecutionEntity.class); - HttpUtil httpUtil1 = mock(HttpUtil.class);; - try { - - PowerMockito.when(executionEntity.getCurrentActivityId()).thenReturn("1111"); - - HttpResponseMessage msg = new HttpResponseMessage(); - msg.setStatusCode(200); - msg.setResponseBody(null); - PowerMockito.mockStatic(HighLevelRestApi.class); - PowerMockito.when(HighLevelRestApi.invoke(Mockito.anyObject())).thenReturn(msg); - - httpUtil1.executeMethod(executionEntity); - Assert.assertTrue(true); - } catch (Exception e) { - e.printStackTrace(); - Assert.assertTrue(false); - } - } - - @Test - public void testHandleParam(){ - - 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) { - // TODO Auto-generated catch block - e.printStackTrace(); - Assert.assertTrue(true); - } - - } + private HttpUtil httpUtil; + + @Before + public void setUp() { + httpUtil = new HttpUtil(); + } + + @Test + public void testExecute() { + + try { + DelegateExecution executionEntity = mock(ExecutionEntity.class); + HttpUtil httpUtil1 = mock(HttpUtil.class); + PowerMockito.when(httpUtil1.executeMethod(executionEntity)).thenReturn(true); + httpUtil1.execute(executionEntity); + Assert.assertTrue(true); + } catch (Exception e) { + Assert.assertTrue(false); + } + } + + @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.executeMethod(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 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)); + } } diff --git a/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApiTest.java b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApiTest.java new file mode 100644 index 0000000..863cc37 --- /dev/null +++ b/activiti-extension/src/test/java/org/onap/workflow/activitiext/restservicetask/LowLevelRestApiTest.java @@ -0,0 +1,37 @@ +/** + * 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 org.apache.commons.httpclient.HttpMethod; +import org.junit.Assert; +import org.junit.Test; +import org.powermock.api.mockito.PowerMockito; + +public class LowLevelRestApiTest { + + @Test + public void testExecuteHttpMethod(){ + + try { + HttpMethod method = PowerMockito.mock(HttpMethod.class); + LowLevelRestApi.executeHttpMethod(method); + + Assert.assertTrue(false); + } catch (Exception e) { + Assert.assertTrue(true); + } + } +} -- cgit 1.2.3-korg