From 37b5bf8e00a0c7c6462a2397a12869d86bef65c9 Mon Sep 17 00:00:00 2001 From: Roger Meier Date: Sun, 24 Oct 2010 21:41:24 +0000 Subject: [PATCH] THRIFT-961 JavaScript TestSuite using ant/ivy and Java's ServerTestBase Handler git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1026899 13f79535-47bb-0310-9956-ffa450edef68 --- lib/js/test/RunTestServer.sh | 49 -------- lib/js/test/build.xml | 157 ++++++++++++++++++++++++++ lib/js/test/ivy.xml | 22 ++++ lib/js/test/src/test/Httpd.java | 1 + lib/js/test/src/test/TestHandler.java | 141 ----------------------- lib/js/test/test.html | 13 +-- 6 files changed, 182 insertions(+), 201 deletions(-) delete mode 100755 lib/js/test/RunTestServer.sh create mode 100644 lib/js/test/build.xml create mode 100644 lib/js/test/ivy.xml delete mode 100644 lib/js/test/src/test/TestHandler.java diff --git a/lib/js/test/RunTestServer.sh b/lib/js/test/RunTestServer.sh deleted file mode 100755 index 4c41ac1c..00000000 --- a/lib/js/test/RunTestServer.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# 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. -# - -LOG4J="../../java/build/ivy/lib/slf4j-api-1.5.8.jar:../../java/build/ivy/lib/log4j-1.2.14.jar:../../java/build/ivy/lib/slf4j-log4j12-1.5.8.jar" -HTTPCORE="./httpcore-4.0.1.jar" - -if [ -f ${HTTPCORE} ] -then - echo "compiling test..." -else - echo "try to download httpcore..." - - wget http://archive.apache.org/dist/httpcomponents/httpcore/binary/httpcomponents-core-4.0.1-bin.tar.gz - # extract required jar file - tar -xzf httpcomponents-core-4.0.1-bin.tar.gz httpcomponents-core-4.0.1/lib/httpcore-4.0.1.jar --to-stdout > ${HTTPCORE} - - if [ ! -f ${HTTPCORE} ] - then - echo "Missing required file ${HTTPCORE}" - echo "You can download this from http://archive.apache.org/dist/httpcomponents/httpcore/binary/httpcomponents-core-4.0.1-bin.tar.gz" - echo "Place the jar in this directory and try again." - exit - fi -fi - -../../../compiler/cpp/thrift --gen java ../../../test/ThriftTest.thrift -../../../compiler/cpp/thrift --gen js ../../../test/ThriftTest.thrift - -javac -cp ${LOG4J}:../../java/libthrift.jar gen-java/thrift/test/*.java -javac -cp ${LOG4J}:${HTTPCORE}:../../java/libthrift.jar:gen-java/ src/test/*.java -java -cp ${LOG4J}:${HTTPCORE}:../../java/libthrift.jar:gen-java:src test.Httpd ../ diff --git a/lib/js/test/build.xml b/lib/js/test/build.xml new file mode 100644 index 00000000..ee38edbe --- /dev/null +++ b/lib/js/test/build.xml @@ -0,0 +1,157 @@ + + + + Java Script Test based on Thrift Java Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + You need libthrift.jar located at + ${thrift.java.dir} + Did you compile Thrift Java library and its test suite by "ant compile-test"? + + + + + + + + + + ivy is missing at ${ivy.dir} + + + + + + + + + + Thrift compiler is missing ! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + You need Apache Ivy 2.0 or later from http://ant.apache.org/ + It could not be loaded from ${ivy_repo_url} + + + + diff --git a/lib/js/test/ivy.xml b/lib/js/test/ivy.xml new file mode 100644 index 00000000..fdd2d902 --- /dev/null +++ b/lib/js/test/ivy.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/lib/js/test/src/test/Httpd.java b/lib/js/test/src/test/Httpd.java index 155a8b8b..e3aad7d6 100644 --- a/lib/js/test/src/test/Httpd.java +++ b/lib/js/test/src/test/Httpd.java @@ -70,6 +70,7 @@ import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TMemoryBuffer; import thrift.test.ThriftTest; +import org.apache.thrift.server.ServerTestBase.TestHandler; /** * Basic, yet fully functional and spec compliant, HTTP/1.1 file server. diff --git a/lib/js/test/src/test/TestHandler.java b/lib/js/test/src/test/TestHandler.java deleted file mode 100644 index f2c944f4..00000000 --- a/lib/js/test/src/test/TestHandler.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * 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. - */ -package test; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.thrift.TException; - -import thrift.test.Insanity; -import thrift.test.ThriftTest; -import thrift.test.Xception; -import thrift.test.Xception2; -import thrift.test.Xtruct; -import thrift.test.Xtruct2; -import thrift.test.Numberz; - -public class TestHandler implements ThriftTest.Iface { - - public byte testByte(byte thing) throws TException { - return thing; - } - - public double testDouble(double thing) throws TException { - return thing; - } - - public Numberz testEnum(Numberz thing) throws TException { - return thing; - } - - public void testException(String arg) throws Xception, TException { - throw new Xception(1,arg); - } - - public int testI32(int thing) throws TException { - return thing; - } - - public long testI64(long thing) throws TException { - return thing; - } - - public Map> testInsanity(Insanity argument) throws TException { - Map> result = new HashMap>(); - - result.put(Long.valueOf(1), new HashMap()); - result.get(Long.valueOf(1)).put(Numberz.ONE, argument); - - result.put(Long.valueOf(2), new HashMap()); - result.get(Long.valueOf(2)).put(Numberz.ONE, argument); - - return result; - } - - public List testList(List thing) throws TException { - return thing; - } - - public Map testMap(Map thing) throws TException { - return thing; - } - - public Map> testMapMap(int hello) throws TException { - Map> result = new HashMap>(); - - result.put(Integer.valueOf(1), new HashMap()); - result.get(Integer.valueOf(1)).put(Integer.valueOf(1), Integer.valueOf(1)); - result.get(Integer.valueOf(1)).put(Integer.valueOf(2), Integer.valueOf(2)); - result.get(Integer.valueOf(2)).put(Integer.valueOf(1), Integer.valueOf(1)); - - return result; - } - - public Xtruct testMulti(byte arg0, int arg1, long arg2, Map arg3, Numberz arg4, long arg5) throws TException { - Xtruct xtr = new Xtruct(); - - xtr.byte_thing = arg0; - xtr.i32_thing = arg1; - xtr.i64_thing = arg2; - xtr.string_thing = "server string"; - - return xtr; - } - - public Xtruct testMultiException(String arg0, String arg1) throws Xception, Xception2, TException { - Xtruct xtr = new Xtruct(); - xtr.setString_thing(arg0); - throw new Xception2(1,xtr); - } - - public Xtruct2 testNest(Xtruct2 thing) throws TException { - return thing; - } - - public void testOneway(int secondsToSleep) throws TException { - try{ - Thread.sleep(secondsToSleep * 1000); - }catch(InterruptedException e){ - - } - } - - public Set testSet(Set thing) throws TException { - return thing; - } - - public String testString(String thing) throws TException { - return thing; - } - - public Xtruct testStruct(Xtruct thing) throws TException { - return thing; - } - - public long testTypedef(long thing) throws TException { - return thing; - } - - public void testVoid() throws TException { - - } -} diff --git a/lib/js/test/test.html b/lib/js/test/test.html index 8a62bf8a..c5f4326e 100644 --- a/lib/js/test/test.html +++ b/lib/js/test/test.html @@ -200,17 +200,8 @@ try{ client.testException("Xception"); }catch(e){ - equals(e.errorCode, 1); - equals(e.message, "Xception"); - } - }); - - test("ApplicationException", function() { - expect(1); - try{ - client.testException("ApplicationException"); - }catch(e){ - equals(e.message, "ApplicationException"); + equals(e.errorCode, 1001); + equals(e.message, "This is an Xception"); } }); -- 2.17.1