mirror of
https://github.com/dokku/dokku.git
synced 2025-12-29 00:25:08 +01:00
This follows the heroku pattern of ensuring applications are "freshly" created, routing-wise. Closes #2740
254 lines
6.4 KiB
Bash
Executable File
254 lines
6.4 KiB
Bash
Executable File
#!/usr/bin/env bats
|
|
|
|
load test_helper
|
|
|
|
setup () {
|
|
global_setup
|
|
}
|
|
|
|
teardown () {
|
|
global_teardown
|
|
}
|
|
|
|
@test "(apps) apps:create" {
|
|
run /bin/bash -c "dokku apps:create $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku apps:list | grep $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_output $TEST_APP
|
|
destroy_app
|
|
|
|
run /bin/bash -c "dokku apps:create 1994testapp"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
run /bin/bash -c "dokku apps:create testapp:latest"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_failure
|
|
|
|
run /bin/bash -c "dokku apps:create testApp:latest"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_failure
|
|
|
|
run /bin/bash -c "dokku apps:create TestApp"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_failure
|
|
|
|
run /bin/bash -c "dokku --app $TEST_APP apps:create"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku apps:list | grep $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_output $TEST_APP
|
|
|
|
destroy_app
|
|
}
|
|
|
|
@test "(apps) app autocreate disabled" {
|
|
run /bin/bash -c "dokku config:set --no-restart --global DOKKU_DISABLE_APP_AUTOCREATION='true'"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
run deploy_app
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_failure
|
|
run /bin/bash -c "dokku config:unset --no-restart --global DOKKU_DISABLE_APP_AUTOCREATION"
|
|
}
|
|
|
|
@test "(apps) apps:destroy" {
|
|
create_app
|
|
run /bin/bash -c "dokku --force apps:destroy $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
create_app
|
|
run /bin/bash -c "dokku --force --app $TEST_APP apps:destroy"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
}
|
|
|
|
@test "(apps) apps:rename" {
|
|
deploy_app
|
|
run /bin/bash -c "dokku apps:rename $TEST_APP great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku apps:list | grep $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_output ""
|
|
run /bin/bash -c "curl --silent --write-out '%{http_code}\n' `dokku url great-test-name` | grep 404"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_output ""
|
|
run /bin/bash -c "dokku --force apps:destroy great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
run /bin/bash -c "dokku apps:create $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku apps:rename $TEST_APP great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku --force apps:destroy great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
}
|
|
|
|
@test "(apps) apps:rename with tls" {
|
|
setup_test_tls
|
|
deploy_app
|
|
run /bin/bash -c "dokku apps:rename $TEST_APP great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku --force apps:destroy great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
}
|
|
|
|
@test "(apps) apps:clone" {
|
|
deploy_app
|
|
run /bin/bash -c "dokku apps:clone $TEST_APP great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku apps:list | grep $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "curl --silent --write-out '%{http_code}\n' `dokku url great-test-name` | grep 404"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_output ""
|
|
run /bin/bash -c "dokku --force apps:destroy great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
}
|
|
|
|
@test "(apps) apps:clone --skip-deploy" {
|
|
deploy_app
|
|
run /bin/bash -c "dokku apps:clone --skip-deploy $TEST_APP great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run [ -d /home/dokku/great-test-name/tls ]
|
|
assert_failure
|
|
run [ -f /home/dokku/great-test-name/URLS ]
|
|
assert_failure
|
|
run [ -f /home/dokku/great-test-name/VHOST ]
|
|
assert_failure
|
|
run /bin/bash -c "curl --silent --write-out '%{http_code}\n' `dokku url $TEST_APP` | grep 200"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "curl --silent --write-out '%{http_code}\n' `dokku url great-test-name` | grep 404"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_failure
|
|
run /bin/bash -c "dokku --force apps:destroy great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "curl --silent --write-out '%{http_code}\n' `dokku url $TEST_APP` | grep 200"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
}
|
|
|
|
@test "(apps) apps:clone --ignore-existing" {
|
|
deploy_app
|
|
run /bin/bash -c "dokku apps:create great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku apps:clone --ignore-existing $TEST_APP great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
run /bin/bash -c "dokku --force apps:destroy great-test-name"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
}
|
|
|
|
@test "(apps) apps:exists" {
|
|
run /bin/bash -c "dokku apps:exists $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_failure
|
|
|
|
create_app
|
|
run /bin/bash -c "dokku apps:exists $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
run /bin/bash -c "dokku --force apps:destroy $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
}
|
|
|
|
@test "(apps) apps:lock/locked/unlock" {
|
|
create_app
|
|
|
|
run /bin/bash -c "dokku apps:report $TEST_APP --locked"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_output "false"
|
|
|
|
run /bin/bash -c "dokku apps:locked $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_failure
|
|
|
|
run /bin/bash -c "dokku apps:lock $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
run /bin/bash -c "dokku apps:report $TEST_APP --locked"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_output "true"
|
|
|
|
run /bin/bash -c "dokku apps:locked $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
run /bin/bash -c "dokku apps:unlock $TEST_APP"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_success
|
|
|
|
run /bin/bash -c "dokku apps:report $TEST_APP --locked"
|
|
echo "output: $output"
|
|
echo "status: $status"
|
|
assert_output "false"
|
|
|
|
destroy_app
|
|
}
|