2015-01-14 15:19:58 -08:00
|
|
|
#!/usr/bin/env bats
|
|
|
|
|
|
|
|
|
|
load test_helper
|
|
|
|
|
|
|
|
|
|
setup() {
|
2015-04-18 15:40:31 -07:00
|
|
|
create_app
|
2015-01-14 15:19:58 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
teardown() {
|
|
|
|
|
destroy_app
|
|
|
|
|
}
|
|
|
|
|
|
2015-04-20 20:10:53 -07:00
|
|
|
# @test "(ps) dockerfile" {
|
|
|
|
|
# # CI support: 'Ah. I just spoke with our Docker expert --
|
|
|
|
|
# # looks like docker exec is built to work with docker-under-libcontainer,
|
|
|
|
|
# # but we're using docker-under-lxc. I don't have an estimated time for the fix, sorry
|
|
|
|
|
# skip "circleci does not support docker exec at the moment."
|
|
|
|
|
# run bash -c "dokku ps $TEST_APP | grep -q \"node web.js\""
|
|
|
|
|
# echo "output: "$output
|
|
|
|
|
# echo "status: "$status
|
|
|
|
|
# assert_success
|
|
|
|
|
# }
|
2015-01-14 15:19:58 -08:00
|
|
|
|
2015-04-01 17:44:34 -07:00
|
|
|
@test "(ps) dockerfile" {
|
2015-04-18 15:40:31 -07:00
|
|
|
deploy_app dockerfile
|
2015-01-14 15:19:58 -08:00
|
|
|
run bash -c "dokku ps:stop $TEST_APP"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
2015-04-17 20:17:42 -07:00
|
|
|
for CID_FILE in $DOKKU_ROOT/$TEST_APP/CONTAINER.*; do
|
|
|
|
|
run bash -c "docker ps -q --no-trunc | grep -q $(< $CID_FILE)"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_failure
|
|
|
|
|
done
|
2015-01-14 15:19:58 -08:00
|
|
|
|
2015-04-01 17:30:09 -07:00
|
|
|
run bash -c "dokku ps:start $TEST_APP"
|
2015-01-14 15:19:58 -08:00
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
2015-04-17 20:17:42 -07:00
|
|
|
for CID_FILE in $DOKKU_ROOT/$TEST_APP/CONTAINER.*; do
|
|
|
|
|
run bash -c "docker ps -q --no-trunc | grep -q $(< $CID_FILE)"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
done
|
2015-01-14 15:19:58 -08:00
|
|
|
|
|
|
|
|
run bash -c "dokku ps:restart $TEST_APP"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
2015-04-17 20:17:42 -07:00
|
|
|
for CID_FILE in $DOKKU_ROOT/$TEST_APP/CONTAINER.*; do
|
|
|
|
|
run bash -c "docker ps -q --no-trunc | grep -q $(< $CID_FILE)"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
done
|
2015-01-27 15:00:00 -08:00
|
|
|
|
|
|
|
|
run bash -c "dokku ps:rebuild $TEST_APP"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
2015-04-17 20:17:42 -07:00
|
|
|
for CID_FILE in $DOKKU_ROOT/$TEST_APP/CONTAINER.*; do
|
|
|
|
|
run bash -c "docker ps -q --no-trunc | grep -q $(< $CID_FILE)"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
done
|
2015-01-27 15:00:00 -08:00
|
|
|
}
|
2015-04-18 15:40:31 -07:00
|
|
|
|
|
|
|
|
@test "(ps:scale) dockerfile" {
|
|
|
|
|
run bash -c "dokku ps:scale $TEST_APP web=2"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
|
|
|
|
|
deploy_app dockerfile
|
|
|
|
|
CIDS=""
|
|
|
|
|
for CID_FILE in $DOKKU_ROOT/$TEST_APP/CONTAINER.web.*; do
|
|
|
|
|
CIDS+=$(< $CID_FILE)
|
|
|
|
|
CIDS+=" "
|
|
|
|
|
done
|
|
|
|
|
CIDS_PATTERN=$(echo $CIDS | sed -e "s: :|:g")
|
|
|
|
|
run bash -c "docker ps -q --no-trunc | egrep \"$CIDS_PATTERN\" | wc -l | grep 2"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
|
|
|
|
|
run bash -c "dokku ps:scale $TEST_APP web=1"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
CIDS=""
|
|
|
|
|
for CID_FILE in $DOKKU_ROOT/$TEST_APP/CONTAINER.web.*; do
|
|
|
|
|
CIDS+=$(< $CID_FILE)
|
|
|
|
|
CIDS+=" "
|
|
|
|
|
done
|
|
|
|
|
CIDS_PATTERN=$(echo $CIDS | sed -e "s: :|:g")
|
|
|
|
|
run bash -c "docker ps -q --no-trunc | egrep \"$CIDS_PATTERN\" | wc -l | grep 1"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
|
|
|
|
|
run bash -c "dokku ps:scale $TEST_APP web=0"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
CIDS=""
|
|
|
|
|
shopt -s nullglob
|
|
|
|
|
for CID_FILE in $DOKKU_ROOT/$TEST_APP/CONTAINER.web.*; do
|
|
|
|
|
CIDS+=$(< $CID_FILE)
|
|
|
|
|
CIDS+=" "
|
|
|
|
|
done
|
|
|
|
|
run bash -c "[[ -z \"$CIDS\" ]]"
|
|
|
|
|
echo "output: "$output
|
|
|
|
|
echo "status: "$status
|
|
|
|
|
assert_success
|
|
|
|
|
}
|