blob: 9d1da3fc036ab52ba4a119653b4f0bc64dfa100f [file] [log] [blame]
Roger Meier8909cbd2014-01-26 11:44:27 +01001#! /bin/sh
2
3#
4# Licensed to the Apache Software Foundation (ASF) under one
5# or more contributor license agreements. See the NOTICE file
6# distributed with this work for additional information
7# regarding copyright ownership. The ASF licenses this file
8# to you under the Apache License, Version 2.0 (the
9# "License"); you may not use this file except in compliance
10# with the License. You may obtain a copy of the License at
11#
12# http://www.apache.org/licenses/LICENSE-2.0
13#
14# Unless required by applicable law or agreed to in writing,
15# software distributed under the License is distributed on an
16# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17# KIND, either express or implied. See the License for the
18# specific language governing permissions and limitations
19# under the License.
20#
21
22DIR="$( cd "$( dirname "$0" )" && pwd )"
23
24export NODE_PATH="${DIR}:${DIR}/../lib:${NODE_PATH}"
25
26testClientServer()
27{
Roger Meier57b354b2014-02-22 01:01:58 +010028 echo " Testing Client/Server with protocol $1 and transport $2 $3";
Roger Meier8909cbd2014-01-26 11:44:27 +010029 RET=0
Roger Meier57b354b2014-02-22 01:01:58 +010030 node ${DIR}/server.js -p $1 -t $2 $3 &
Roger Meier8909cbd2014-01-26 11:44:27 +010031 SERVERPID=$!
32 sleep 1
Roger Meier57b354b2014-02-22 01:01:58 +010033 node ${DIR}/client.js -p $1 -t $2 $3 || RET=1
Roger Meier8909cbd2014-01-26 11:44:27 +010034 kill -9 $SERVERPID || RET=1
35 return $RET
36}
37
38testMultiplexedClientServer()
39{
Roger Meier57b354b2014-02-22 01:01:58 +010040 echo " Testing Multiplexed Client/Server with protocol $1 and transport $2 $3";
Roger Meier8909cbd2014-01-26 11:44:27 +010041 RET=0
Roger Meier57b354b2014-02-22 01:01:58 +010042 node ${DIR}/multiplex_server.js -p $1 -t $2 $3 &
Roger Meier8909cbd2014-01-26 11:44:27 +010043 SERVERPID=$!
44 sleep 1
Roger Meier57b354b2014-02-22 01:01:58 +010045 node ${DIR}/multiplex_client.js -p $1 -t $2 $3 || RET=1
Roger Meier8909cbd2014-01-26 11:44:27 +010046 kill -9 $SERVERPID || RET=1 #f
47 return $RET
48}
49
ra8f697cb2014-04-23 02:23:18 -070050testHttpClientServer()
51{
52 echo " Testing HTTP Client/Server with protocol $1 and transport $2 $3";
53 RET=0
54 node ${DIR}/http_server.js -p $1 -t $2 $3 &
55 SERVERPID=$!
56 sleep 1
57 node ${DIR}/http_client.js -p $1 -t $2 $3 || RET=1
58 kill -9 $SERVERPID || RET=1
59 return $RET
60}
61
Roger Meier8909cbd2014-01-26 11:44:27 +010062
63TESTOK=0
64
65#generating thrift code
66
67${DIR}/../../../compiler/cpp/thrift -o ${DIR} --gen js:node ${DIR}/../../../test/ThriftTest.thrift
68
69#unit tests
70
71node ${DIR}/binary.test.js || TESTOK=1
72
73#integration tests
74
ra8f697cb2014-04-23 02:23:18 -070075#TCP connection tests
Roger Meier8909cbd2014-01-26 11:44:27 +010076testClientServer binary buffered || TESTOK=1
77testClientServer json buffered || TESTOK=1
78testClientServer binary framed || TESTOK=1
79testClientServer json framed || TESTOK=1
80
Roger Meier57b354b2014-02-22 01:01:58 +010081#tests for multiplexed services
Roger Meier8909cbd2014-01-26 11:44:27 +010082testMultiplexedClientServer binary buffered || TESTOK=1
83testMultiplexedClientServer json buffered || TESTOK=1
84testMultiplexedClientServer binary framed || TESTOK=1
85testMultiplexedClientServer json framed || TESTOK=1
86
Roger Meier57b354b2014-02-22 01:01:58 +010087#test ssl connection
88testClientServer binary framed --ssl || TESTOK=1
89testMultiplexedClientServer binary framed --ssl || TESTOK=1
90
henrique31236232014-02-23 20:16:44 +010091#test promise style
92testClientServer binary framed --promise || TESTOK=1
Roger Meier57b354b2014-02-22 01:01:58 +010093
ra8f697cb2014-04-23 02:23:18 -070094#HTTP tests
95testHttpClientServer json buffered || TESTOK=1
96testHttpClientServer json framed || TESTOK=1
97testHttpClientServer binary buffered || TESTOK=1
98testHttpClientServer binary framed || TESTOK=1
ra779b9ac2014-04-23 20:04:23 -070099testHttpClientServer json buffered --promise || TESTOK=1
100testHttpClientServer binary framed --ssl || TESTOK=1
ra8f697cb2014-04-23 02:23:18 -0700101
Roger Meier8909cbd2014-01-26 11:44:27 +0100102exit $TESTOK