#!/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" }