Tizen_4.0 base
[platform/upstream/docker-engine.git] / volume / volume_linux_test.go
1 // +build linux
2
3 package volume
4
5 import (
6         "strings"
7         "testing"
8
9         mounttypes "github.com/docker/docker/api/types/mount"
10 )
11
12 func TestConvertTmpfsOptions(t *testing.T) {
13         type testCase struct {
14                 opt                  mounttypes.TmpfsOptions
15                 readOnly             bool
16                 expectedSubstrings   []string
17                 unexpectedSubstrings []string
18         }
19         cases := []testCase{
20                 {
21                         opt:                  mounttypes.TmpfsOptions{SizeBytes: 1024 * 1024, Mode: 0700},
22                         readOnly:             false,
23                         expectedSubstrings:   []string{"size=1m", "mode=700"},
24                         unexpectedSubstrings: []string{"ro"},
25                 },
26                 {
27                         opt:                  mounttypes.TmpfsOptions{},
28                         readOnly:             true,
29                         expectedSubstrings:   []string{"ro"},
30                         unexpectedSubstrings: []string{},
31                 },
32         }
33         for _, c := range cases {
34                 data, err := ConvertTmpfsOptions(&c.opt, c.readOnly)
35                 if err != nil {
36                         t.Fatalf("could not convert %+v (readOnly: %v) to string: %v",
37                                 c.opt, c.readOnly, err)
38                 }
39                 t.Logf("data=%q", data)
40                 for _, s := range c.expectedSubstrings {
41                         if !strings.Contains(data, s) {
42                                 t.Fatalf("expected substring: %s, got %v (case=%+v)", s, data, c)
43                         }
44                 }
45                 for _, s := range c.unexpectedSubstrings {
46                         if strings.Contains(data, s) {
47                                 t.Fatalf("unexpected substring: %s, got %v (case=%+v)", s, data, c)
48                         }
49                 }
50         }
51 }