Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDaniel Calviño Sánchez <danxuliu@gmail.com>2017-07-20 08:54:39 +0300
committerMorris Jobke <hey@morrisjobke.de>2017-07-20 12:32:54 +0300
commit140b23f85f1b571c3ad6edf9dd511915818559d7 (patch)
tree0634f6e57be5ccdfb0ffefe5040d37d1b54343b8 /tests
parent97222914549905ae3edeb8f7a946155456159a11 (diff)
Add option to acceptance test runner to set the Nextcloud server domain
By default "127.0.0.1" is used, so nothing needs to be set when the Selenium server and the Nextcloud test server share the same network (like when called by "run.sh"). Besides passing the domain to the acceptance tests the Nextcloud test server configuration must be modified to see the given domain as a trusted domain; otherwise the access would be forbidden. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/acceptance/installAndConfigureServer.sh12
-rwxr-xr-xtests/acceptance/run-local.sh34
2 files changed, 45 insertions, 1 deletions
diff --git a/tests/acceptance/installAndConfigureServer.sh b/tests/acceptance/installAndConfigureServer.sh
index 2fbdf821f77..c61faeda238 100755
--- a/tests/acceptance/installAndConfigureServer.sh
+++ b/tests/acceptance/installAndConfigureServer.sh
@@ -25,6 +25,18 @@
set -o errexit
+NEXTCLOUD_SERVER_DOMAIN=""
+if [ "$1" = "--nextcloud-server-domain" ]; then
+ NEXTCLOUD_SERVER_DOMAIN=$2
+
+ shift 2
+fi
+
php occ maintenance:install --admin-pass=admin
OC_PASS=123456acb php occ user:add --password-from-env user0
+
+if [ "$NEXTCLOUD_SERVER_DOMAIN" != "" ]; then
+ # Default first trusted domain is "localhost"; replace it with given domain.
+ php occ config:system:set trusted_domains 0 --value="$NEXTCLOUD_SERVER_DOMAIN"
+fi
diff --git a/tests/acceptance/run-local.sh b/tests/acceptance/run-local.sh
index 93c11e810f8..1e4c3224287 100755
--- a/tests/acceptance/run-local.sh
+++ b/tests/acceptance/run-local.sh
@@ -54,6 +54,16 @@ if [ "$1" = "--timeout-multiplier" ]; then
shift 2
fi
+# "--nextcloud-server-domain XXX" option can be provided to set the domain used
+# by the Selenium server to access the Nextcloud server.
+DEFAULT_NEXTCLOUD_SERVER_DOMAIN="127.0.0.1"
+NEXTCLOUD_SERVER_DOMAIN="$DEFAULT_NEXTCLOUD_SERVER_DOMAIN"
+if [ "$1" = "--nextcloud-server-domain" ]; then
+ NEXTCLOUD_SERVER_DOMAIN=$2
+
+ shift 2
+fi
+
# Safety parameter to prevent executing this script by mistake and messing with
# the Git repository.
if [ "$1" != "allow-git-repository-modifications" ]; then
@@ -80,12 +90,34 @@ if [ "$TIMEOUT_MULTIPLIER" != "" ]; then
sed --in-place "s/$ORIGINAL/$REPLACEMENT/" config/behat.yml
fi
+if [ "$NEXTCLOUD_SERVER_DOMAIN" != "$DEFAULT_NEXTCLOUD_SERVER_DOMAIN" ]; then
+ # Although Behat documentation states that using the BEHAT_PARAMS
+ # environment variable "You can set any value for any option that is
+ # available in a behat.yml file" this is currently not true for the
+ # constructor parameters of contexts (see
+ # https://github.com/Behat/Behat/issues/983). Thus, the default "behat.yml"
+ # configuration file has to be adjusted to provide the appropriate
+ # parameters for NextcloudTestServerContext.
+ ORIGINAL="\
+ - NextcloudTestServerContext"
+ REPLACEMENT="\
+ - NextcloudTestServerContext:\n\
+ nextcloudTestServerHelperParameters:\n\
+ - $NEXTCLOUD_SERVER_DOMAIN"
+ sed --in-place "s/$ORIGINAL/$REPLACEMENT/" config/behat.yml
+fi
+
composer install
cd ../../
+INSTALL_AND_CONFIGURE_SERVER_PARAMETERS=""
+if [ "$NEXTCLOUD_SERVER_domain" != "$DEFAULT_NEXTCLOUD_SERVER_DOMAIN" ]; then
+ INSTALL_AND_CONFIGURE_SERVER_PARAMETERS+="--nextcloud-server-domain $NEXTCLOUD_SERVER_DOMAIN"
+fi
+
echo "Installing and configuring Nextcloud server"
-tests/acceptance/installAndConfigureServer.sh
+tests/acceptance/installAndConfigureServer.sh $INSTALL_AND_CONFIGURE_SERVER_PARAMETERS
echo "Saving the default state so acceptance tests can reset to it"
find . -name ".gitignore" -exec rm --force {} \;