2015-05-19 16:05:25 -04:00
|
|
|
package daemon
|
|
|
|
|
2015-09-09 22:23:06 -04:00
|
|
|
import (
|
2017-08-01 13:32:44 -04:00
|
|
|
"runtime"
|
2015-09-09 22:23:06 -04:00
|
|
|
"testing"
|
2015-12-16 10:35:35 -05:00
|
|
|
|
|
|
|
"github.com/docker/docker/volume"
|
2015-09-09 22:23:06 -04:00
|
|
|
)
|
2015-05-19 16:05:25 -04:00
|
|
|
|
2015-08-30 22:48:34 -04:00
|
|
|
func TestParseVolumesFrom(t *testing.T) {
|
2015-05-19 16:05:25 -04:00
|
|
|
cases := []struct {
|
|
|
|
spec string
|
2015-07-30 17:01:53 -04:00
|
|
|
expID string
|
2015-05-19 16:05:25 -04:00
|
|
|
expMode string
|
|
|
|
fail bool
|
|
|
|
}{
|
|
|
|
{"", "", "", true},
|
|
|
|
{"foobar", "foobar", "rw", false},
|
|
|
|
{"foobar:rw", "foobar", "rw", false},
|
|
|
|
{"foobar:ro", "foobar", "ro", false},
|
|
|
|
{"foobar:baz", "", "", true},
|
|
|
|
}
|
|
|
|
|
2017-08-01 13:32:44 -04:00
|
|
|
parser := volume.NewParser(runtime.GOOS)
|
|
|
|
|
2015-05-19 16:05:25 -04:00
|
|
|
for _, c := range cases {
|
2017-08-01 13:32:44 -04:00
|
|
|
id, mode, err := parser.ParseVolumesFrom(c.spec)
|
2015-05-19 16:05:25 -04:00
|
|
|
if c.fail {
|
|
|
|
if err == nil {
|
|
|
|
t.Fatalf("Expected error, was nil, for spec %s\n", c.spec)
|
|
|
|
}
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
|
2015-07-30 17:01:53 -04:00
|
|
|
if id != c.expID {
|
|
|
|
t.Fatalf("Expected id %s, was %s, for spec %s\n", c.expID, id, c.spec)
|
2015-05-19 16:05:25 -04:00
|
|
|
}
|
|
|
|
if mode != c.expMode {
|
|
|
|
t.Fatalf("Expected mode %s, was %s for spec %s\n", c.expMode, mode, c.spec)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|