46 lines
1.5 KiB
Bash
Executable File
46 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -eo pipefail
|
|
|
|
dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
|
|
dbImage='postgres:13-alpine'
|
|
# ensure the dbImage is ready and available
|
|
if ! docker image inspect "$dbImage" &> /dev/null; then
|
|
docker pull "$dbImage" > /dev/null
|
|
fi
|
|
serverImage="$1"
|
|
dbPass="test-$RANDOM-password-$RANDOM-$$"
|
|
dbName="test_${RANDOM}_db" # dbName has to be set to something that does not require escaping: https://github.com/docker-library/official-images/pull/6252#issuecomment-520095703
|
|
dbUsr="test-$RANDOM-db"
|
|
|
|
# Create an instance of the container-under-test
|
|
# not setting POSTGRES_DB due to https://github.com/nextcloud/docker/issues/345
|
|
dbCid="$(docker run -d \
|
|
-e POSTGRES_USER="$dbUsr" \
|
|
-e POSTGRES_PASSWORD="$dbPass" \
|
|
-e POSTGRES_DB="$dbName" \
|
|
"$dbImage")"
|
|
trap "docker rm -vf $dbCid > /dev/null" EXIT
|
|
# NEXTCLOUD_ADMIN_USER has to be set to something that does not require escaping: https://github.com/docker-library/official-images/pull/6252#issuecomment-520095703
|
|
cid="$(docker run -d \
|
|
--link "$dbCid":db \
|
|
-e POSTGRES_HOST='db' \
|
|
-e POSTGRES_USER="$dbUsr" \
|
|
-e POSTGRES_PASSWORD="$dbPass" \
|
|
-e POSTGRES_DB="$dbName" \
|
|
-e NEXTCLOUD_ADMIN_USER="test_$RANDOM" \
|
|
-e NEXTCLOUD_ADMIN_PASSWORD="test-$RANDOM-password" \
|
|
"$serverImage")"
|
|
trap "docker rm -vf $cid $dbCid > /dev/null" EXIT
|
|
|
|
_occ() {
|
|
docker exec -u www-data "$cid" php occ "$@"
|
|
}
|
|
|
|
# Give some time to install
|
|
. "$dir/../../retry.sh" --tries 10 --sleep 5 '_occ app:list' > /dev/null
|
|
|
|
# Check if NextCloud is installed
|
|
_occ status | grep -iq 'installed: true'
|
|
_occ check
|