diff options
Diffstat (limited to 'sca-java-2.x/trunk/samples')
-rw-r--r-- | sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java b/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java index be27aa68ef..61e53a6939 100644 --- a/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java +++ b/sca-java-2.x/trunk/samples/getting-started/helloworld-jsonrpc/src/test/java/sample/HelloworldTestCase.java @@ -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¶ms=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();
+ }
+ }
+ }
}
|