Skip to content
This repository was archived by the owner on Feb 8, 2021. It is now read-only.

Commit e810e99

Browse files
authored
Merge pull request #157 from bergwolf/populate-test
add volume populate tests
2 parents 9aacbf9 + 4157ac8 commit e810e99

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
package main
2+
3+
import (
4+
"time"
5+
6+
"github.com/docker/docker/pkg/integration/checker"
7+
"github.com/go-check/check"
8+
)
9+
10+
func (s *DockerSuite) TestPopulateImplicitVolume(c *check.C) {
11+
printTestCaseName()
12+
defer printTestDuration(time.Now())
13+
volName := "testvolume"
14+
_, err := dockerCmd(c, "run", "-d", "--name=voltest", "-v", volName+":/etc", "busybox")
15+
c.Assert(err, checker.Equals, 0)
16+
out, err := dockerCmd(c, "exec", "voltest", "ls", "/etc")
17+
c.Assert(err, checker.Equals, 0)
18+
c.Assert(out, checker.Contains, "passwd")
19+
dockerCmd(c, "rm", "-fv", "voltest")
20+
}
21+
22+
func (s *DockerSuite) TestPopulateNamedVolume(c *check.C) {
23+
printTestCaseName()
24+
defer printTestDuration(time.Now())
25+
volName := "testvolume"
26+
_, err := dockerCmd(c, "volume", "create", "--name", volName)
27+
c.Assert(err, checker.Equals, 0)
28+
_, err = dockerCmd(c, "run", "-d", "--name=voltest", "-v", volName+":/etc", "busybox")
29+
c.Assert(err, checker.Equals, 0)
30+
out, err := dockerCmd(c, "exec", "voltest", "ls", "/etc")
31+
c.Assert(err, checker.Equals, 0)
32+
c.Assert(out, checker.Contains, "passwd")
33+
dockerCmd(c, "rm", "-fv", "voltest")
34+
}
35+
36+
func (s *DockerSuite) TestPopulateMultiMountImplicitVolume(c *check.C) {
37+
printTestCaseName()
38+
defer printTestDuration(time.Now())
39+
volName := "testvolume"
40+
_, err := dockerCmd(c, "run", "-d", "--name=voltest", "-v", volName+":/lib/modules/", "-v", volName+":/tmp", "busybox")
41+
c.Assert(err, checker.Equals, 0)
42+
out, err := dockerCmd(c, "exec", "voltest", "ls", "/lib/modules")
43+
c.Assert(err, checker.Equals, 0)
44+
c.Assert(string(out), checker.HasLen, 0)
45+
dockerCmd(c, "rm", "-fv", "voltest")
46+
}
47+
48+
func (s *DockerSuite) TestPopulateMultiMountNamedVolume(c *check.C) {
49+
printTestCaseName()
50+
defer printTestDuration(time.Now())
51+
volName := "testvolume"
52+
_, err := dockerCmd(c, "volume", "create", "--name", volName)
53+
c.Assert(err, checker.Equals, 0)
54+
_, err = dockerCmd(c, "run", "-d", "--name=voltest", "-v", volName+":/lib/modules/", "-v", volName+":/tmp", "busybox")
55+
c.Assert(err, checker.Equals, 0)
56+
out, err := dockerCmd(c, "exec", "voltest", "ls", "/lib/modules")
57+
c.Assert(err, checker.Equals, 0)
58+
c.Assert(string(out), checker.HasLen, 0)
59+
dockerCmd(c, "rm", "-fv", "voltest")
60+
}
61+
62+
func (s *DockerSuite) TestPopulateImageVolume(c *check.C) {
63+
printTestCaseName()
64+
defer printTestDuration(time.Now())
65+
_, err := dockerCmd(c, "run", "-d", "--name=voltest", "--size=l1", "neo4j")
66+
c.Assert(err, checker.Equals, 0)
67+
out, err := dockerCmd(c, "exec", "voltest", "ls", "/data")
68+
c.Assert(err, checker.Equals, 0)
69+
c.Assert(string(out), checker.Contains, "databases")
70+
dockerCmd(c, "rm", "-fv", "voltest")
71+
}
72+
73+
func (s *DockerSuite) TestPopulateNamedImageVolume(c *check.C) {
74+
printTestCaseName()
75+
defer printTestDuration(time.Now())
76+
volName := "testvolume"
77+
_, err := dockerCmd(c, "run", "-d", "--name=voltest", "--size=l1", "-v", volName+":/data", "neo4j")
78+
c.Assert(err, checker.Equals, 0)
79+
out, err := dockerCmd(c, "exec", "voltest", "ls", "/data")
80+
c.Assert(err, checker.Equals, 0)
81+
c.Assert(string(out), checker.Contains, "databases")
82+
dockerCmd(c, "rm", "-fv", "voltest")
83+
}

0 commit comments

Comments
 (0)