mirror of https://github.com/docker/cli.git
93 lines
2.5 KiB
Go
93 lines
2.5 KiB
Go
package registry
|
|
|
|
import (
|
|
"testing"
|
|
|
|
cerrdefs "github.com/containerd/errdefs"
|
|
"gotest.tools/v3/assert"
|
|
)
|
|
|
|
func TestLoadInsecureRegistries(t *testing.T) {
|
|
testCases := []struct {
|
|
registries []string
|
|
index string
|
|
err string
|
|
}{
|
|
{
|
|
registries: []string{"127.0.0.1"},
|
|
index: "127.0.0.1",
|
|
},
|
|
{
|
|
registries: []string{"127.0.0.1:8080"},
|
|
index: "127.0.0.1:8080",
|
|
},
|
|
{
|
|
registries: []string{"2001:db8::1"},
|
|
index: "2001:db8::1",
|
|
},
|
|
{
|
|
registries: []string{"[2001:db8::1]:80"},
|
|
index: "[2001:db8::1]:80",
|
|
},
|
|
{
|
|
registries: []string{"http://myregistry.example.com"},
|
|
index: "myregistry.example.com",
|
|
},
|
|
{
|
|
registries: []string{"https://myregistry.example.com"},
|
|
index: "myregistry.example.com",
|
|
},
|
|
{
|
|
registries: []string{"HTTP://myregistry.example.com"},
|
|
index: "myregistry.example.com",
|
|
},
|
|
{
|
|
registries: []string{"svn://myregistry.example.com"},
|
|
err: "insecure registry svn://myregistry.example.com should not contain '://'",
|
|
},
|
|
{
|
|
registries: []string{`mytest-.com`},
|
|
err: `insecure registry mytest-.com is not valid: invalid host "mytest-.com"`,
|
|
},
|
|
{
|
|
registries: []string{`1200:0000:AB00:1234:0000:2552:7777:1313:8080`},
|
|
err: `insecure registry 1200:0000:AB00:1234:0000:2552:7777:1313:8080 is not valid: invalid host "1200:0000:AB00:1234:0000:2552:7777:1313:8080"`,
|
|
},
|
|
{
|
|
registries: []string{`myregistry.example.com:500000`},
|
|
err: `insecure registry myregistry.example.com:500000 is not valid: invalid port "500000"`,
|
|
},
|
|
{
|
|
registries: []string{`"myregistry.example.com"`},
|
|
err: `insecure registry "myregistry.example.com" is not valid: invalid host "\"myregistry.example.com\""`,
|
|
},
|
|
{
|
|
registries: []string{`"myregistry.example.com:5000"`},
|
|
err: `insecure registry "myregistry.example.com:5000" is not valid: invalid host "\"myregistry.example.com"`,
|
|
},
|
|
}
|
|
for _, testCase := range testCases {
|
|
config, err := newServiceConfig(testCase.registries)
|
|
if testCase.err == "" {
|
|
if err != nil {
|
|
t.Fatalf("expect no error, got '%s'", err)
|
|
}
|
|
match := false
|
|
for index := range config.indexConfigs {
|
|
if index == testCase.index {
|
|
match = true
|
|
}
|
|
}
|
|
if !match {
|
|
t.Fatalf("expect index configs to contain '%s', got %+v", testCase.index, config.indexConfigs)
|
|
}
|
|
} else {
|
|
if err == nil {
|
|
t.Fatalf("expect error '%s', got no error", testCase.err)
|
|
}
|
|
assert.ErrorContains(t, err, testCase.err)
|
|
assert.Check(t, cerrdefs.IsInvalidArgument(err))
|
|
}
|
|
}
|
|
}
|