make tests work

This commit is contained in:
Michael Hobbs
2014-12-14 14:45:49 -08:00
parent 3706392e65
commit 606bbda66c
15 changed files with 111 additions and 36 deletions

View File

@@ -1,10 +1,6 @@
#!/bin/bash
set -e;
base_url="$1"
test_url / "config-test"
test_url /hello "Hello world"
test_url () {
path="$1"
expected_output="$2"
@@ -13,3 +9,7 @@ test_url () {
echo "$output"
test "$output" == "$expected_output"
}
base_url="$1"
test_url / "config-test"
test_url /hello "Hello world"

View File

@@ -4,5 +4,6 @@ set -ex;
REMOTE=$1
REPO=$2
ssh "$REMOTE" config:set "$REPO" CONFTEST=config-test HELLO=\"Hello world\"
# setting config variables with spaces is broken at the moment. ref: 820
# ssh "$REMOTE" config:set "$REPO" CONFTEST=config-test HELLO=\"Hello world\"
dokku config:set "$REPO" CONFTEST=config-test HELLO="Hello world"

View File

@@ -1,5 +1,2 @@
#!/bin/bash
set -ex
echo "curl -s $1"
curl -s -S $1
output="$(curl -s $1)"; echo $output; test "$output" == "Hello World!"
set -e; output="$(curl -s -S $1)"; echo $output; test "$output" == "Hello World!"

View File

@@ -3,7 +3,6 @@
load ../unit/test_helper
@test "deploy config app" {
skip "ssh is doing something odd with quoting... ref: #820"
run bash -c "cd tests && ./test_deploy ./apps/config dokku.me"
echo "output: "$output
echo "status: "$status

10
tests/deploy/go.bats Normal file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bats
load ../unit/test_helper
@test "deploy go app" {
run bash -c "cd tests && ./test_deploy ./apps/go dokku.me"
echo "output: "$output
echo "status: "$status
assert_success
}

10
tests/deploy/java.bats Normal file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bats
load ../unit/test_helper
@test "deploy java app" {
run bash -c "cd tests && ./test_deploy ./apps/java dokku.me"
echo "output: "$output
echo "status: "$status
assert_success
}

11
tests/deploy/multi.bats Normal file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bats
load ../unit/test_helper
@test "deploy multi app" {
skip "fails on postinstall with Arguments to path.join must be strings"
run bash -c "cd tests && ./test_deploy ./apps/multi dokku.me"
echo "output: "$output
echo "status: "$status
assert_success
}

View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bats
load ../unit/test_helper
@test "deploy nodejs-express app" {
run bash -c "cd tests && ./test_deploy ./apps/nodejs-express dokku.me"
echo "output: "$output
echo "status: "$status
assert_success
}

11
tests/deploy/php.bats Normal file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bats
load ../unit/test_helper
@test "deploy php app" {
skip "fails with /root/bin/jq: No such file or directory"
run bash -c "cd tests && ./test_deploy ./apps/php dokku.me"
echo "output: "$output
echo "status: "$status
assert_success
}

View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bats
load ../unit/test_helper
@test "deploy python-flask app" {
run bash -c "cd tests && ./test_deploy ./apps/python-flask dokku.me"
echo "output: "$output
echo "status: "$status
assert_success
}

11
tests/deploy/static.bats Normal file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bats
load ../unit/test_helper
@test "deploy static app" {
skip "fails on apt-get update..."
run bash -c "cd tests && ./test_deploy ./apps/static dokku.me"
echo "output: "$output
echo "status: "$status
assert_success
}

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
set -exo pipefail
set -eo pipefail
SELF=$(which $0); APP="$1"; TARGET="$2"; FORWARDED_PORT="$3"
REMOTE="dokku@$TARGET"
@@ -10,8 +10,8 @@ destroy_app(){
}
failed(){
echo "************ $1 failed ************"
# destroy_app
echo "************ Deploying $1 failed ************"
destroy_app
exit 1
}
@@ -28,12 +28,12 @@ git add .
[[ -x pre-commit ]] && ./pre-commit $REMOTE $REPO
git commit -m 'initial commit'
git push target master
git push target master || failed git-push
if [[ -x post-deploy ]]; then
./post-deploy $REMOTE $REPO || failed post-deploy
fi
URL=$(ssh $REMOTE url $REPO)$FORWARDED_PORT
URL=$(dokku url $REPO)$FORWARDED_PORT
sleep 2
if (./check_deploy $URL); then
echo "-----> Deploy success!"