2017-07-14 17:05:42 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2017-08-08 14:03:12 +00:00
|
|
|
DC_SCRIPT=./scripts/example-commit/dc-example.sh
|
2017-11-01 23:37:10 +00:00
|
|
|
EXPECTED_SERVICES_COUNT=9
|
2017-07-16 12:55:01 +00:00
|
|
|
|
2017-10-06 22:09:42 +00:00
|
|
|
build_services() {
|
|
|
|
$DC_SCRIPT build authelia
|
|
|
|
}
|
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
start_services() {
|
2017-11-01 23:37:10 +00:00
|
|
|
$DC_SCRIPT up -d httpbin mongo redis openldap authelia smtp nginx-authelia nginx-portal nginx-backend
|
2017-07-16 12:55:01 +00:00
|
|
|
sleep 3
|
|
|
|
}
|
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
shut_services() {
|
2017-11-02 20:34:07 +00:00
|
|
|
containers_exist=`docker ps -aq | wc -l`
|
|
|
|
if [ "$containers_exist" -ne "0" ]
|
|
|
|
then
|
|
|
|
docker rm -f $(docker ps -aq)
|
|
|
|
fi
|
2017-07-16 14:20:59 +00:00
|
|
|
}
|
2017-07-16 12:55:01 +00:00
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
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
|
|
|
|
}
|
2017-07-14 17:05:42 +00:00
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
run_integration_tests() {
|
|
|
|
echo "Start services..."
|
|
|
|
start_services
|
2017-09-24 12:49:03 +00:00
|
|
|
expect_services_count $EXPECTED_SERVICES_COUNT
|
2017-07-16 14:20:59 +00:00
|
|
|
|
2017-07-26 21:45:26 +00:00
|
|
|
sleep 5
|
2017-10-06 22:09:42 +00:00
|
|
|
./node_modules/.bin/grunt run:test-int
|
2017-07-16 14:20:59 +00:00
|
|
|
shut_services
|
|
|
|
}
|
2017-07-14 17:05:42 +00:00
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
run_other_tests() {
|
|
|
|
echo "Test dev environment deployment (commands in README)"
|
2017-11-02 20:34:07 +00:00
|
|
|
# rm -rf node_modules
|
|
|
|
# ./scripts/build-dev.sh
|
2017-08-08 14:03:12 +00:00
|
|
|
./scripts/example-commit/deploy-example.sh
|
2017-09-24 12:49:03 +00:00
|
|
|
expect_services_count $EXPECTED_SERVICES_COUNT
|
2017-11-02 20:34:07 +00:00
|
|
|
./scripts/example-commit/undeploy-example.sh
|
2017-08-08 14:03:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
run_other_tests_docker() {
|
|
|
|
echo "Test dev docker deployment (commands in README)"
|
|
|
|
./scripts/example-dockerhub/deploy-example.sh
|
2017-09-24 12:49:03 +00:00
|
|
|
expect_services_count $EXPECTED_SERVICES_COUNT
|
2017-11-02 20:34:07 +00:00
|
|
|
./scripts/example-dockerhub/undeploy-example.sh
|
2017-07-16 14:20:59 +00:00
|
|
|
}
|
2017-07-14 17:05:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-16 12:55:01 +00:00
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
set -e
|
2017-07-16 12:55:01 +00:00
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
echo "Make sure services are not already running"
|
|
|
|
shut_services
|
2017-07-16 12:55:01 +00:00
|
|
|
|
2017-10-06 22:09:42 +00:00
|
|
|
# Build the container
|
|
|
|
build_services
|
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
# Prepare & test example from end user perspective
|
2017-07-26 21:45:26 +00:00
|
|
|
run_integration_tests
|
2017-07-16 12:55:01 +00:00
|
|
|
|
2017-07-16 14:20:59 +00:00
|
|
|
# Other tests like executing the deployment script
|
|
|
|
run_other_tests
|
2017-08-08 14:03:12 +00:00
|
|
|
|
|
|
|
# Test example with precompiled container
|
2017-09-22 15:53:18 +00:00
|
|
|
run_other_tests_docker
|