From 3003a6f50fec482a1c58a99dd7b058e85a20af23 Mon Sep 17 00:00:00 2001 From: lresende Date: Wed, 27 Aug 2008 07:19:01 +0000 Subject: Updating json-rpc binding test case to reproduce problems when passing an array to a function invocation git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@689394 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/test/java/bean/TestBean.java | 10 ++++++ .../src/test/java/echo/Echo.java | 2 ++ .../src/test/java/echo/EchoComponentImpl.java | 7 ++-- .../binding/jsonrpc/JSONRPCDataTypeTestCase.java | 38 ++++++++++++++++------ 4 files changed, 44 insertions(+), 13 deletions(-) (limited to 'java') diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/test/java/bean/TestBean.java b/java/sca/modules/binding-jsonrpc-runtime/src/test/java/bean/TestBean.java index a7ee5997a3..4b159fb563 100644 --- a/java/sca/modules/binding-jsonrpc-runtime/src/test/java/bean/TestBean.java +++ b/java/sca/modules/binding-jsonrpc-runtime/src/test/java/bean/TestBean.java @@ -20,7 +20,9 @@ package bean; public class TestBean { private String testString; + private String[] testStringArray; private int testInt; + public String getTestString() { return testString; @@ -30,6 +32,14 @@ public class TestBean { this.testString = testString; } + public String[] getTestStringArray() { + return testStringArray; + } + + public void setStringArray(String[] stringArray) { + this.testStringArray = stringArray; + } + public int getTestInt() { return testInt; } diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/test/java/echo/Echo.java b/java/sca/modules/binding-jsonrpc-runtime/src/test/java/echo/Echo.java index 920626ab8f..3017861b99 100644 --- a/java/sca/modules/binding-jsonrpc-runtime/src/test/java/echo/Echo.java +++ b/java/sca/modules/binding-jsonrpc-runtime/src/test/java/echo/Echo.java @@ -53,6 +53,8 @@ public interface Echo { List echoList(ArrayList list); + String [] echoArray(String[] stringArray); + Set echoSet(HashSet set); } diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoComponentImpl.java b/java/sca/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoComponentImpl.java index fd51eb0da1..aead6e2959 100644 --- a/java/sca/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoComponentImpl.java +++ b/java/sca/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoComponentImpl.java @@ -28,9 +28,6 @@ import java.util.Set; import bean.TestBean; - - - /** * A simple client component that uses a reference with an JSONRPC binding. * @@ -84,6 +81,10 @@ public class EchoComponentImpl implements Echo { return list; } + public String[] echoArray(String[] stringArray) { + return stringArray; + } + public Set echoSet(HashSet param){ Set set = new HashSet(); set = param; diff --git a/java/sca/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCDataTypeTestCase.java b/java/sca/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCDataTypeTestCase.java index ca56ac9519..c4c3151739 100644 --- a/java/sca/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCDataTypeTestCase.java +++ b/java/sca/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCDataTypeTestCase.java @@ -26,6 +26,7 @@ import org.apache.tuscany.sca.host.embedded.SCADomain; import org.json.JSONObject; import org.junit.After; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import com.meterware.httpunit.PostMethodWebRequest; @@ -102,6 +103,23 @@ public class JSONRPCDataTypeTestCase { Assert.assertEquals("JSON-RPC", jsonResp.getJSONObject("result").getJSONObject("map").getString("Binding")); } + + @Test + public void testBean() throws Exception { + JSONObject jsonRequest = new JSONObject( + "{ \"method\": \"echoBean\", \"params\": [ {\"javaClass\": \"bean.TestBean\", \"testString\": \"JSON-RPC\", \"testInt\":1234}], \"id\": 7}"); + + WebConversation wc = new WebConversation(); + WebRequest request = new PostMethodWebRequest(SERVICE_URL, + new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); + WebResponse response = wc.getResource(request); + + Assert.assertEquals(200, response.getResponseCode()); + + JSONObject jsonResp = new JSONObject(response.getText()); + + Assert.assertEquals("JSON-RPC", jsonResp.getJSONObject("result").getString("testString")); + } @Test public void testList() throws Exception { @@ -119,11 +137,12 @@ public class JSONRPCDataTypeTestCase { Assert.assertEquals(0, jsonResp.getJSONObject("result").getJSONArray("list").get(0)); } - - @Test - public void testSet() throws Exception { + + //@Test + @Ignore("TUSCANY-2565") + public void testArray() throws Exception { JSONObject jsonRequest = new JSONObject( - "{ \"method\": \"echoSet\", \"params\": [ {\"javaClass\": \"java.util.HashSet\", \"set\": {\"1\": \"red\", \"2\": \"blue\"}}],\"id\": 9}"); + "{\"params\":[\"1\",\"2\"],\"method\":\"echoArray\",\"id\":9}"); WebConversation wc = new WebConversation(); WebRequest request = new PostMethodWebRequest(SERVICE_URL, @@ -134,13 +153,13 @@ public class JSONRPCDataTypeTestCase { JSONObject jsonResp = new JSONObject(response.getText()); - Assert.assertEquals("red", jsonResp.getJSONObject("result").getJSONObject("set").getString("red")); - } + Assert.assertEquals(0, jsonResp.getJSONObject("result").getJSONArray("list").get(0)); + } @Test - public void testBean() throws Exception { + public void testSet() throws Exception { JSONObject jsonRequest = new JSONObject( - "{ \"method\": \"echoBean\", \"params\": [ {\"javaClass\": \"bean.TestBean\", \"testString\": \"JSON-RPC\", \"testInt\":1234}], \"id\": 7}"); + "{ \"method\": \"echoSet\", \"params\": [ {\"javaClass\": \"java.util.HashSet\", \"set\": {\"1\": \"red\", \"2\": \"blue\"}}],\"id\": 10}"); WebConversation wc = new WebConversation(); WebRequest request = new PostMethodWebRequest(SERVICE_URL, @@ -151,7 +170,6 @@ public class JSONRPCDataTypeTestCase { JSONObject jsonResp = new JSONObject(response.getText()); - Assert.assertEquals("JSON-RPC", jsonResp.getJSONObject("result").getString("testString")); + Assert.assertEquals("red", jsonResp.getJSONObject("result").getJSONObject("set").getString("red")); } - } \ No newline at end of file -- cgit v1.2.3