setup.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. ENV_FILE="test.env"
  3. SCRIPT_DIR=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
  4. # Setting env variables
  5. printf "\nSetting env variables..."
  6. if [ ! -f .env ]
  7. then
  8. # shellcheck disable=SC2046
  9. export $(xargs -a "$SCRIPT_DIR/$ENV_FILE")
  10. fi
  11. # Checking for docker
  12. printf "\nChecking for docker...";
  13. docker -v > /dev/null 2>&1
  14. DOCKER_EXISTS=$?
  15. if [ "$DOCKER_EXISTS" -ne 0 ]; then
  16. printf "\nDocker not found. Terminating setup."
  17. exit 1
  18. fi
  19. # Pulling latest mongodb image
  20. printf "\nPulling latest mongodb image..."
  21. docker pull mongo:latest > /dev/null 2>&1
  22. # Starting the mongodb container
  23. printf "\nStarting the mongodb container..."
  24. CONTAINER_EXISTS=$(docker ps -a -q -f name="$MONGODB_CONTAINER")
  25. if [ "$CONTAINER_EXISTS" ]; then
  26. docker rm -f "$MONGODB_CONTAINER" > /dev/null
  27. fi
  28. docker run --name "$MONGODB_CONTAINER" -p "$MONGODB_PORT":27017 -d mongo:latest > /dev/null
  29. # Mongodb container has started
  30. printf "\n\nStatus: Mongodb container has started."
  31. # shellcheck disable=SC2059
  32. printf "\nInstance url: mongodb://$MONGODB_HOST:$MONGODB_PORT/$MONGODB_DATABASE"
  33. printf "\nTo run the test suite: npm test\n\n"