From 04885c8ec8c51982761c3d97031100479f3a6a14 Mon Sep 17 00:00:00 2001 From: Aishwarya Lad <67022814+Aishwarya-Lad@users.noreply.github.com> Date: Wed, 1 May 2024 12:14:04 -0700 Subject: [PATCH] fix tests (#117) --- cmd/kaniko-acr/main_test.go | 19 +----- cmd/kaniko-docker/main_test.go | 104 +++++++++++++++++++++------------ pkg/docker/config_test.go | 17 ------ 3 files changed, 68 insertions(+), 72 deletions(-) diff --git a/cmd/kaniko-acr/main_test.go b/cmd/kaniko-acr/main_test.go index d2a0ae9..e8b62e0 100644 --- a/cmd/kaniko-acr/main_test.go +++ b/cmd/kaniko-acr/main_test.go @@ -13,7 +13,7 @@ import ( ) const ( - v2RegistryURL string = "https://index.docker.io/v2/" // v2 registry is not supported + v2RegistryURL string = "https://index.docker.io/v2/" // v2 registry is not supported ) func TestCreateDockerConfigWithBaseRegistry(t *testing.T) { @@ -100,22 +100,7 @@ func TestCreateDockerConfigWithBaseRegistry(t *testing.T) { Password: "", }, }, tempDir) - assert.NoError(t, err) - - // v2 registry but without username password - err = config.CreateDockerConfig([]docker.RegistryCredentials{ - { - Registry: registry, - Username: username, - Password: password, - }, - { - Registry: v2RegistryURL, - Username: "", - Password: "", - }, - }, tempDir) - assert.NoError(t, err) + assert.EqualError(t, err, "Username must be specified for registry: "+dockerRegistry) // private base registry without username/password err = config.CreateDockerConfig([]docker.RegistryCredentials{ diff --git a/cmd/kaniko-docker/main_test.go b/cmd/kaniko-docker/main_test.go index 4d2d142..66d33ae 100644 --- a/cmd/kaniko-docker/main_test.go +++ b/cmd/kaniko-docker/main_test.go @@ -1,6 +1,12 @@ package main -import "testing" +import ( + "io/ioutil" + "os" + "testing" + + "github.com/drone/drone-kaniko/pkg/docker" +) func Test_buildRepo(t *testing.T) { tests := []struct { @@ -36,58 +42,80 @@ func Test_buildRepo(t *testing.T) { } } -func TestCreateDockerConfigFromGivenRegistry(t *testing.T) { +func TestCreateDockerConfig(t *testing.T) { + config := docker.NewConfig() + tempDir, err := ioutil.TempDir("", "docker-config-test") + if err != nil { + t.Fatalf("Failed to create temporary directory: %v", err) + } + defer os.RemoveAll(tempDir) + tests := []struct { - name string - username string - password string - registry string - dockerUsername string - dockerPassword string - dockerRegistry string - wantErr bool + name string + credentials []docker.RegistryCredentials + wantErr bool }{ { - name: "valid credentials", - username: "testuser", - password: "testpassword", - registry: "https://index.docker.io/v1/", - wantErr: false, + name: "valid credentials", + credentials: []docker.RegistryCredentials{ + { + Registry: "https://index.docker.io/v1/", + Username: "testuser", + Password: "testpassword", + }, + }, + wantErr: false, }, { - name: "v2 registry", - username: "testuser", - password: "testpassword", - registry: "https://index.docker.io/v2/", - wantErr: false, + name: "v2 registry", + credentials: []docker.RegistryCredentials{ + { + Registry: "https://index.docker.io/v2/", + Username: "testuser", + Password: "testpassword", + }, + }, + wantErr: false, }, { - name: "docker registry credentials", - username: "testuser", - password: "testpassword", - registry: "https://index.docker.io/v1/", - dockerUsername: "dockeruser", - dockerPassword: "dockerpassword", - dockerRegistry: "https://docker.io", - wantErr: false, + name: "docker registry credentials", + credentials: []docker.RegistryCredentials{ + { + Registry: "https://index.docker.io/v1/", + Username: "testuser", + Password: "testpassword", + }, + { + Registry: "https://docker.io", + Username: "dockeruser", + Password: "dockerpassword", + }, + }, + wantErr: false, }, { - name: "empty docker registry", - username: "testuser", - password: "testpassword", - registry: "https://index.docker.io/v1/", - dockerUsername: "dockeruser", - dockerPassword: "", - dockerRegistry: "https://docker.io", - wantErr: false, + name: "empty docker registry", + credentials: []docker.RegistryCredentials{ + { + Registry: "https://index.docker.io/v1/", + Username: "testuser", + Password: "testpassword", + }, + { + Registry: "https://docker.io", + Username: "dockeruser", + Password: "", + }, + }, + wantErr: true, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := createDockerConfig(tt.username, tt.password, tt.registry, tt.dockerUsername, tt.dockerPassword, tt.dockerRegistry) + err := config.CreateDockerConfig(tt.credentials, tempDir) if (err != nil) != tt.wantErr { - t.Errorf("createDockerConfig() error = %v, wantErr %v", err, tt.wantErr) + t.Errorf("CreateDockerConfig() error = %v, wantErr %v", err, tt.wantErr) return } }) diff --git a/pkg/docker/config_test.go b/pkg/docker/config_test.go index c236bfa..a4a717f 100644 --- a/pkg/docker/config_test.go +++ b/pkg/docker/config_test.go @@ -53,20 +53,3 @@ func TestConfig(t *testing.T) { assert.Equal(t, c.Auths, configFromFile.Auths) assert.Equal(t, c.CredHelpers, configFromFile.CredHelpers) } - -func TestWriteDockerConfig(t *testing.T) { - tempDir, err := ioutil.TempDir("", "docker-config-test") - assert.NoError(t, err) - defer os.RemoveAll(tempDir) - - data := []byte(`{"auths":{"https://index.docker.io/v1/":{"auth":"dGVzdDpwYXNzd29yZA=="}}}`) - err = WriteDockerConfig(data, tempDir) - assert.NoError(t, err) - - configPath := filepath.Join(tempDir, "config.json") - _, err = os.Stat(configPath) - assert.NoError(t, err) - - err = WriteDockerConfig(data, "/invalid/path") - assert.Error(t, err) -}