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 | .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 \ | 	@DOCKER_CONTEXT=default docker run \ | ||||||
| 		-it \ | 		-it \ | ||||||
| 		--rm \ | 		--rm \ | ||||||
| @ -8,6 +23,9 @@ test: | |||||||
| 		docker:dind \ | 		docker:dind \ | ||||||
| 		sh -c "apk add bats git bash && cd /workdir && bats /workdir/tests" | 		sh -c "apk add bats git bash && cd /workdir && bats /workdir/tests" | ||||||
|  |  | ||||||
|  | test_local: | ||||||
|  | 	bats tests | ||||||
|  |  | ||||||
| shellcheck: | shellcheck: | ||||||
| 	@docker run \ | 	@docker run \ | ||||||
| 		-it \ | 		-it \ | ||||||
|  | |||||||
| @ -9,7 +9,7 @@ teardown() { | |||||||
|     rm -rf "$ABRA_DIR" |     rm -rf "$ABRA_DIR" | ||||||
| } | } | ||||||
|  |  | ||||||
| @test "abra server add/rm works" { | @test "abra server (add|rm)" { | ||||||
|     ./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_DIR/servers/swarm.test.com ] |     [ -d $ABRA_DIR/servers/swarm.test.com ] | ||||||
| @ -20,7 +20,11 @@ teardown() { | |||||||
|     ./abra server swarm.test.com rm |     ./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 |     ./abra app new --server default --domain traefik.test.com --app-name traefik_test_com traefik | ||||||
|     [ -f $ABRA_DIR/servers/default/traefik_test_com.env ] |     [ -f $ABRA_DIR/servers/default/traefik_test_com.env ] | ||||||
|  |  | ||||||
| @ -35,7 +39,6 @@ teardown() { | |||||||
| } | } | ||||||
|  |  | ||||||
| @test "abra app <domain> secret (insert|generate|rm)" { | @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 new --server default --domain traefik_test_com --app-name traefik_test_com traefik | ||||||
|  |  | ||||||
|     ./abra app traefik_test_com secret insert foobar v1 "foobar" |     ./abra app traefik_test_com secret insert foobar v1 "foobar" | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user