Enable all tests and remove unmaintained istanbul code coverage tool

This commit is contained in:
Johannes Zellner
2019-04-18 16:41:10 +02:00
parent aee20c0423
commit 71a5555816
3 changed files with 82 additions and 309 deletions

View File

@@ -1,54 +0,0 @@
#!/bin/bash
set -eu
readonly SOURCE_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. && pwd)"
readonly DATA_DIR="${HOME}/.cloudron_test"
! "${SOURCE_dir}/src/test/checkInstall" && exit 1
# cleanup old data dirs some of those docker container data requires sudo to be removed
echo "=> Provide root password to purge any leftover data dirs (${DATA_DIR}):"
sudo rm -rf ${DATA_DIR}
# create dir structure
mkdir -p ${DATA_DIR}
cd ${DATA_DIR}
mkdir -p appsdata
mkdir -p boxdata/appicons boxdata/mail boxdata/certs boxdata/mail/dkim/localhost boxdata/mail/dkim/foobar.com
mkdir -p platformdata/addons/mail platformdata/nginx/cert platformdata/nginx/applications platformdata/collectd/collectd.conf.d platformdata/addons platformdata/logrotate.d platformdata/backup platformdata/logs/tasks
# put cert
openssl req -x509 -newkey rsa:2048 -keyout platformdata/nginx/cert/host.key -out platformdata/nginx/cert/host.cert -days 3650 -subj '/CN=localhost' -nodes -config <(cat /etc/ssl/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:*.localhost"))
# clear out any containers
docker ps -qa | xargs --no-run-if-empty docker rm -f
# create docker network (while the infra code does this, most tests skip infra setup)
docker network create --subnet=172.18.0.0/16 cloudron || true
# create the same mysql server version to test with
OUT=`docker inspect mysql-server` || true
if [[ "${OUT}" = "[]" ]]; then
echo "Starting mysql-server..."
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7
else
echo "mysql-server already running. If you want to start fresh, run 'docker rm --force mysql-server'"
fi
export MYSQL_IP=`docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-server`
echo "Waiting for mysql server to be ready..."
while ! mysqladmin ping -h"${MYSQL_IP}" --silent; do
sleep 1
done
echo "Starting cloudron-syslog"
cloudron-syslog --logdir "${DATA_DIR}/platformdata/logs/" &
echo "Ensure database"
mysql -h"${MYSQL_IP}" -uroot -ppassword -e 'CREATE DATABASE IF NOT EXISTS box'
echo "Run database migrations"
cd "${SOURCE_dir}"
BOX_ENV=test DATABASE_URL=mysql://root:password@${MYSQL_IP}/box node_modules/.bin/db-migrate up