run.sh 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. set -eo pipefail
  3. dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
  4. mysqlImage='mariadb:10'
  5. serverImage="$1"
  6. dbPass="test-$RANDOM-password-$RANDOM-$$"
  7. dbName="test-$RANDOM-db"
  8. dbUsr="test-$RANDOM-db"
  9. # Create an instance of the container-under-test
  10. mysqlCid="$(docker run -d \
  11. -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
  12. -e MYSQL_USER="$dbUsr" \
  13. -e MYSQL_PASSWORD="$dbPass" \
  14. -e MYSQL_DATABASE="$dbName" \
  15. "$mysqlImage")"
  16. trap "docker rm -vf $mysqlCid > /dev/null" EXIT
  17. cid="$(docker run -d --link "$mysqlCid":mysql \
  18. -e MYSQL_HOST="mysql" \
  19. -e MYSQL_USER="$dbUsr" \
  20. -e MYSQL_PASSWORD="$dbPass" \
  21. -e MYSQL_DATABASE="$dbName" \
  22. -e NEXTCLOUD_ADMIN_USER="test-$RANDOM-user" \
  23. -e NEXTCLOUD_ADMIN_PASSWORD="test-$RANDOM-password" \
  24. "$serverImage")"
  25. trap "docker rm -vf $cid $mysqlCid > /dev/null" EXIT
  26. _occ() {
  27. docker exec -u www-data $cid php occ $1
  28. }
  29. # Give some time to install
  30. . "$dir/../../retry.sh" --tries 30 '_occ app:list' > /dev/null
  31. # Check if NextCloud is installed
  32. _occ status | grep -iq "installed: true"
  33. _occ check