Merge pull request #2132 from dmcgowan/split-hostname-test
Add tests for splithostname on normalized values
This commit is contained in:
commit
31a522977e
1 changed files with 68 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
||||||
package reference
|
package reference
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/docker/distribution/digestset"
|
"github.com/docker/distribution/digestset"
|
||||||
|
@ -435,3 +436,70 @@ func TestParseAnyReference(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNormalizedSplitHostname(t *testing.T) {
|
||||||
|
testcases := []struct {
|
||||||
|
input string
|
||||||
|
domain string
|
||||||
|
name string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
input: "test.com/foo",
|
||||||
|
domain: "test.com",
|
||||||
|
name: "foo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: "test_com/foo",
|
||||||
|
domain: "docker.io",
|
||||||
|
name: "test_com/foo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: "docker/migrator",
|
||||||
|
domain: "docker.io",
|
||||||
|
name: "docker/migrator",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: "test.com:8080/foo",
|
||||||
|
domain: "test.com:8080",
|
||||||
|
name: "foo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: "test-com:8080/foo",
|
||||||
|
domain: "test-com:8080",
|
||||||
|
name: "foo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: "foo",
|
||||||
|
domain: "docker.io",
|
||||||
|
name: "library/foo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: "xn--n3h.com/foo",
|
||||||
|
domain: "xn--n3h.com",
|
||||||
|
name: "foo",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: "xn--n3h.com:18080/foo",
|
||||||
|
domain: "xn--n3h.com:18080",
|
||||||
|
name: "foo",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, testcase := range testcases {
|
||||||
|
failf := func(format string, v ...interface{}) {
|
||||||
|
t.Logf(strconv.Quote(testcase.input)+": "+format, v...)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
named, err := ParseNormalizedNamed(testcase.input)
|
||||||
|
if err != nil {
|
||||||
|
failf("error parsing name: %s", err)
|
||||||
|
}
|
||||||
|
domain, name := SplitHostname(named)
|
||||||
|
if domain != testcase.domain {
|
||||||
|
failf("unexpected domain: got %q, expected %q", domain, testcase.domain)
|
||||||
|
}
|
||||||
|
if name != testcase.name {
|
||||||
|
failf("unexpected name: got %q, expected %q", name, testcase.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue