Extend cli auth wrap test

This commit is contained in:
Bryce Lampe
2024-04-22 12:34:20 -07:00
parent d72c895b59
commit 0f23201468
2 changed files with 32 additions and 19 deletions

View File

@@ -43,6 +43,10 @@ func TestExec(t *testing.T) {
func TestWrappedAuth(t *testing.T) {
t.Parallel()
ecr := "https://1234.dkr.ecr.us-west-2.amazonaws.com"
realhost, err := newHost(nil)
require.NoError(t, err)
h := &host{
auths: map[string]types.AuthConfig{
ecr: {
@@ -50,7 +54,7 @@ func TestWrappedAuth(t *testing.T) {
Password: "host-aws-password",
ServerAddress: ecr,
},
"misc": {
"https://misc": { // Legacy config includes http/https scheme.
Username: "host-misc-user",
Password: "host-misc-password",
ServerAddress: "misc",
@@ -71,25 +75,34 @@ func TestWrappedAuth(t *testing.T) {
},
}
_, err = wrap(h, registries...)
require.NoError(t, err)
cli, err := wrap(h, registries...)
require.NoError(t, err)
require.Contains(t, cli.auths, ecr)
aws := cli.auths[ecr]
assert.Equal(t, "resource-aws-user", aws.Username)
assert.Equal(t, "resource-aws-password", aws.Password)
assert.Equal(t, "1234.dkr.ecr.us-west-2.amazonaws.com", aws.ServerAddress)
expected := map[string]types.AuthConfig{
"1234.dkr.ecr.us-west-2.amazonaws.com": {
Username: "resource-aws-user",
Password: "resource-aws-password",
ServerAddress: "1234.dkr.ecr.us-west-2.amazonaws.com",
},
config.DockerRegistryAuth: {
Username: "resource-dockerhub-user",
Password: "resource-dockerhub-password",
ServerAddress: config.DockerRegistryAuth,
},
"misc": {
Username: "host-misc-user",
Password: "host-misc-password",
ServerAddress: "misc",
},
}
assert.Equal(t, expected, cli.auths)
assert.Len(t, h.auths, 2) // Host auth is unchanged.
require.Contains(t, cli.auths, config.DockerRegistryAuth)
dockerhub := cli.auths[config.DockerRegistryAuth]
assert.Equal(t, "resource-dockerhub-user", dockerhub.Username)
assert.Equal(t, "resource-dockerhub-password", dockerhub.Password)
assert.Equal(t, config.DockerRegistryDNS, dockerhub.ServerAddress)
// Auths derived from the host should be untouched, e.g. no scheme added, etc.
require.Contains(t, cli.auths, "misc")
misc := cli.auths["misc"]
assert.Equal(t, "host-misc-user", misc.Username)
assert.Equal(t, "host-misc-password", misc.Password)
assert.Equal(t, "misc", misc.ServerAddress)
// Assert that our host's auth is untouched.
realhostRefreshed, err := newHost(nil)
require.NoError(t, err)
assert.Equal(t, realhost.auths, realhostRefreshed.auths)
}

View File

@@ -323,7 +323,7 @@ func TestInspect(t *testing.T) {
t.Parallel()
cli := testcli(t, false)
descriptors, err := cli.Inspect(context.Background(), "pulumibot/myapp:buildx")
assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(
t,
"application/vnd.docker.distribution.manifest.v2+json",