From 4feb1a8a3b66cc3cd35f8aeb3135ccbc15462f23 Mon Sep 17 00:00:00 2001 From: lresende Date: Sun, 28 Nov 2010 07:54:35 +0000 Subject: TUSCANY-3747 - Adjusting test case to expected behaviour git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1039841 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/binding/jsonrpc/BindingTestCase.java | 105 ++++++++++----------- 1 file changed, 50 insertions(+), 55 deletions(-) (limited to 'sca-java-1.x/trunk/modules/binding-jsonrpc-runtime/src/test/java') diff --git a/sca-java-1.x/trunk/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/BindingTestCase.java b/sca-java-1.x/trunk/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/BindingTestCase.java index 1e896441f1..4de6e4464c 100644 --- a/sca-java-1.x/trunk/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/BindingTestCase.java +++ b/sca-java-1.x/trunk/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/BindingTestCase.java @@ -6,33 +6,30 @@ * to you 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. + * under the License. */ package org.apache.tuscany.sca.binding.jsonrpc; import helloworld.BeanA; import helloworld.HelloWorldService; -import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; -import java.io.InputStreamReader; import java.net.MalformedURLException; -import java.net.URL; import junit.framework.Assert; import org.apache.tuscany.sca.node.SCAClient; -import org.apache.tuscany.sca.node.SCANodeFactory; import org.apache.tuscany.sca.node.SCANode; +import org.apache.tuscany.sca.node.SCANodeFactory; import org.json.JSONObject; import org.junit.AfterClass; import org.junit.BeforeClass; @@ -47,33 +44,32 @@ import com.meterware.httpunit.WebResponse; public class BindingTestCase { private static SCANode node; - + /* SMD = - * + * * {"SMDVersion":".1","objectName":"HelloWorldService","serviceType":"JSON-RPC","serviceURL":"http://ibm-7a66aa9141b:8085/HelloWorldComponent/HelloWorldService","methods":[{"name":"sayHello","parameters":[{"name":"param0","type":"STRING"}]},{"name":"sayHello2","parameters":[{"name":"param0","type":"STRING"},{"name":"param1","type":"STRING"}]},{"name":"sayHello3","parameters":[{"name":"param0","type":"STRING"}]},{"name":"sayHello4","parameters":[{"name":"param0","type":"STRING"}]},{"name":"sayHello5","parameters":[{"name":"param0","type":"STRING"}]},{"name":"sayHello6","parameters":[{"name":"param0","type":"STRING"},{"name":"param1","type":"STRING"},{"name":"param2","type":"STRING"}]},{"name":"sayHello7","parameters":[]}]} */ - + public JSONObject callService(String url, JSONObject jsonRequest) throws Exception { System.out.println("Request = " + jsonRequest.toString()); WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest( url, + WebRequest request = new PostMethodWebRequest( url, new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")),"application/json"); WebResponse response = wc.getResource(request); - System.out.println("Response= " + response.getText()); + System.out.println("Response= " + response.getText()); Assert.assertEquals(200, response.getResponseCode()); - return new JSONObject(response.getText()); - } + return new JSONObject(response.getText()); + } @Test - @Ignore("TUSCANY-3747") public void testOneArg() throws MalformedURLException, IOException { try { - JSONObject jsonRequest = new JSONObject("{\"params\":[\"\\\"petra\\\"\"],\"method\":\"sayHello\",\"id\":1}"); + JSONObject jsonRequest = new JSONObject("{\"params\":[\"petra\"],\"method\":\"sayHello\",\"id\":1}"); JSONObject jsonResp = callService ("http://localhost:8085/HelloWorldComponent/HelloWorldService", jsonRequest); Assert.assertNotNull(jsonResp); - Assert.assertEquals("{\"id\":1,\"result\":\"\\\"Hello petra\\\"\"}", jsonResp.toString()); - + Assert.assertEquals("{\"id\":1,\"result\":\"Hello petra\"}", jsonResp.toString()); + } catch(Exception ex){ ex.printStackTrace(); Assert.fail(); @@ -81,55 +77,54 @@ public class BindingTestCase { } @Test - @Ignore("TUSCANY-3747") - public void testTwoArgs() throws MalformedURLException, IOException { + public void testTwoArgs() throws MalformedURLException, IOException { try { - JSONObject jsonRequest = new JSONObject("{\"params\":[\"\\\"petra\\\"\", \"\\\"arnold\\\"\"],\"method\":\"sayHello2\",\"id\":1}"); + JSONObject jsonRequest = new JSONObject("{\"params\":[\"petra\", \"arnold\"],\"method\":\"sayHello2\",\"id\":1}"); JSONObject jsonResp = callService ("http://localhost:8085/HelloWorldComponent/HelloWorldService", jsonRequest); Assert.assertNotNull(jsonResp); - Assert.assertEquals("{\"id\":1,\"result\":\"\\\"Hello petra arnold\\\"\"}", jsonResp.toString()); - + Assert.assertEquals("{\"id\":1,\"result\":\"Hello petra arnold\"}", jsonResp.toString()); + } catch(Exception ex){ ex.printStackTrace(); Assert.fail(); - } + } + + } - } - @Test - @Ignore("TUSCANY-3747") - public void testComplexParams() throws MalformedURLException, IOException { + public void testComplexParams() throws MalformedURLException, IOException { try { JSONObject jsonRequest = new JSONObject("{\"params\":[{\"b\":true, \"s\":\"fred\", \"x\":2, \"y\":5}],\"method\":\"sayHello3\",\"id\":1}"); JSONObject jsonResp = callService ("http://localhost:8085/HelloWorldComponent/HelloWorldService", jsonRequest); Assert.assertNotNull(jsonResp); - Assert.assertEquals("{\"id\":1,\"result\":{\"s\":\"XYZ\",\"b\":true,\"y\":5,\"x\":2}}", jsonResp.toString()); - + + //JabSorb sends class hints with complex parameters/types + Assert.assertEquals("{\"id\":1,\"result\":{\"s\":\"XYZ\",\"b\":true,\"javaClass\":\"helloworld.BeanA\",\"y\":5,\"x\":2}}", jsonResp.toString()); + } catch(Exception ex){ ex.printStackTrace(); Assert.fail(); - } - } - + } + } + @Test - @Ignore("TUSCANY-3747") - public void testStringArray() throws MalformedURLException, IOException { - + public void testStringArray() throws MalformedURLException, IOException { + try { JSONObject jsonRequest = new JSONObject("{\"params\":[[\"Fred\", \"Bloggs\"]],\"method\":\"sayHello4\",\"id\":1}"); JSONObject jsonResp = callService ("http://localhost:8085/HelloWorldComponent/HelloWorldService", jsonRequest); Assert.assertNotNull(jsonResp); Assert.assertEquals("{\"id\":1,\"result\":[\"Hello Fred Bloggs\"]}", jsonResp.toString()); - + } catch(Exception ex){ ex.printStackTrace(); Assert.fail(); - } - } - + } + } + @Test @Ignore public void testBeanArray() throws MalformedURLException, IOException { @@ -141,26 +136,26 @@ public class BindingTestCase { bean.setS("Fred"); bean.setX(2); bean.setX(5); - + BeanA[] beans = {bean}; BeanA[] response = client.sayHello5(beans); Assert.assertEquals("Hello Fred", response[0].getS()); */ - + try { JSONObject jsonRequest = new JSONObject("{\"params\":[{\"b\":true, \"s\":\"fred\", \"x\":2, \"y\":5}],\"method\":\"sayHello3\",\"id\":1}"); JSONObject jsonResp = callService ("http://localhost:8085/HelloWorldComponent/HelloWorldService", jsonRequest); Assert.assertNotNull(jsonResp); Assert.assertEquals("{\"id\":1,\"result\":{\"s\":\"XYZ\",\"b\":true,\"y\":5,\"x\":2}}", jsonResp.toString()); - + } catch(Exception ex){ ex.printStackTrace(); Assert.fail(); - } - } - + } + } + /* HTTP Request for testMixedArray GET /HelloWorldComponent/HelloWorldService/sayHello6?arg0=%5B%7B%22b%22%3Atrue%2C%22s%22%3A%22Fred%22%2C%22y%22%3Anull%2C%22x%22%3A5%7D%5D&arg1=%5B%22Fred%22%2C%22Bloggs%22%5D&arg2=%22Bloggs%22 HTTP/1.1 Host: localhost:8085 @@ -185,23 +180,23 @@ public class BindingTestCase { bean.setS("Fred"); bean.setX(2); bean.setX(5); - + BeanA[] beans = {bean}; String[] names = {"Fred", "Bloggs"}; - + String[] response = client.sayHello6(beans, names, "Bloggs"); Assert.assertEquals("Hello Fred Fred Bloggs Bloggs", response[0]); - } - + } + @Test @Ignore public void testVoid() throws MalformedURLException, IOException { HelloWorldService client = ((SCAClient)node).getService(HelloWorldService.class, "HelloWorldClient"); client.sayHello7(); - } - + } + @Test @Ignore public void waitForInput(){ @@ -214,12 +209,12 @@ public class BindingTestCase { } @BeforeClass - public static void init() throws Exception { + public static void init() throws Exception { SCANodeFactory factory = SCANodeFactory.newInstance(); node = factory.createSCANodeFromClassLoader("helloworld.composite", BindingTestCase.class.getClassLoader()); - node.start(); + node.start(); } - + @AfterClass public static void destroy() throws Exception { if (node != null) { -- cgit v1.2.3