Merge pull request #14938 from owncloud/test-oracle-in-docker

Oracle 11 XE is now fired up in a docker image - looks like we get back ...
This commit is contained in:
Morris Jobke 2015-03-20 13:02:33 +01:00
commit b0cd1b0975
1 changed files with 14 additions and 23 deletions

View File

@ -17,6 +17,7 @@ set -e
#$EXECUTOR_NUMBER is set by Jenkins and allows us to run autotest in parallel
DATABASENAME=oc_autotest$EXECUTOR_NUMBER
DATABASEUSER=oc_autotest$EXECUTOR_NUMBER
DATABASEHOST=localhost
ADMINLOGIN=admin$EXECUTOR_NUMBER
BASEDIR=$PWD
@ -72,6 +73,11 @@ if [ -f config/config.php ] && [ ! -f config/config-autotest-backup.php ]; then
fi
function cleanup_config {
if [ ! -z "$DOCKER_CONTAINER_ID" ]; then
echo "Kill the docker $DOCKER_CONTAINER_ID"
docker rm -f $DOCKER_CONTAINER_ID
fi
cd "$BASEDIR"
# Restore existing config
if [ -f config/config-autotest-backup.php ]; then
@ -117,35 +123,20 @@ function execute_tests {
dropdb -U $DATABASEUSER $DATABASENAME || true
fi
if [ "$1" == "oci" ] ; then
echo "drop the database"
sqlplus -s -l / as sysdba <<EOF
drop user $DATABASENAME cascade;
EOF
echo "Fire up the oracle docker"
DOCKER_CONTAINER_ID=`docker run -d deepdiver/docker-oracle-xe-11g`
DATABASEHOST=`docker inspect $DOCKER_CONTAINER_ID | grep IPAddress | cut -d '"' -f 4`
echo "create the database"
sqlplus -s -l / as sysdba <<EOF
create user $DATABASENAME identified by owncloud;
alter user $DATABASENAME default tablespace users
temporary tablespace temp
quota unlimited on users;
grant create session
, create table
, create procedure
, create sequence
, create trigger
, create view
, create synonym
, alter session
to $DATABASENAME;
exit;
EOF
DATABASEUSER=$DATABASENAME
echo "Waiting 60 seconds for Oracle initialization ... "
sleep 60
DATABASEUSER=autotest
DATABASENAME='XE'
fi
# trigger installation
echo "Installing ...."
./occ maintenance:install --database=$1 --database-name=$DATABASENAME --database-host=localhost --database-user=$DATABASEUSER --database-pass=owncloud --database-table-prefix=oc_ --admin-user=$ADMINLOGIN --admin-pass=admin --data-dir=$DATADIR
./occ maintenance:install --database=$1 --database-name=$DATABASENAME --database-host=$DATABASEHOST --database-user=$DATABASEUSER --database-pass=owncloud --database-table-prefix=oc_ --admin-user=$ADMINLOGIN --admin-pass=admin --data-dir=$DATADIR
#test execution
echo "Testing with $1 ..."