authelia/scripts/integration-tests.sh
Clement Michaud 4cd78f3f83 Add SMTP notifier as an available option in configuration
One can now plug its own SMTP server to send notifications
for identity validation and password reset requests.

Filesystem has been removed from the template configuration file
since even tests now use mail catcher (the fake webmail) to
retrieve the email and the confirmation link.
2017-09-24 23:20:45 +02:00

70 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
DC_SCRIPT=./scripts/example-commit/dc-example.sh
EXPECTED_SERVICES_COUNT=6
start_services() {
$DC_SCRIPT up -d mongo redis openldap authelia nginx smtp
sleep 3
}
shut_services() {
$DC_SCRIPT down --remove-orphans
}
expect_services_count() {
EXPECTED_COUNT=$1
service_count=`docker ps -a | grep "Up " | wc -l`
if [ "${service_count}" -eq "$EXPECTED_COUNT" ]
then
echo "Services are up and running."
else
echo "Some services exited..."
docker ps -a
exit 1
fi
}
run_integration_tests() {
echo "Start services..."
start_services
expect_services_count $EXPECTED_SERVICES_COUNT
sleep 5
./node_modules/.bin/grunt run:integration-tests
shut_services
}
run_other_tests() {
echo "Test dev environment deployment (commands in README)"
npm install --only=dev
./node_modules/.bin/grunt build-dist
./scripts/example-commit/deploy-example.sh
expect_services_count $EXPECTED_SERVICES_COUNT
}
run_other_tests_docker() {
echo "Test dev docker deployment (commands in README)"
./scripts/example-dockerhub/deploy-example.sh
expect_services_count $EXPECTED_SERVICES_COUNT
}
set -e
echo "Make sure services are not already running"
shut_services
# Prepare & test example from end user perspective
run_integration_tests
# Other tests like executing the deployment script
run_other_tests
# Test example with precompiled container
run_other_tests_docker