mirror of https://github.com/docker/docs.git
Add container name validation test
This commit is contained in:
parent
3ec39ad01a
commit
c06ab5f9c2
|
@ -748,6 +748,54 @@ func TestRandomContainerName(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestContainerNameValidation(t *testing.T) {
|
||||||
|
eng := NewTestEngine(t)
|
||||||
|
runtime := mkRuntimeFromEngine(eng, t)
|
||||||
|
defer nuke(runtime)
|
||||||
|
|
||||||
|
for _, test := range []struct {
|
||||||
|
Name string
|
||||||
|
Valid bool
|
||||||
|
}{
|
||||||
|
{"abc-123_AAA.1", true},
|
||||||
|
{"\000asdf", false},
|
||||||
|
} {
|
||||||
|
config, _, _, err := docker.ParseRun([]string{unitTestImageID, "echo test"}, nil)
|
||||||
|
if err != nil {
|
||||||
|
if !test.Valid {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var shortID string
|
||||||
|
job := eng.Job("create", test.Name)
|
||||||
|
if err := job.ImportEnv(config); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
job.Stdout.AddString(&shortID)
|
||||||
|
if err := job.Run(); err != nil {
|
||||||
|
if !test.Valid {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
container := runtime.Get(shortID)
|
||||||
|
|
||||||
|
if container.Name != "/"+test.Name {
|
||||||
|
t.Fatalf("Expect /%s got %s", test.Name, container.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
if c := runtime.Get("/" + test.Name); c == nil {
|
||||||
|
t.Fatalf("Couldn't retrieve test container as /%s", test.Name)
|
||||||
|
} else if c.ID != container.ID {
|
||||||
|
t.Fatalf("Container /%s has ID %s instead of %s", test.Name, c.ID, container.ID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func TestLinkChildContainer(t *testing.T) {
|
func TestLinkChildContainer(t *testing.T) {
|
||||||
eng := NewTestEngine(t)
|
eng := NewTestEngine(t)
|
||||||
runtime := mkRuntimeFromEngine(eng, t)
|
runtime := mkRuntimeFromEngine(eng, t)
|
||||||
|
|
Loading…
Reference in New Issue