From 9352e7a5948feda95f753a0d739fe82aa850ac96 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Thu, 25 Feb 2021 06:48:03 -0500 Subject: [PATCH] tests: split out nginx tests further to decrease overall CI runtime --- tests/unit/nginx-vhosts_10.bats | 176 ++++++++++++++++++++++++++++++++ tests/unit/nginx-vhosts_11.bats | 153 +++++++++++++++++++++++++++ tests/unit/nginx-vhosts_6.bats | 158 ---------------------------- tests/unit/nginx-vhosts_8.bats | 136 ------------------------ 4 files changed, 329 insertions(+), 294 deletions(-) create mode 100644 tests/unit/nginx-vhosts_10.bats create mode 100644 tests/unit/nginx-vhosts_11.bats diff --git a/tests/unit/nginx-vhosts_10.bats b/tests/unit/nginx-vhosts_10.bats new file mode 100644 index 000000000..ede218143 --- /dev/null +++ b/tests/unit/nginx-vhosts_10.bats @@ -0,0 +1,176 @@ +#!/usr/bin/env bats + +load test_helper + +setup() { + global_setup + [[ -f "$DOKKU_ROOT/VHOST" ]] && cp -fp "$DOKKU_ROOT/VHOST" "$DOKKU_ROOT/VHOST.bak" + [[ -f "$DOKKU_ROOT/HOSTNAME" ]] && cp -fp "$DOKKU_ROOT/HOSTNAME" "$DOKKU_ROOT/HOSTNAME.bak" + create_app +} + +teardown() { + destroy_app 0 $TEST_APP + [[ -f "$DOKKU_ROOT/VHOST.bak" ]] && mv "$DOKKU_ROOT/VHOST.bak" "$DOKKU_ROOT/VHOST" && chown dokku:dokku "$DOKKU_ROOT/VHOST" + [[ -f "$DOKKU_ROOT/HOSTNAME.bak" ]] && mv "$DOKKU_ROOT/HOSTNAME.bak" "$DOKKU_ROOT/HOSTNAME" && chown dokku:dokku "$DOKKU_ROOT/HOSTNAME" + global_teardown +} + +@test "(nginx-vhosts) nginx:set x-forwarded-for-value" { + run deploy_app + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-For \$remote_addr;" + + run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-for-value '\$http_x_forwarded_for'" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-For \$http_x_forwarded_for;" +} + +@test "(nginx-vhosts) nginx:set x-forwarded-port-value" { + run deploy_app + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-Port \$server_port;" + + run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-port-value '\$http_x_forwarded_port'" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-Port \$http_x_forwarded_port;" +} + +@test "(nginx-vhosts) nginx:set x-forwarded-proto-value" { + run deploy_app + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-Proto \$scheme;" + + run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-proto-value '\$http_x_forwarded_proto'" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-Proto \$http_x_forwarded_proto;" +} + +@test "(nginx-vhosts) nginx:set x-forwarded-ssl" { + run deploy_app + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-Ssl" 0 + + run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl on" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-Ssl on;" + + run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl off" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-Ssl off;" + + run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "X-Forwarded-Ssl" 0 +} + diff --git a/tests/unit/nginx-vhosts_11.bats b/tests/unit/nginx-vhosts_11.bats new file mode 100644 index 000000000..f7d1a1a2b --- /dev/null +++ b/tests/unit/nginx-vhosts_11.bats @@ -0,0 +1,153 @@ +#!/usr/bin/env bats + +load test_helper + +setup() { + global_setup + [[ -f "$DOKKU_ROOT/VHOST" ]] && cp -fp "$DOKKU_ROOT/VHOST" "$DOKKU_ROOT/VHOST.bak" + [[ -f "$DOKKU_ROOT/HOSTNAME" ]] && cp -fp "$DOKKU_ROOT/HOSTNAME" "$DOKKU_ROOT/HOSTNAME.bak" + create_app +} + +teardown() { + destroy_app 0 $TEST_APP + [[ -f "$DOKKU_ROOT/VHOST.bak" ]] && mv "$DOKKU_ROOT/VHOST.bak" "$DOKKU_ROOT/VHOST" && chown dokku:dokku "$DOKKU_ROOT/VHOST" + [[ -f "$DOKKU_ROOT/HOSTNAME.bak" ]] && mv "$DOKKU_ROOT/HOSTNAME.bak" "$DOKKU_ROOT/HOSTNAME" && chown dokku:dokku "$DOKKU_ROOT/HOSTNAME" + global_teardown +} + +@test "(nginx-vhosts) nginx:set proxy-buffer-size" { + deploy_app + + run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffer-size 2k" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "proxy_buffer_size 2k;" + + run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffer-size" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "proxy_buffer_size 2k;" 0 +} + +@test "(nginx-vhosts) nginx:set proxy-buffering" { + deploy_app + + run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffering off" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "proxy_buffering off;" + + run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffering" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "proxy_buffering off;" 0 +} + +@test "(nginx-vhosts) nginx:set proxy-buffers" { + deploy_app + + run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffers \"64 4k\"" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "proxy_buffers 64 4k;" + + run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffers" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "proxy_buffers 64 4k;" 0 +} + +@test "(nginx-vhosts) nginx:set proxy-busy-buffers-size" { + deploy_app + + run /bin/bash -c "dokku nginx:set $TEST_APP proxy-busy-buffers-size 10k" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "proxy_busy_buffers_size 10k;" + + run /bin/bash -c "dokku nginx:set $TEST_APP proxy-busy-buffers-size" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku nginx:build-config $TEST_APP" + 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_output_contains "proxy_busy_buffers_size 10k;" 0 +} diff --git a/tests/unit/nginx-vhosts_6.bats b/tests/unit/nginx-vhosts_6.bats index ec7abe1ac..1ba3aecd1 100644 --- a/tests/unit/nginx-vhosts_6.bats +++ b/tests/unit/nginx-vhosts_6.bats @@ -206,164 +206,6 @@ teardown() { assert_output_contains "127.0.0.1:80;" 0 } -@test "(nginx-vhosts) nginx:set x-forwarded-for-value" { - run deploy_app - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-For \$remote_addr;" - - run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-for-value '\$http_x_forwarded_for'" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-For \$http_x_forwarded_for;" -} - -@test "(nginx-vhosts) nginx:set x-forwarded-port-value" { - run deploy_app - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-Port \$server_port;" - - run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-port-value '\$http_x_forwarded_port'" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-Port \$http_x_forwarded_port;" -} - -@test "(nginx-vhosts) nginx:set x-forwarded-proto-value" { - run deploy_app - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-Proto \$scheme;" - - run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-proto-value '\$http_x_forwarded_proto'" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-Proto \$http_x_forwarded_proto;" -} - -@test "(nginx-vhosts) nginx:set x-forwarded-ssl" { - run deploy_app - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-Ssl" 0 - - run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl on" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-Ssl on;" - - run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl off" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-Ssl off;" - - run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "X-Forwarded-Ssl" 0 -} - @test "(nginx-vhosts) nginx:validate-config" { deploy_app run /bin/bash -c "dokku nginx:validate-config" diff --git a/tests/unit/nginx-vhosts_8.bats b/tests/unit/nginx-vhosts_8.bats index 7f6bf7009..2bdca9259 100644 --- a/tests/unit/nginx-vhosts_8.bats +++ b/tests/unit/nginx-vhosts_8.bats @@ -118,139 +118,3 @@ teardown() { echo "status: $status" assert_output_contains "45s;" 0 } - -@test "(nginx-vhosts) nginx:set proxy-buffer-size" { - deploy_app - - run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffer-size 2k" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "proxy_buffer_size 2k;" - - run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffer-size" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "proxy_buffer_size 2k;" 0 -} - -@test "(nginx-vhosts) nginx:set proxy-buffering" { - deploy_app - - run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffering off" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "proxy_buffering off;" - - run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffering" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "proxy_buffering off;" 0 -} - -@test "(nginx-vhosts) nginx:set proxy-buffers" { - deploy_app - - run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffers \"64 4k\"" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "proxy_buffers 64 4k;" - - run /bin/bash -c "dokku nginx:set $TEST_APP proxy-buffers" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "proxy_buffers 64 4k;" 0 -} - -@test "(nginx-vhosts) nginx:set proxy-busy-buffers-size" { - deploy_app - - run /bin/bash -c "dokku nginx:set $TEST_APP proxy-busy-buffers-size 10k" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "proxy_busy_buffers_size 10k;" - - run /bin/bash -c "dokku nginx:set $TEST_APP proxy-busy-buffers-size" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku nginx:build-config $TEST_APP" - 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_output_contains "proxy_busy_buffers_size 10k;" 0 -}