- #! /bin/bash
-
- cd $GOPATH/src/github.com/tendermint/go-rpc
-
- # get deps
- go get -u -t ./...
-
- # go tests
- go test --race github.com/tendermint/go-rpc/...
-
-
- # integration tests
- cd test
- set -e
-
- go build -o server main.go
- ./server > /dev/null &
- PID=$!
- sleep 2
-
- # simple request
- R1=`curl -s 'http://localhost:8008/hello_world?name="my_world"&num=5'`
- R2=`curl -s --data @data.json http://localhost:8008`
- if [[ "$R1" != "$R2" ]]; then
- echo "responses are not identical:"
- echo "R1: $R1"
- echo "R2: $R2"
- exit 1
- else
- echo "Success"
- fi
-
- # request with 0x-prefixed hex string arg
- R1=`curl -s 'http://localhost:8008/hello_world?name=0x41424344&num=123'`
- R2='{"jsonrpc":"2.0","id":"","result":{"Result":"hi ABCD 123"},"error":""}'
- if [[ "$R1" != "$R2" ]]; then
- echo "responses are not identical:"
- echo "R1: $R1"
- echo "R2: $R2"
- exit 1
- else
- echo "Success"
- fi
-
- # request with unquoted string arg
- R1=`curl -s 'http://localhost:8008/hello_world?name=abcd&num=123'`
- R2="{\"jsonrpc\":\"2.0\",\"id\":\"\",\"result\":null,\"error\":\"Error converting http params to args: invalid character 'a' looking for beginning of value\"}"
- if [[ "$R1" != "$R2" ]]; then
- echo "responses are not identical:"
- echo "R1: $R1"
- echo "R2: $R2"
- exit 1
- else
- echo "Success"
- fi
-
- # request with string type when expecting number arg
- R1=`curl -s 'http://localhost:8008/hello_world?name="abcd"&num=0xabcd'`
- R2="{\"jsonrpc\":\"2.0\",\"id\":\"\",\"result\":null,\"error\":\"Error converting http params to args: Got a hex string arg, but expected 'int'\"}"
- if [[ "$R1" != "$R2" ]]; then
- echo "responses are not identical:"
- echo "R1: $R1"
- echo "R2: $R2"
- exit 1
- else
- echo "Success"
- fi
-
- kill -9 $PID || exit 0
|