зеркало из https://github.com/nextcloud/ios.git
50 строки
1.1 KiB
Bash
Executable File
50 строки
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#This script creates a testable Docker enviroment of the Nextcloud server, and is used by the CI for tests.
|
|
|
|
container_name="nextcloud_test"
|
|
port=8080
|
|
server_url="http://localhost:${port}"
|
|
user="admin"
|
|
|
|
docker run --rm -d --name $container_name -p $port:80 ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
|
|
|
timeout=300
|
|
elapsed=0
|
|
|
|
echo "Waiting for server..."
|
|
|
|
sleep 2
|
|
|
|
while true; do
|
|
content=$(curl -s $server_url/status.php)
|
|
|
|
if [[ $content == *"installed\":true"* ]]; then
|
|
break
|
|
fi
|
|
|
|
elapsed=$((elapsed + 1))
|
|
|
|
if [ $elapsed -ge $timeout ]; then
|
|
echo "No success after $timeout seconds."
|
|
exit 1
|
|
fi
|
|
|
|
sleep 1
|
|
done
|
|
|
|
echo "Server is installed."
|
|
echo "Exporting env vars..."
|
|
|
|
sleep 2
|
|
|
|
password=$(docker exec -e NC_PASS=$user $container_name sudo -E -u www-data php /var/www/html/occ user:add-app-password $user --password-from-env | tail -1)
|
|
|
|
export TEST_APP_PASSWORD=$password
|
|
export TEST_SERVER_URL=$server_url
|
|
export TEST_USER=$user
|
|
|
|
echo "TEST_SERVER_URL: ${TEST_SERVER_URL}"
|
|
echo "TEST_USER: ${TEST_USER}"
|
|
echo "TEST_APP_PASSWORD: ${TEST_APP_PASSWORD}"
|
|
echo "Env vars exported."
|