make test → test_local, test_docker, test_dind
test_local: run `bats tests/`. Requires `bats`. test_docker: run docker and install bats in it. Both of these options require that your local Docker daemon is running in swarm mode. test_dind: starts a Docker daemon and runs tests in that. Requires sudo
This commit is contained in:
parent
406b9e374e
commit
81782bb5f0
20
Makefile
20
Makefile
@ -1,6 +1,21 @@
|
||||
.PHONY: test shellcheck docopt kcov codecov
|
||||
|
||||
test:
|
||||
test_dind:
|
||||
@sudo DOCKER_CONTEXT=default docker run \
|
||||
-v $$(pwd):/workdir \
|
||||
--privileged \
|
||||
-d \
|
||||
--name=abra-test-dind \
|
||||
-e DOCKER_TLS_CERTDIR="" \
|
||||
docker:dind
|
||||
@DOCKER_CONTEXT=default docker exec \
|
||||
-it \
|
||||
abra-test-dind \
|
||||
sh -c "apk add bats git bash && cd /workdir && bats /workdir/tests"
|
||||
@DOCKER_CONTEXT=default docker stop abra-test-dind
|
||||
@DOCKER_CONTEXT=default docker rm abra-test-dind
|
||||
|
||||
test_docker:
|
||||
@DOCKER_CONTEXT=default docker run \
|
||||
-it \
|
||||
--rm \
|
||||
@ -8,6 +23,9 @@ test:
|
||||
docker:dind \
|
||||
sh -c "apk add bats git bash && cd /workdir && bats /workdir/tests"
|
||||
|
||||
test_local:
|
||||
bats tests
|
||||
|
||||
shellcheck:
|
||||
@docker run \
|
||||
-it \
|
||||
|
@ -9,7 +9,7 @@ teardown() {
|
||||
rm -rf "$ABRA_DIR"
|
||||
}
|
||||
|
||||
@test "abra server add/rm works" {
|
||||
@test "abra server (add|rm)" {
|
||||
./abra server add swarm.test.com
|
||||
docker context ls | grep swarm.test.com
|
||||
[ -d $ABRA_DIR/servers/swarm.test.com ]
|
||||
@ -20,7 +20,11 @@ teardown() {
|
||||
./abra server swarm.test.com rm
|
||||
}
|
||||
|
||||
@test "abra app new/rm works" {
|
||||
@test "abra server init" {
|
||||
./abra server default init
|
||||
}
|
||||
|
||||
@test "abra app (new|rm)" {
|
||||
./abra app new --server default --domain traefik.test.com --app-name traefik_test_com traefik
|
||||
[ -f $ABRA_DIR/servers/default/traefik_test_com.env ]
|
||||
|
||||
@ -35,7 +39,6 @@ teardown() {
|
||||
}
|
||||
|
||||
@test "abra app <domain> 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 --app-name traefik_test_com traefik
|
||||
|
||||
./abra app traefik_test_com secret insert foobar v1 "foobar"
|
||||
|
Reference in New Issue
Block a user