From c914abaf15634d8039927176dfc5ff3c765f30d0 Mon Sep 17 00:00:00 2001 From: Josh Hawn Date: Wed, 29 Jan 2014 16:49:42 -0800 Subject: [PATCH] Prevent Tests from creating users on Prod Index The integration tests had previously used the environment variable DOCKER_INDEX_URL but it was apparently removed several months ago. Change the integration auth tests to specify the ServerAddress field of the AuthConfig struct to use the staging deployment of the index. Docker-DCO-1.1-Signed-off-by: Josh Hawn (github: jlhawn) --- integration/auth_test.go | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/integration/auth_test.go b/integration/auth_test.go index 07559c01cf..c5bdabace2 100644 --- a/integration/auth_test.go +++ b/integration/auth_test.go @@ -3,6 +3,7 @@ package docker import ( "crypto/rand" "encoding/hex" + "fmt" "github.com/dotcloud/docker/auth" "os" "strings" @@ -17,7 +18,12 @@ import ( func TestLogin(t *testing.T) { os.Setenv("DOCKER_INDEX_URL", "https://indexstaging-docker.dotcloud.com") defer os.Setenv("DOCKER_INDEX_URL", "") - authConfig := &auth.AuthConfig{Username: "unittester", Password: "surlautrerivejetattendrai", Email: "noise+unittester@dotcloud.com"} + authConfig := &auth.AuthConfig{ + Username: "unittester", + Password: "surlautrerivejetattendrai", + Email: "noise+unittester@docker.com", + ServerAddress: "https://indexstaging-docker.dotcloud.com/v1/", + } status, err := auth.Login(authConfig, nil) if err != nil { t.Fatal(err) @@ -28,8 +34,6 @@ func TestLogin(t *testing.T) { } func TestCreateAccount(t *testing.T) { - os.Setenv("DOCKER_INDEX_URL", "https://indexstaging-docker.dotcloud.com") - defer os.Setenv("DOCKER_INDEX_URL", "") tokenBuffer := make([]byte, 16) _, err := rand.Read(tokenBuffer) if err != nil { @@ -37,13 +41,20 @@ func TestCreateAccount(t *testing.T) { } token := hex.EncodeToString(tokenBuffer)[:12] username := "ut" + token - authConfig := &auth.AuthConfig{Username: username, Password: "test42", Email: "docker-ut+" + token + "@example.com"} + authConfig := &auth.AuthConfig{ + Username: username, + Password: "test42", + Email: fmt.Sprintf("docker-ut+%s@example.com", token), + ServerAddress: "https://indexstaging-docker.dotcloud.com/v1/", + } status, err := auth.Login(authConfig, nil) if err != nil { t.Fatal(err) } - expectedStatus := "Account created. Please use the confirmation link we sent" + - " to your e-mail to activate it." + expectedStatus := fmt.Sprintf( + "Account created. Please see the documentation of the registry %s for instructions how to activate it.", + authConfig.ServerAddress, + ) if status != expectedStatus { t.Fatalf("Expected status: \"%s\", found \"%s\" instead.", expectedStatus, status) }