forked from TrueCloudLab/rclone
testserver: speed up seafile integration test
Before every seafile integration test we run Seafile server in docker environment. We don't have to sleep for 60 seconds to have everything ready before running integration test. We can assume everything is ready when Seafile webserver returns status code 200. Seafile Dockerfile (https://github.com/haiwen/seafile-docker/blob/master/image/seafile/Dockerfile) runs scripts/start.py where is defined that before init_seafile_server() we always wait for mysql wait_for_mysql() (https://github.com/haiwen/seafile-docker/blob/master/scripts/start.py)
This commit is contained in:
parent
af55a74bd2
commit
cd2c06f2a7
1 changed files with 14 additions and 2 deletions
|
@ -21,8 +21,20 @@ COMPOSE_DIR=$(dirname "$0")/seafile
|
|||
start() {
|
||||
docker-compose --project-directory ${COMPOSE_DIR} --project-name ${NAME} --file ${COMPOSE_DIR}/docker-compose.yml up -d
|
||||
|
||||
# it takes some time for the database to be created
|
||||
sleep 60
|
||||
# wait for Seafile server to start
|
||||
seafile_endpoint="http://${SEAFILE_IP}:${SEAFILE_PORT}/"
|
||||
wait_seconds=1
|
||||
echo -n "Waiting for Seafile server to start"
|
||||
for iterations in `seq 1 60`;
|
||||
do
|
||||
http_code=$(curl -s -o /dev/null -L -w '%{http_code}' "$seafile_endpoint" || true;)
|
||||
if [ "$http_code" -eq 200 ]; then
|
||||
echo
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
sleep $wait_seconds
|
||||
done
|
||||
|
||||
# authentication token answer should be like: {"token":"dbf58423f1632b5b679a13b0929f1d0751d9250c"}
|
||||
TOKEN=`curl --silent \
|
||||
|
|
Loading…
Add table
Reference in a new issue