package daemon import ( "runtime" "testing" "github.com/docker/docker/volume" ) func TestParseVolumesFrom(t *testing.T) { cases := []struct { spec string expID string expMode string fail bool }{ {"", "", "", true}, {"foobar", "foobar", "rw", false}, {"foobar:rw", "foobar", "rw", false}, {"foobar:ro", "foobar", "ro", false}, {"foobar:baz", "", "", true}, } parser := volume.NewParser(runtime.GOOS) for _, c := range cases { id, mode, err := parser.ParseVolumesFrom(c.spec) if c.fail { if err == nil { t.Fatalf("Expected error, was nil, for spec %s\n", c.spec) } continue } if id != c.expID { t.Fatalf("Expected id %s, was %s, for spec %s\n", c.expID, id, c.spec) } if mode != c.expMode { t.Fatalf("Expected mode %s, was %s for spec %s\n", c.expMode, mode, c.spec) } } }