| package daemon |
| |
| import ( |
| "testing" |
| |
| "github.com/docker/docker/pkg/signal" |
| "github.com/docker/docker/runconfig" |
| ) |
| |
| func TestGetFullName(t *testing.T) { |
| name, err := GetFullContainerName("testing") |
| if err != nil { |
| t.Fatal(err) |
| } |
| if name != "/testing" { |
| t.Fatalf("Expected /testing got %s", name) |
| } |
| if _, err := GetFullContainerName(""); err == nil { |
| t.Fatal("Error should not be nil") |
| } |
| } |
| |
| func TestValidContainerNames(t *testing.T) { |
| invalidNames := []string{"-rm", "&sdfsfd", "safd%sd"} |
| validNames := []string{"word-word", "word_word", "1weoid"} |
| |
| for _, name := range invalidNames { |
| if validContainerNamePattern.MatchString(name) { |
| t.Fatalf("%q is not a valid container name and was returned as valid.", name) |
| } |
| } |
| |
| for _, name := range validNames { |
| if !validContainerNamePattern.MatchString(name) { |
| t.Fatalf("%q is a valid container name and was returned as invalid.", name) |
| } |
| } |
| } |
| |
| func TestContainerStopSignal(t *testing.T) { |
| c := &Container{ |
| CommonContainer: CommonContainer{ |
| Config: &runconfig.Config{}, |
| }, |
| } |
| |
| def, err := signal.ParseSignal(signal.DefaultStopSignal) |
| if err != nil { |
| t.Fatal(err) |
| } |
| |
| s := c.stopSignal() |
| if s != int(def) { |
| t.Fatalf("Expected %v, got %v", def, s) |
| } |
| |
| c = &Container{ |
| CommonContainer: CommonContainer{ |
| Config: &runconfig.Config{StopSignal: "SIGKILL"}, |
| }, |
| } |
| s = c.stopSignal() |
| if s != 9 { |
| t.Fatalf("Expected 9, got %v", s) |
| } |
| } |