make test → test_local, test_docker, test_dind
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			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:
		
							
								
								
									
										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