mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
* fix configuration of agent and server to be future proof and plumb in the hybrid client agent * fixes up the tests, turns off /r/ on api nodes * fix up defaults for runner nodes * shove the runner async push code down into agent land to use client * plumb up async-age * return full call from async dequeue endpoint, since we're storing a whole call in the MQ we don't need to worry about caching of app/route [for now] * fast safe shutdown of dequeue looper in runner / tidying of agent * nice errors for path not found against /r/, /v1/ or other path not found * removed some stale TODO in agent * mq backends are only loud mouths in debug mode now * update tests * Add caching to hybrid client * Fix HTTP error handling in hybrid client. The type switch was on the value rather than a pointer. * Gofmt. * Better caching with a nice caching wrapper * Remove datastore cache which is now unused * Don't need to manually wrap interface methods * Go fmt
66 lines
2.2 KiB
Bash
Executable File
66 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# Top level test script to start all other tests
|
|
|
|
set -ex
|
|
|
|
function host {
|
|
case ${DOCKER_LOCATION:-localhost} in
|
|
localhost)
|
|
echo "localhost"
|
|
;;
|
|
docker_ip)
|
|
if [[ ! -z ${DOCKER_HOST} ]]
|
|
then
|
|
DOCKER_IP=`echo ${DOCKER_HOST} | awk -F/ '{print $3}'| awk -F: '{print $1}'`
|
|
fi
|
|
|
|
echo ${DOCKER_IP}
|
|
;;
|
|
container_ip)
|
|
echo "$(docker inspect -f '{{.NetworkSettings.IPAddress}}' ${1})"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
docker rm -fv func-postgres-test || echo No prev test db container
|
|
docker run --name func-postgres-test -e "POSTGRES_DB=funcs" -e "POSTGRES_PASSWORD=root" -p 5432:5432 -d postgres
|
|
docker rm -fv func-mysql-test || echo No prev mysql test db container
|
|
docker run --name func-mysql-test -p 3306:3306 -e MYSQL_DATABASE=funcs -e MYSQL_ROOT_PASSWORD=root -d mysql
|
|
docker rm -fv func-minio-test || echo No prev minio test container
|
|
docker run -d -p 9000:9000 --name func-minio-test -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=password" minio/minio server /data
|
|
|
|
# pull all images used in tests so that tests don't time out and fail spuriously
|
|
docker pull fnproject/sleeper
|
|
docker pull fnproject/error
|
|
docker pull fnproject/hello
|
|
|
|
MYSQL_HOST=`host func-mysql-test`
|
|
MYSQL_PORT=3306
|
|
|
|
POSTGRES_HOST=`host func-postgres-test`
|
|
POSTGRES_PORT=5432
|
|
|
|
MINIO_HOST=`host func-minio-test`
|
|
MINIO_PORT=9000
|
|
|
|
export POSTGRES_URL="postgres://postgres:root@${POSTGRES_HOST}:${POSTGRES_PORT}/funcs?sslmode=disable"
|
|
export MYSQL_URL="mysql://root:root@tcp(${MYSQL_HOST}:${MYSQL_PORT})/funcs"
|
|
export MINIO_URL="s3://admin:password@${MINIO_HOST}:${MINIO_PORT}/us-east-1/fnlogs"
|
|
|
|
go test -v $(go list ./... | grep -v vendor | grep -v examples | grep -v test/fn-api-tests)
|
|
go vet $(go list ./... | grep -v vendor)
|
|
docker rm --force func-postgres-test
|
|
docker rm --force func-mysql-test
|
|
docker rm --force func-minio-test
|
|
|
|
docker run -v `pwd`:/go/src/github.com/fnproject/fn --rm quay.io/goswagger/swagger validate /go/src/github.com/fnproject/fn/docs/swagger.yml
|
|
|
|
# test middlware, extensions, examples, etc
|
|
# TODO: do more here, maybe as part of fn tests
|
|
cd examples/middleware
|
|
go build
|
|
cd ../..
|
|
cd examples/extensions
|
|
go build
|
|
cd ../..
|