Merge pull request #900 from progrium/mh-nginx-ssl-san-hostname

support extracting SANs from SSL certificates and adding them to nginx config
This commit is contained in:
Jose Diaz-Gonzalez
2015-01-16 15:22:15 -05:00
4 changed files with 44 additions and 4 deletions

View File

@@ -25,10 +25,39 @@ teardown() {
@test "nginx:build-config (with SSL CN mismatch)" {
setup_test_tls
deploy_app
run /bin/bash -c "dokku domains $TEST_APP | grep node-js-app.dokku.me"
run /bin/bash -c "dokku domains $TEST_APP | egrep ^node-js-app\.dokku\.me$"
echo "output: "$output
echo "status: "$status
assert_output "node-js-app.dokku.me"
run bash -c "response=\"$(curl -LkSs node-js-app.dokku.me)\"; echo \$response; test \"\$response\" == \"nodejs/express\""
echo "output: "$output
echo "status: "$status
assert_success
}
@test "nginx:build-config (with SSL and Multiple SANs)" {
setup_test_tls_with_sans
deploy_app
run /bin/bash -c "dokku domains $TEST_APP | egrep ^test\.dokku\.me$"
echo "output: "$output
echo "status: "$status
assert_output "test.dokku.me"
run /bin/bash -c "dokku domains $TEST_APP | grep ^www\.test\.dokku\.me$"
echo "output: "$output
echo "status: "$status
assert_output "www.test.dokku.me"
run bash -c "response=\"$(curl -LkSs test.dokku.me)\"; echo \$response; test \"\$response\" == \"nodejs/express\""
echo "output: "$output
echo "status: "$status
assert_success
run bash -c "response=\"$(curl -LkSs www.test.dokku.me)\"; echo \$response; test \"\$response\" == \"nodejs/express\""
echo "output: "$output
echo "status: "$status
assert_success
run bash -c "response=\"$(curl -LkSs www.test.app.dokku.me)\"; echo \$response; test \"\$response\" == \"nodejs/express\""
echo "output: "$output
echo "status: "$status
assert_success
}
@test "nginx:build-config (no global VHOST and domains:add)" {

Binary file not shown.

View File

@@ -109,3 +109,10 @@ setup_test_tls() {
tar xf $BATS_TEST_DIRNAME/server_ssl.tar -C $TLS
sudo chown -R dokku:dokku $TLS
}
setup_test_tls_with_sans() {
TLS="/home/dokku/$TEST_APP/tls"
mkdir -p $TLS
tar xf $BATS_TEST_DIRNAME/server_ssl_sans.tar -C $TLS
sudo chown -R dokku:dokku $TLS
}