draft-classic/pkg/builder/registry_test.go

34 строки
1.4 KiB
Go

package builder
import (
"reflect"
"testing"
)
func TestFromAuthConfigToken(t *testing.T) {
var authConfigTests = []struct {
input string
fail bool
expected *DockerConfigEntryWithAuth
}{
{"", true, nil},
{"badbase64input", true, nil},
{"e30K", false, &DockerConfigEntryWithAuth{}},
{"eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwicGFzc3dvcmQiOiJwYXNzd29yZCJ9Cg==", false, &DockerConfigEntryWithAuth{Username: "username", Password: "password"}},
{"eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwicGFzc3dvcmQiOiJwYXNzd29yZCIsImVtYWlsIjoiZW1haWwiLCJhdXRoIjoiYXV0aCJ9Cg==", false, &DockerConfigEntryWithAuth{Username: "username", Password: "password", Email: "email", Auth: "auth"}},
{"eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwicGFzc3dvcmQiOiJwYXNzd29yZCIsImVtYWlsIjoiZW1haWwiLCJhdXRoIjoiYXV0aCIsInNlcnZlcmFkZHJlc3MiOiJodHRwOi8vc2VydmVyYWRkcmVzcy5jb20ifQo=", false, &DockerConfigEntryWithAuth{Username: "username", Password: "password", Email: "email", Auth: "auth"}},
}
for _, tt := range authConfigTests {
actual, err := FromAuthConfigToken(tt.input)
if tt.fail && err == nil {
t.Errorf("FromAuthConfigToken(%s) was expected to fail", tt.input)
} else if !tt.fail && err != nil {
t.Errorf("FromAuthConfigToken(%s) was not expected to fail", tt.input)
}
if !reflect.DeepEqual(actual, tt.expected) {
t.Errorf("FromAuthConfigToken(%s): expected output differs from actual", tt.input)
}
}
}