#!/usr/bin/env bats load test_helper setup() { export ABRA_DIR=$(mktemp -d) export DOCKER_STUB_DEBUG=foo mkdir -p $ABRA_DIR/servers/default stub docker \ "context create * --docker * : touch $ABRA_DIR/context" \ 'context ls : echo "swarm.test.com"' \ "context rm * : rm $ABRA_DIR/context" \ "context create * --docker * : touch $ABRA_DIR/context" \ "context rm * : rm $ABRA_DIR/context" } teardown() { #unstub docker #rm -rf "$ABRA_DIR" echo "foo" } @test "abra server add/rm works" { ./abra server add swarm.test.com docker context ls | grep swarm.test.com [ -d $ABRA_DIR/servers/swarm.test.com ] ./abra server rm swarm.test.com ./abra server add swarm.test.com foobar 12345 [ -d $ABRA_DIR/servers/swarm.test.com ] ./abra server rm swarm.test.com } @test "abra app new/rm works" { ./abra app new --server default --domain traefik.test.com traefik [ -f $ABRA_DIR/servers/default/traefik.test.com.env ] # interactive prompt echo "y" | ./abra app traefik.test.com delete [ ! -f $ABRA_DIR/servers/default/traefik.test.com.env ] # --force ./abra app new --server default --domain traefik.test.com traefik ./abra app traefik.test.com delete --force [ ! -f $ABRA_DIR/servers/default/traefik.test.com.env ] } @test "abra app secret (insert|generate|rm)" { # TODO 3wc: mock `server new` so we don't endlessly re-test it ./abra app new --server default --domain traefik.test.com traefik ./abra app traefik.test.com secret insert foobar v1 "foobar" # interactive prompt echo "y" | ./abra app traefik.test.com secret rm foobar ./abra app traefik.test.com secret insert foobar v1 "foobar" # prompt ./abra app traefik.test.com secret rm foobar --force }