From 951f7f5eaf41f72d3e0bee01cd1f48b79ef964f3 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 21 Nov 2016 14:00:54 +0100 Subject: Add integration test for web based installer Signed-off-by: Morris Jobke --- build/integration/run.sh | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) (limited to 'build/integration/run.sh') diff --git a/build/integration/run.sh b/build/integration/run.sh index cf42ed75e4c..145415fd079 100755 --- a/build/integration/run.sh +++ b/build/integration/run.sh @@ -2,6 +2,9 @@ COMPOSER=$(which composer) +SCENARIO_TO_RUN=$1 +HIDE_OC_LOGS=$2 + if [ -x "$COMPOSER" ]; then echo "Using composer executable $COMPOSER" else @@ -9,13 +12,19 @@ else exit 1 fi -# Disable bruteforce protection because the integration tests do trigger them -../../occ config:system:set auth.bruteforce.protection.enabled --value false --type bool +INSTALLED=$(../../occ status | grep installed: | cut -d " " -f 5) -composer install +if [ "$INSTALLED" == "true" ]; then + # Disable bruteforce protection because the integration tests do trigger them + ../../occ config:system:set auth.bruteforce.protection.enabled --value false --type bool +else + if [ "$SCENARIO_TO_RUN" != "setup_features/setup.feature" ]; then + echo "Nextcloud instance needs to be installed" >&2 + exit 1 + fi +fi -SCENARIO_TO_RUN=$1 -HIDE_OC_LOGS=$2 +composer install # avoid port collision on jenkins - use $EXECUTOR_NUMBER if [ -z "$EXECUTOR_NUMBER" ]; then @@ -36,15 +45,17 @@ echo $PHPPID_FED export TEST_SERVER_URL="http://localhost:$PORT/ocs/" export TEST_SERVER_FED_URL="http://localhost:$PORT_FED/ocs/" -#Enable external storage app -../../occ app:enable files_external +if [ "$INSTALLED" == "true" ]; then + #Enable external storage app + ../../occ app:enable files_external -mkdir -p work/local_storage -OUTPUT_CREATE_STORAGE=`../../occ files_external:create local_storage local null::null -c datadir=./build/integration/work/local_storage` + mkdir -p work/local_storage + OUTPUT_CREATE_STORAGE=`../../occ files_external:create local_storage local null::null -c datadir=./build/integration/work/local_storage` -ID_STORAGE=`echo $OUTPUT_CREATE_STORAGE | awk {'print $5'}` + ID_STORAGE=`echo $OUTPUT_CREATE_STORAGE | awk {'print $5'}` -../../occ files_external:option $ID_STORAGE enable_sharing true + ../../occ files_external:option $ID_STORAGE enable_sharing true +fi vendor/bin/behat -f junit -f pretty $SCENARIO_TO_RUN RESULT=$? @@ -52,10 +63,12 @@ RESULT=$? kill $PHPPID kill $PHPPID_FED -../../occ files_external:delete -y $ID_STORAGE +if [ "$INSTALLED" -eq "true" ]; then + ../../occ files_external:delete -y $ID_STORAGE -#Disable external storage app -../../occ app:disable files_external + #Disable external storage app + ../../occ app:disable files_external +fi if [ -z $HIDE_OC_LOGS ]; then tail "../../data/nextcloud.log" -- cgit v1.2.3