diff --git a/example/nginx/docker-compose.yml b/example/nginx/docker-compose.yml index 8857ee3bd..532c3a89a 100644 --- a/example/nginx/docker-compose.yml +++ b/example/nginx/docker-compose.yml @@ -3,8 +3,7 @@ services: nginx: image: nginx:alpine volumes: - - ./example/nginx/index.html:/usr/share/nginx/html/index.html - - ./example/nginx/secret.html:/usr/share/nginx/html/secret.html + - ./example/nginx/html:/usr/share/nginx/html - ./example/nginx/ssl:/etc/ssl - ./example/nginx/nginx.conf:/etc/nginx/nginx.conf ports: diff --git a/example/nginx/html/icon.png b/example/nginx/html/icon.png new file mode 100644 index 000000000..1b341ee42 Binary files /dev/null and b/example/nginx/html/icon.png differ diff --git a/example/nginx/index.html b/example/nginx/html/index.html similarity index 96% rename from example/nginx/index.html rename to example/nginx/html/index.html index c4e32c659..8f76ab5b3 100644 --- a/example/nginx/index.html +++ b/example/nginx/html/index.html @@ -1,6 +1,8 @@ + Home page +

Access the secret

diff --git a/example/nginx/secret.html b/example/nginx/html/secret.html similarity index 75% rename from example/nginx/secret.html rename to example/nginx/html/secret.html index d16936783..e40f3bd90 100644 --- a/example/nginx/secret.html +++ b/example/nginx/html/secret.html @@ -1,6 +1,7 @@ Secret + This is a very important secret!
diff --git a/scripts/example/check-services.sh b/scripts/example/check-services.sh deleted file mode 100755 index 49a760698..000000000 --- a/scripts/example/check-services.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -service_count=`docker ps -a | grep "Up " | wc -l` - -if [ "${service_count}" -eq "5" ] -then - echo "Service are up and running." - exit 0 -else - echo "Some services exited..." - docker ps -a - exit 1 -fi - diff --git a/scripts/example/deploy-example.sh b/scripts/example/deploy-example.sh index e804face0..4c50d935b 100755 --- a/scripts/example/deploy-example.sh +++ b/scripts/example/deploy-example.sh @@ -3,4 +3,4 @@ DC_SCRIPT=./scripts/example/dc-example.sh $DC_SCRIPT build -$DC_SCRIPT up -d +$DC_SCRIPT up -d redis openldap authelia nginx diff --git a/scripts/integration-tests.sh b/scripts/integration-tests.sh index 681f58580..4b33a6361 100755 --- a/scripts/integration-tests.sh +++ b/scripts/integration-tests.sh @@ -2,53 +2,88 @@ 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 +start_services() { + $DC_SCRIPT up -d redis openldap authelia nginx nginx-tests sleep 3 } +shut_services() { + $DC_SCRIPT down +} + +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 "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..." + start_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" + expect_services_count 5 + + echo "Run integration tests..." + $DC_SCRIPT run --rm integration-tests + + echo "Shutdown services..." + shut_services +} + +run_system_tests() { + echo "Start services..." + start_services + expect_services_count 5 + + ./node_modules/.bin/mocha --compilers ts:ts-node/register --recursive test/system + 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/deploy-example.sh + expect_services_count 4 +} + + + + + set -e echo "Make sure services are not already running" -$DC_SCRIPT down - +shut_services # 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 +run_integration_tests # Prepare & test example from end user perspective +run_system_tests -echo "Start services..." -run_services - -./node_modules/.bin/mocha --compilers ts:ts-node/register --recursive test/system - -$DC_SCRIPT down - +# Other tests like executing the deployment script +run_other_tests diff --git a/src/server/views/layout/layout.pug b/src/server/views/layout/layout.pug index a085cb227..6c017100e 100644 --- a/src/server/views/layout/layout.pug +++ b/src/server/views/layout/layout.pug @@ -4,7 +4,7 @@ html head title Authelia - 2FA meta(name="viewport", content="width=device-width, initial-scale=1.0")/ - link(rel="icon", href="/img/icon.png" type="image/gif" sizes="32x32")/ + link(rel="icon", href="/img/icon.png" type="image/png" sizes="32x32")/ link(rel="stylesheet", type="text/css", href="/css/authelia.min.css")/ if redirection_url diff --git a/test/integration/docker-compose.yml b/test/integration/docker-compose.yml index 9303e2e9d..090a132bc 100644 --- a/test/integration/docker-compose.yml +++ b/test/integration/docker-compose.yml @@ -11,8 +11,7 @@ services: nginx-tests: image: nginx:alpine volumes: - - ./example/nginx/index.html:/usr/share/nginx/html/index.html - - ./example/nginx/secret.html:/usr/share/nginx/html/secret.html + - ./example/nginx/html:/usr/share/nginx/html - ./example/nginx/ssl:/etc/ssl - ./test/integration/nginx.conf:/etc/nginx/nginx.conf expose: