130 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
| #!/usr/bin/env bats
 | |
| 
 | |
| # This tests contacting a registry using a token server
 | |
| 
 | |
| load helpers
 | |
| 
 | |
| user="testuser"
 | |
| password="testpassword"
 | |
| base="hello-world"
 | |
| 
 | |
| @test "Test token server login" {
 | |
| 	login localregistry:5554
 | |
| }
 | |
| 
 | |
| @test "Test token server bad login" {
 | |
| 	docker_t_login -u "testuser" -p "badpassword" localregistry:5554
 | |
| 	[ "$status" -ne 0 ]
 | |
| 
 | |
| 	docker_t_login -u "baduser" -p "testpassword" localregistry:5554
 | |
| 	[ "$status" -ne 0 ]
 | |
| }
 | |
| 
 | |
| @test "Test push and pull with token auth" {
 | |
| 	login localregistry:5555
 | |
| 	image="localregistry:5555/testuser/token"
 | |
| 	build $image "$base:latest"
 | |
| 
 | |
| 	run docker_t push $image
 | |
| 	echo $output
 | |
| 	[ "$status" -eq 0 ]
 | |
| 
 | |
| 	docker_t rmi $image
 | |
| 
 | |
| 	docker_t pull $image
 | |
| }
 | |
| 
 | |
| @test "Test push and pull with token auth wrong namespace" {
 | |
| 	login localregistry:5555
 | |
| 	image="localregistry:5555/notuser/token"
 | |
| 	build $image "$base:latest"
 | |
| 
 | |
| 	run docker_t push $image
 | |
| 	[ "$status" -ne 0 ]
 | |
| }
 | |
| 
 | |
| @test "Test oauth token server login" {
 | |
| 	version_check docker "$GOLEM_DIND_VERSION" "1.11.0"
 | |
| 
 | |
| 	login_oauth localregistry:5557
 | |
| }
 | |
| 
 | |
| @test "Test oauth token server bad login" {
 | |
| 	version_check docker "$GOLEM_DIND_VERSION" "1.11.0"
 | |
| 
 | |
| 	docker_t_login -u "testuser" -p "badpassword" -e $email localregistry:5557
 | |
| 	[ "$status" -ne 0 ]
 | |
| 
 | |
| 	docker_t_login -u "baduser" -p "testpassword" -e $email localregistry:5557
 | |
| 	[ "$status" -ne 0 ]
 | |
| }
 | |
| 
 | |
| @test "Test oauth push and pull with token auth" {
 | |
| 	version_check docker "$GOLEM_DIND_VERSION" "1.11.0"
 | |
| 
 | |
| 	login_oauth localregistry:5558
 | |
| 	image="localregistry:5558/testuser/token"
 | |
| 	build $image "$base:latest"
 | |
| 
 | |
| 	run docker_t push $image
 | |
| 	echo $output
 | |
| 	[ "$status" -eq 0 ]
 | |
| 
 | |
| 	docker_t rmi $image
 | |
| 
 | |
| 	docker_t pull $image
 | |
| }
 | |
| 
 | |
| @test "Test oauth push and build with token auth" {
 | |
| 	version_check docker "$GOLEM_DIND_VERSION" "1.11.0"
 | |
| 
 | |
| 	login_oauth localregistry:5558
 | |
| 	image="localregistry:5558/testuser/token-build"
 | |
| 	tempImage $image
 | |
| 
 | |
| 	run docker_t push $image
 | |
| 	echo $output
 | |
| 	[ "$status" -eq 0 ]
 | |
| 	has_digest "$output"
 | |
| 
 | |
| 	docker_t rmi $image
 | |
| 
 | |
| 	image2="localregistry:5558/testuser/token-build-2"
 | |
| 	run build $image2 $image
 | |
| 	echo $output
 | |
| 	[ "$status" -eq 0 ]
 | |
| 
 | |
| 	run docker_t push $image2
 | |
| 	echo $output
 | |
| 	[ "$status" -eq 0 ]
 | |
| 	has_digest "$output"
 | |
| 
 | |
| }
 | |
| 
 | |
| @test "Test oauth push and pull with token auth wrong namespace" {
 | |
| 	version_check docker "$GOLEM_DIND_VERSION" "1.11.0"
 | |
| 
 | |
| 	login_oauth localregistry:5558
 | |
| 	image="localregistry:5558/notuser/token"
 | |
| 	build $image "$base:latest"
 | |
| 
 | |
| 	run docker_t push $image
 | |
| 	[ "$status" -ne 0 ]
 | |
| }
 | |
| 
 | |
| @test "Test oauth with v1 search" {
 | |
| 	version_check docker "$GOLEM_DIND_VERSION" "1.12.0"
 | |
| 
 | |
| 	run docker_t search localregistry:5600/testsearch
 | |
| 	[ "$status" -ne 0 ]
 | |
| 
 | |
| 	login_oauth localregistry:5600
 | |
| 
 | |
| 	run docker_t search localregistry:5600/testsearch
 | |
| 	echo $output
 | |
| 	[ "$status" -eq 0 ]
 | |
| 
 | |
| 	echo $output | grep "testsearch-1"
 | |
| 	echo $output | grep "testsearch-2"
 | |
| }
 |