#!/usr/bin/env bash setup_file(){ load "$PWD/tests/integration/helpers/common" _common_setup _add_server _new_app } teardown_file(){ _rm_app _rm_server } setup(){ load "$PWD/tests/integration/helpers/common" _common_setup } @test "list without status" { run $ABRA app ls assert_success assert_output --partial "$TEST_SERVER" assert_output --partial "$TEST_APP_DOMAIN" } # bats test_tags=slow @test "list with status" { run $ABRA app ls --status assert_success assert_output --partial "$TEST_SERVER" assert_output --partial "$TEST_APP_DOMAIN" assert_output --partial "unknown" _deploy_app run $ABRA app ls --status assert_success assert_output --partial "$TEST_SERVER" assert_output --partial "$TEST_APP_DOMAIN" assert_output --partial "deployed" _undeploy_app } @test "filter by server" { run mkdir -p "$ABRA_DIR/servers/foo.com" assert_success assert_exists "$ABRA_DIR/servers/foo.com" run cp \ "$ABRA_DIR/servers/$TEST_SERVER/$TEST_APP_DOMAIN.env" \ "$ABRA_DIR/servers/foo.com/app.foo.com.env" assert_exists "$ABRA_DIR/servers/foo.com/app.foo.com.env" run $ABRA app ls assert_success assert_output --partial "$TEST_SERVER" assert_output --partial "foo.com" run $ABRA app ls --server foo.com assert_success refute_output --partial "server: $TEST_SERVER |" assert_output --partial "server: foo.com |" run rm -rf "$ABRA_DIR/servers/foo.com" assert_success assert_not_exists "$ABRA_DIR/servers/foo.com" } @test "filter by recipe" { run mkdir -p "$ABRA_DIR/servers/foo.com" assert_success assert_exists "$ABRA_DIR/servers/foo.com" run cp \ "$ABRA_DIR/servers/$TEST_SERVER/$TEST_APP_DOMAIN.env" \ "$ABRA_DIR/servers/foo.com/app.foo.com.env" assert_exists "$ABRA_DIR/servers/foo.com/app.foo.com.env" run sed -i "s/TYPE=$TEST_RECIPE/TYPE=foo-recipe/g" "$ABRA_DIR/servers/foo.com/app.foo.com.env" assert grep -q "TYPE=foo-recipe" "$ABRA_DIR/servers/foo.com/app.foo.com.env" run $ABRA app ls assert_success assert_output --partial "$TEST_RECIPE" assert_output --partial "foo-recipe" run $ABRA app ls --recipe foo-recipe assert_success refute_output --partial "$TEST_RECIPE" assert_output --partial "foo-recipe" } @test "server stats are correct" { run $ABRA app ls assert_success assert_output --partial "server: $TEST_SERVER" assert_output --partial "total apps: 1" run mkdir -p "$ABRA_DIR/servers/foo.com" assert_success assert_exists "$ABRA_DIR/servers/foo.com" run cp \ "$ABRA_DIR/servers/$TEST_SERVER/$TEST_APP_DOMAIN.env" \ "$ABRA_DIR/servers/foo.com/app.foo.com.env" assert_exists "$ABRA_DIR/servers/foo.com/app.foo.com.env" run $ABRA app ls assert_success assert_output --partial "$TEST_SERVER" assert_output --partial "foo.com" assert_output --partial "total servers: 2" assert_output --partial "total apps: 2" run rm -rf "$ABRA_DIR/servers/foo.com" assert_success assert_not_exists "$ABRA_DIR/servers/foo.com" } @test "output is machine readable" { run $ABRA app ls --machine expectedOutput='{"' expectedOutput+="$TEST_SERVER" expectedOutput+='":{"apps":' assert_output --partial "$expectedOutput" }