Use bats-mock
This commit is contained in:
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "tests/helpers/mocks"]
|
||||||
|
path = tests/helpers/mocks
|
||||||
|
url = https://github.com/Flamefire/bats-mock.git
|
@ -1,37 +1,48 @@
|
|||||||
#!/usr/bin/env bats
|
#!/usr/bin/env bats
|
||||||
|
|
||||||
|
load test_helper
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
mkdir -p ~/.abra/servers/default
|
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() {
|
teardown() {
|
||||||
rm -rf ~/.abra/servers/default
|
#unstub docker
|
||||||
rm -rf ~/.abra/servers/swarm.test.com
|
#rm -rf "$ABRA_DIR"
|
||||||
|
echo "foo"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abra server add/rm works" {
|
@test "abra server add/rm works" {
|
||||||
./abra server add swarm.test.com
|
./abra server add swarm.test.com
|
||||||
docker context ls | grep swarm.test.com
|
docker context ls | grep swarm.test.com
|
||||||
[ -d ~/.abra/servers/swarm.test.com ]
|
[ -d $ABRA_DIR/servers/swarm.test.com ]
|
||||||
./abra server rm swarm.test.com
|
./abra server rm swarm.test.com
|
||||||
|
|
||||||
./abra server add swarm.test.com foobar 12345
|
./abra server add swarm.test.com foobar 12345
|
||||||
[ -d ~/.abra/servers/swarm.test.com ]
|
[ -d $ABRA_DIR/servers/swarm.test.com ]
|
||||||
./abra server rm swarm.test.com
|
./abra server rm swarm.test.com
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abra app new/rm works" {
|
@test "abra app new/rm works" {
|
||||||
./abra app new --server default --domain traefik.test.com traefik
|
./abra app new --server default --domain traefik.test.com traefik
|
||||||
[ -f ~/.abra/servers/default/traefik.test.com.env ]
|
[ -f $ABRA_DIR/servers/default/traefik.test.com.env ]
|
||||||
|
|
||||||
# interactive prompt
|
# interactive prompt
|
||||||
echo "y" | ./abra app traefik.test.com delete
|
echo "y" | ./abra app traefik.test.com delete
|
||||||
[ ! -f ~/.abra/servers/default/traefik.test.com.env ]
|
[ ! -f $ABRA_DIR/servers/default/traefik.test.com.env ]
|
||||||
|
|
||||||
# --force
|
# --force
|
||||||
./abra app new --server default --domain traefik.test.com traefik
|
./abra app new --server default --domain traefik.test.com traefik
|
||||||
./abra app traefik.test.com delete --force
|
./abra app traefik.test.com delete --force
|
||||||
[ ! -f ~/.abra/servers/default/traefik.test.com.env ]
|
[ ! -f $ABRA_DIR/servers/default/traefik.test.com.env ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "abra app <domain> secret (insert|generate|rm)" {
|
@test "abra app <domain> secret (insert|generate|rm)" {
|
||||||
|
1
tests/test_helper.bash
Normal file
1
tests/test_helper.bash
Normal file
@ -0,0 +1 @@
|
|||||||
|
load helpers/mocks/src/stub
|
Reference in New Issue
Block a user