diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-02-10 22:34:58 +0100 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-02-10 22:34:58 +0100 |
commit | 60cadf5647f44437cb5faa76a2888a70f00dbeb4 (patch) | |
tree | ba3d1be24fde67648e393ec2a0b93024c8f70fb7 /apps/files_external/tests/env | |
parent | 11283c57d9bba055e881293d6958ac9d6033f928 (diff) | |
download | nextcloud-server-60cadf5647f44437cb5faa76a2888a70f00dbeb4.tar.gz nextcloud-server-60cadf5647f44437cb5faa76a2888a70f00dbeb4.zip |
[files_external] ftp tests
Diffstat (limited to 'apps/files_external/tests/env')
-rwxr-xr-x | apps/files_external/tests/env/start-ftp-morrisjobke.sh | 65 | ||||
-rwxr-xr-x | apps/files_external/tests/env/stop-ftp-morrisjobke.sh | 36 |
2 files changed, 101 insertions, 0 deletions
diff --git a/apps/files_external/tests/env/start-ftp-morrisjobke.sh b/apps/files_external/tests/env/start-ftp-morrisjobke.sh new file mode 100755 index 00000000000..3831e788e5e --- /dev/null +++ b/apps/files_external/tests/env/start-ftp-morrisjobke.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# +# ownCloud +# +# This script start a docker container to test the files_external tests +# against. It will also change the files_external config to use the docker +# container as testing environment. This is reverted in the stop step.W +# +# Set environment variable DEBUG to print config file +# +# @author Morris Jobke +# @copyright 2015 Morris Jobke <hey@morrisjobke.de> +# + +if ! command -v docker >/dev/null 2>&1; then + echo "No docker executable found - skipped docker setup" + exit 0; +fi + +echo "Docker executable found - setup docker" + +echo "Fetch recent morrisjobke/docker-proftpd docker image" +docker pull morrisjobke/docker-proftpd + +# retrieve current folder to place the config in the parent folder +thisFolder=`echo $0 | replace "env/start-ftp-morrisjobke.sh" ""` + +if [ -z "$thisFolder" ]; then + thisFolder="." +fi; + +user=test +password=12345 + +container=`docker run -d -e USERNAME=$user -e PASSWORD=$password morrisjobke/docker-proftpd` + +host=`docker inspect $container | grep IPAddress | cut -d '"' -f 4` + +cat > $thisFolder/config.ftp.php <<DELIM +<?php + +return array( + 'run'=>true, + 'host'=>'$host', + 'user'=>'$user', + 'password'=>'$password', + 'root'=>'', +); + +DELIM + +echo "ftp container: $container" + +# put container IDs into a file to drop them after the test run (keep in mind that multiple tests run in parallel on the same host) +echo $container >> $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp + +if [ -n "$DEBUG" ]; then + cat $thisFolder/config.ftp.php + cat $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp +fi + +# TODO find a way to determine the successful initialization inside the docker container +echo "Waiting 5 seconds for ftp initialization ... " +sleep 5 + diff --git a/apps/files_external/tests/env/stop-ftp-morrisjobke.sh b/apps/files_external/tests/env/stop-ftp-morrisjobke.sh new file mode 100755 index 00000000000..d8c6cc4f307 --- /dev/null +++ b/apps/files_external/tests/env/stop-ftp-morrisjobke.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# ownCloud +# +# This script stops the docker container the files_external tests were run +# against. It will also revert the config changes done in start step. +# +# @author Morris Jobke +# @copyright 2015 Morris Jobke <hey@morrisjobke.de> +# + +if ! command -v docker >/dev/null 2>&1; then + echo "No docker executable found - skipped docker stop" + exit 0; +fi + +echo "Docker executable found - stop and remove docker containers" + +# retrieve current folder to remove the config from the parent folder +thisFolder=`echo $0 | replace "env/stop-ftp-morrisjobke.sh" ""` + +if [ -z "$thisFolder" ]; then + thisFolder="." +fi; + +# stopping and removing docker containers +for container in `cat $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp`; do + echo "Stopping and removing docker container $container" + # kills running container and removes it + docker rm -f $container +done; + +# cleanup +rm $thisFolder/config.ftp.php +rm $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp + |