github.com/toplink-cn/moby@v0.0.0-20240305205811-460b4aebdf81/daemon/volumes_unit_test.go (about) 1 package daemon // import "github.com/docker/docker/daemon" 2 3 import ( 4 "testing" 5 6 volumemounts "github.com/docker/docker/volume/mounts" 7 ) 8 9 func TestParseVolumesFrom(t *testing.T) { 10 cases := []struct { 11 spec string 12 expID string 13 expMode string 14 fail bool 15 }{ 16 {"", "", "", true}, 17 {"foobar", "foobar", "rw", false}, 18 {"foobar:rw", "foobar", "rw", false}, 19 {"foobar:ro", "foobar", "ro", false}, 20 {"foobar:baz", "", "", true}, 21 } 22 23 parser := volumemounts.NewParser() 24 25 for _, c := range cases { 26 id, mode, err := parser.ParseVolumesFrom(c.spec) 27 if c.fail { 28 if err == nil { 29 t.Fatalf("Expected error, was nil, for spec %s\n", c.spec) 30 } 31 continue 32 } 33 34 if id != c.expID { 35 t.Fatalf("Expected id %s, was %s, for spec %s\n", c.expID, id, c.spec) 36 } 37 if mode != c.expMode { 38 t.Fatalf("Expected mode %s, was %s for spec %s\n", c.expMode, mode, c.spec) 39 } 40 } 41 }