volumes_unit_test.go 892 B

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