#!/bin/bash
set -e

server() {
  exec /usr/local/bin/gunicorn -b 0.0.0.0:5000 --name redash -w${REDASH_WEB_WORKERS:-4} redash.wsgi:app
}

create_db() {
  exec /app/manage.py database create_tables
}

tests() {
  export REDASH_DATABASE_URL="postgresql://postgres@postgres/tests"

  if [ $# -eq 0 ]; then
    TEST_ARGS=/redash-stmo
  else
    TEST_ARGS=$@
  fi
  pytest $TEST_ARGS
  # only run this if the CI env var is set:
  if [[ ! -z ${CI+check} ]]; then
    bash <(curl -s https://codecov.io/bash) -s /tmp
  fi
}

case "$1" in
  tests)
	shift
	tests $@
;;
  create_db)
	shift
	create_db
;;
  manage)
	shift
	exec /app/manage.py $*
;;
  server)
	shift
	server $@
;;
  *)
	exec "$@"
;;
esac
