github.com/fntlnz/docker@v1.9.0-rc3/runconfig/config_test.go (about) 1 package runconfig 2 3 import ( 4 "bytes" 5 "fmt" 6 "io/ioutil" 7 "testing" 8 9 "github.com/docker/docker/pkg/stringutils" 10 ) 11 12 func TestDecodeContainerConfig(t *testing.T) { 13 fixtures := []struct { 14 file string 15 entrypoint *stringutils.StrSlice 16 }{ 17 {"fixtures/container_config_1_14.json", stringutils.NewStrSlice()}, 18 {"fixtures/container_config_1_17.json", stringutils.NewStrSlice("bash")}, 19 {"fixtures/container_config_1_19.json", stringutils.NewStrSlice("bash")}, 20 } 21 22 for _, f := range fixtures { 23 b, err := ioutil.ReadFile(f.file) 24 if err != nil { 25 t.Fatal(err) 26 } 27 28 c, h, err := DecodeContainerConfig(bytes.NewReader(b)) 29 if err != nil { 30 t.Fatal(fmt.Errorf("Error parsing %s: %v", f, err)) 31 } 32 33 if c.Image != "ubuntu" { 34 t.Fatalf("Expected ubuntu image, found %s\n", c.Image) 35 } 36 37 if c.Entrypoint.Len() != f.entrypoint.Len() { 38 t.Fatalf("Expected %v, found %v\n", f.entrypoint, c.Entrypoint) 39 } 40 41 if h.Memory != 1000 { 42 t.Fatalf("Expected memory to be 1000, found %d\n", h.Memory) 43 } 44 } 45 }