github.com/tonto/cli@v0.0.0-20180104210444-aec958fa47db/test.sh (about) 1 set -ex 2 3 make build 4 export fn="$(pwd)/fn" 5 export FN_REGISTRY=$DOCKER_USER 6 if [[ -z "$FN_REGISTRY" ]]; then 7 export FN_REGISTRY=default_docker_user_does_not_push 8 fi 9 $fn --version 10 11 go test $(go list ./... | grep -v /vendor/ | grep -v /tests) 12 13 # This tests all the quickstart commands on the cli on a live server 14 rm -rf tmp 15 mkdir tmp 16 cd tmp 17 funcname="fn-test-go" 18 mkdir $funcname 19 cd $funcname 20 $fn init --runtime go 21 $fn run 22 $fn test 23 24 someport=50080 25 docker rm --force functions || true # just in case 26 docker pull fnproject/functions 27 docker run --name functions -d -v /var/run/docker.sock:/var/run/docker.sock -p $someport:8080 fnproject/functions 28 sleep 10 29 docker logs functions 30 31 export FN_API_URL="http://localhost:$someport" 32 $fn apps l 33 $fn apps create myapp 34 $fn apps l 35 $fn deploy --local --app myapp 36 $fn call myapp $funcname 37 cd .. 38 39 # Test ruby func 40 funcname="rubyfunc" 41 mkdir $funcname 42 cd $funcname 43 $fn init --runtime ruby 44 $fn run 45 $fn test 46 cd .. 47 48 # Test 'docker' runtime deploy 49 funcname="dockerfunc" 50 mkdir $funcname 51 cp ../test/funcfile-docker-rt-tests/testfiles/Dockerfile $funcname/ 52 cp ../test/funcfile-docker-rt-tests/testfiles/func.go $funcname/ 53 cd $funcname 54 $fn init --name $funcname 55 $fn apps create myapp1 56 $fn apps l 57 $fn deploy --local --app myapp1 58 $fn call myapp1 /$funcname 59 # todo: would be nice to have a flag to output parseable formats in cli, eg: `fn deploy --output json` would return json with version and other info 60 $fn routes create myapp1 /another --image $FN_REGISTRY/$funcname:0.0.2 61 $fn call myapp1 /another 62 63 docker rm --force functions 64 65 cd ../.. 66 rm -rf tmp