You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2011/07/23 21:32:18 UTC

svn commit: r1150198 - /tuscany/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java

Author: antelder
Date: Sat Jul 23 19:32:17 2011
New Revision: 1150198

URL: http://svn.apache.org/viewvc?rev=1150198&view=rev
Log:
Add to the helloworld-jsonrpc testcase a test of the enpoint url

Modified:
    tuscany/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java

Modified: tuscany/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java?rev=1150198&r1=1150197&r2=1150198&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java Sat Jul 23 19:32:17 2011
@@ -18,17 +18,22 @@
  */
 package sample;
 
-import org.junit.Assert;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
 
 import org.apache.tuscany.sca.Node;
 import org.apache.tuscany.sca.TuscanyRuntime;
+import org.junit.Assert;
 import org.junit.Test;
 import org.oasisopen.sca.NoSuchServiceException;
 
 public class HelloworldTestCase {
 
     @Test
-    public void testSayHello() throws NoSuchServiceException {
+    public void testSayHello() throws NoSuchServiceException, IOException {
 
         // Run the SCA composite in a Tuscany runtime
         Node node = TuscanyRuntime.runComposite("helloworld.composite", "target/classes");
@@ -40,9 +45,31 @@ public class HelloworldTestCase {
             // test that it works as expected
             Assert.assertEquals("Hello Amelia", helloworld.sayHello("Amelia"));
             
+            // test that has exposed an HTTP endpoint that works as expected
+            // JSONRPC args are base64 encoded, ["World"] = WyJXb3JsZCJd  
+            URL url = new URL("http://localhost:8080/HelloworldComponent/Helloworld?method=sayHello&params=WyJXb3JsZCJd&id=1");
+            Assert.assertEquals("{\"id\":1,\"result\":\"Hello World\"}", read(url.openStream()));
+
         } finally {
             // Stop the Tuscany runtime Node
             node.stop();        
         }
     }
+
+    private static String read(InputStream is) throws IOException {
+        BufferedReader reader = null;
+        try {
+            reader = new BufferedReader(new InputStreamReader(is));
+            StringBuffer sb = new StringBuffer();
+            String str;
+            while ((str = reader.readLine()) != null) {
+                sb.append(str);
+            }
+            return sb.toString();
+        } finally {
+            if (reader != null) {
+                reader.close();
+            }
+        }
+    }
 }