#!/usr/bin/env bats load test_helper setup_local_tls() { TLS=$BATS_TMPDIR/tls mkdir -p $TLS tar xf $BATS_TEST_DIRNAME/server_ssl.tar -C $TLS tar xf $BATS_TEST_DIRNAME/domain_ssl.tar -C $TLS sudo chown -R dokku:dokku $TLS } teardown_local_tls() { TLS=$BATS_TMPDIR/tls rm -R $TLS } setup() { global_setup [[ -f "$DOKKU_ROOT/VHOST" ]] && cp -fp "$DOKKU_ROOT/VHOST" "$DOKKU_ROOT/VHOST.bak" create_app } teardown() { destroy_app [[ -f "$DOKKU_ROOT/VHOST.bak" ]] && mv "$DOKKU_ROOT/VHOST.bak" "$DOKKU_ROOT/VHOST" && chown dokku:dokku "$DOKKU_ROOT/VHOST" global_teardown } @test "(nginx-vhosts) refactored template generates nginx -t parseable http config" { run deploy_app echo "output: $output" echo "status: $status" assert_success run /bin/bash -c "test -f $DOKKU_ROOT/$TEST_APP/nginx.conf" echo "output: $output" echo "status: $status" assert_success run /bin/bash -c "sudo nginx -t" echo "output: $output" echo "status: $status" assert_success } @test "(nginx-vhosts) refactored template generates nginx -t parseable https config" { setup_local_tls run deploy_app echo "output: $output" echo "status: $status" assert_success run /bin/bash -c "dokku certs:add $TEST_APP $BATS_TMPDIR/tls/server.crt $BATS_TMPDIR/tls/server.key" echo "output: $output" echo "status: $status" assert_success run /bin/bash -c "sudo nginx -t" echo "output: $output" echo "status: $status" assert_success run /bin/bash -c "dokku nginx:show-config $TEST_APP" echo "output: $output" echo "status: $status" assert_success assert_output_contains "ssl_certificate" -1 assert_output_contains "return 301 https" -1 teardown_local_tls }