authelia/scripts/integration-tests.sh

55 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
DC_SCRIPT=./scripts/example/dc-example.sh
run_services() {
$DC_SCRIPT up -d redis openldap
sleep 2
$DC_SCRIPT up -d authelia nginx nginx-tests
sleep 3
}
set -e
echo "Make sure services are not already running"
$DC_SCRIPT down
# Prepare & run integration tests
echo "Prepare nginx-test configuration"
cat example/nginx/nginx.conf | sed 's/listen 443 ssl/listen 8080 ssl/g' | dd of="test/integration/nginx.conf"
echo "Build services images..."
$DC_SCRIPT build
echo "Start services..."
run_services
docker ps -a
echo "Display services logs..."
$DC_SCRIPT logs redis
$DC_SCRIPT logs openldap
$DC_SCRIPT logs nginx
$DC_SCRIPT logs nginx-tests
$DC_SCRIPT logs authelia
echo "Check number of services"
./scripts/example/check-services.sh
echo "Run integration tests..."
$DC_SCRIPT run --rm integration-tests
echo "Shutdown services..."
$DC_SCRIPT down
# Prepare & test example from end user perspective
echo "Start services..."
run_services
./node_modules/.bin/mocha --compilers ts:ts-node/register --recursive test/system
$DC_SCRIPT down