|
@@ -317,3 +317,64 @@ func TestNewServiceConfig(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func TestValidateIndexName(t *testing.T) {
|
|
|
+ valid := []struct {
|
|
|
+ index string
|
|
|
+ expect string
|
|
|
+ }{
|
|
|
+ {
|
|
|
+ index: "index.docker.io",
|
|
|
+ expect: "docker.io",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ index: "example.com",
|
|
|
+ expect: "example.com",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ index: "127.0.0.1:8080",
|
|
|
+ expect: "127.0.0.1:8080",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ index: "mytest-1.com",
|
|
|
+ expect: "mytest-1.com",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ index: "mirror-1.com/v1/?q=foo",
|
|
|
+ expect: "mirror-1.com/v1/?q=foo",
|
|
|
+ },
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, testCase := range valid {
|
|
|
+ result, err := ValidateIndexName(testCase.index)
|
|
|
+ if assert.NoError(t, err) {
|
|
|
+ assert.Equal(t, testCase.expect, result)
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func TestValidateIndexNameWithError(t *testing.T) {
|
|
|
+ invalid := []struct {
|
|
|
+ index string
|
|
|
+ err string
|
|
|
+ }{
|
|
|
+ {
|
|
|
+ index: "docker.io-",
|
|
|
+ err: "invalid index name (docker.io-). Cannot begin or end with a hyphen",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ index: "-example.com",
|
|
|
+ err: "invalid index name (-example.com). Cannot begin or end with a hyphen",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ index: "mirror-1.com/v1/?q=foo-",
|
|
|
+ err: "invalid index name (mirror-1.com/v1/?q=foo-). Cannot begin or end with a hyphen",
|
|
|
+ },
|
|
|
+ }
|
|
|
+ for _, testCase := range invalid {
|
|
|
+ _, err := ValidateIndexName(testCase.index)
|
|
|
+ assert.EqualError(t, err, testCase.err)
|
|
|
+ }
|
|
|
+}
|