Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
ba936796ec | |||
fdc6403a1b |
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
|
12
Makefile
12
Makefile
@ -5,8 +5,9 @@ test:
|
|||||||
-it \
|
-it \
|
||||||
--rm \
|
--rm \
|
||||||
-v $$(pwd):/workdir \
|
-v $$(pwd):/workdir \
|
||||||
|
--privileged \
|
||||||
docker:dind \
|
docker:dind \
|
||||||
sh -c "apk add bats git bash && cd /workdir && bats /workdir/test.bats"
|
sh -c "apk add bats git bash && cd /workdir && bats tests"
|
||||||
|
|
||||||
shellcheck:
|
shellcheck:
|
||||||
@docker run \
|
@docker run \
|
||||||
@ -25,12 +26,15 @@ docopt:
|
|||||||
.venv/bin/docopt.sh abra
|
.venv/bin/docopt.sh abra
|
||||||
|
|
||||||
kcov:
|
kcov:
|
||||||
@docker run \
|
@DOCKER_CONTEXT=default docker run \
|
||||||
-it \
|
-it \
|
||||||
--rm \
|
--rm \
|
||||||
-v $$(pwd):/workdir \
|
-v $$(pwd):/workdir \
|
||||||
kcov/kcov:latest \
|
koinotice/dind-kcov-bats \
|
||||||
sh -c "kcov /workdir/coverage /workdir/abra || true"
|
bash -c "kcov coverage bats tests || true"
|
||||||
|
|
||||||
|
install:
|
||||||
|
install abra /usr/bin/abra
|
||||||
|
|
||||||
codecov: SHELL:=/bin/bash
|
codecov: SHELL:=/bin/bash
|
||||||
codecov:
|
codecov:
|
||||||
|
@ -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