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

Commit 5de2f94

Browse files
committed
[integration-test] add test case( merge #169,#192 )
1 parent 1001de4 commit 5de2f94

File tree

3 files changed

+159
-0
lines changed

3 files changed

+159
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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) TestApiContainerStartNilHostconfig(c *check.C) {
11+
printTestCaseName()
12+
defer printTestDuration(time.Now())
13+
testRequires(c, DaemonIsLinux)
14+
name := "testing"
15+
config := map[string]interface{}{
16+
"Image": "busybox",
17+
}
18+
19+
_, _, err := sockRequest("POST", "/containers/create?name="+name, config)
20+
c.Assert(err, checker.IsNil)
21+
22+
config = map[string]interface{}{}
23+
_, _, err = sockRequest("POST", "/containers/"+name+"/start", config)
24+
c.Assert(err, checker.IsNil)
25+
}

integration-cli/hyper_cli_run_test.go

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1540,3 +1540,67 @@ func (s *DockerSuite) TestCliRunNamedVolumeNotRemoved(c *check.C) {
15401540
out, _ = dockerCmd(c, "volume", "ls", "-q")
15411541
c.Assert(strings.TrimSpace(out), checker.Equals, "test")
15421542
}
1543+
1544+
func (s *DockerSuite) TestRunProtectionContainer(c *check.C) {
1545+
printTestCaseName()
1546+
defer printTestDuration(time.Now())
1547+
pullImageIfNotExist("busybox")
1548+
out, _ := dockerCmd(c, "run", "--protection=true", "-d", "busybox", "top")
1549+
id := strings.TrimSpace(out)
1550+
1551+
out = inspectField(c, id, "Config.Labels")
1552+
c.Assert(out, checker.Contains, "sh_hyper_container_protection")
1553+
1554+
_, exitcode, _ := dockerCmdWithError("rm", "-f", id)
1555+
if exitcode == 0 {
1556+
c.Fatalf("expected non-zero exit code; received %d", exitcode)
1557+
}
1558+
1559+
dockerCmd(c, "update", "--protection=false", id)
1560+
1561+
out = inspectField(c, id, "Config.Labels")
1562+
c.Assert(out, checker.Not(checker.Contains), "sh_hyper_container_protection")
1563+
1564+
dockerCmd(c, "rm", "-f", id)
1565+
1566+
out, err := getAllContainers()
1567+
if err != nil {
1568+
c.Fatal(out, err)
1569+
}
1570+
1571+
if out != "" {
1572+
c.Fatal("Expected not to have containers", out)
1573+
}
1574+
}
1575+
1576+
func (s *DockerSuite) TestCreateProtectionContainer(c *check.C) {
1577+
printTestCaseName()
1578+
defer printTestDuration(time.Now())
1579+
pullImageIfNotExist("busybox")
1580+
out, _ := dockerCmd(c, "create", "--protection=true", "busybox", "top")
1581+
id := strings.TrimSpace(out)
1582+
1583+
out = inspectField(c, id, "Config.Labels")
1584+
c.Assert(out, checker.Contains, "sh_hyper_container_protection")
1585+
1586+
_, exitcode, _ := dockerCmdWithError("rm", id)
1587+
if exitcode == 0 {
1588+
c.Fatalf("expected non-zero exit code; received %d", exitcode)
1589+
}
1590+
1591+
dockerCmd(c, "update", "--protection=false", id)
1592+
1593+
out = inspectField(c, id, "Config.Labels")
1594+
c.Assert(out, checker.Not(checker.Contains), "sh_hyper_container_protection")
1595+
1596+
dockerCmd(c, "rm", "-f", id)
1597+
1598+
out, err := getAllContainers()
1599+
if err != nil {
1600+
c.Fatal(out, err)
1601+
}
1602+
1603+
if out != "" {
1604+
c.Fatal("Expected not to have containers", out)
1605+
}
1606+
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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) TestCliShareVolumeNamedVolume(c *check.C) {
11+
printTestCaseName()
12+
defer printTestDuration(time.Now())
13+
volName := "testvolume"
14+
_, err := dockerCmd(c, "run", "-d", "--name=volserver", "-v", volName+":/data", "hyperhq/nfs-server")
15+
c.Assert(err, checker.Equals, 0)
16+
_, err = dockerCmd(c, "run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox")
17+
c.Assert(err, checker.Equals, 0)
18+
_, err = dockerCmd(c, "exec", "volclient", "ls", "/data")
19+
c.Assert(err, checker.Equals, 0)
20+
}
21+
22+
func (s *DockerSuite) TestCliShareVolumeImplicitVolume(c *check.C) {
23+
printTestCaseName()
24+
defer printTestDuration(time.Now())
25+
_, err := dockerCmd(c, "run", "-d", "--name=volserver", "-v", "/data", "hyperhq/nfs-server")
26+
c.Assert(err, checker.Equals, 0)
27+
_, err = dockerCmd(c, "run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox")
28+
c.Assert(err, checker.Equals, 0)
29+
_, err = dockerCmd(c, "exec", "volclient", "ls", "/data")
30+
c.Assert(err, checker.Equals, 0)
31+
}
32+
33+
func (s *DockerSuite) TestCliShareVolumePopulatedVolume(c *check.C) {
34+
printTestCaseName()
35+
defer printTestDuration(time.Now())
36+
_, err := dockerCmd(c, "run", "-d", "--name=volserver", "-v", "https://github.com/hyperhq/hypercli.git:/data", "hyperhq/nfs-server")
37+
c.Assert(err, checker.Equals, 0)
38+
_, err = dockerCmd(c, "run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox")
39+
c.Assert(err, checker.Equals, 0)
40+
out, err := dockerCmd(c, "exec", "volclient", "ls", "/data")
41+
c.Assert(err, checker.Equals, 0)
42+
c.Assert(out, checker.Contains, "Dockerfile")
43+
}
44+
45+
func (s *DockerSuite) TestCliShareVolumeBadSource(c *check.C) {
46+
printTestCaseName()
47+
defer printTestDuration(time.Now())
48+
_, err := dockerCmd(c, "run", "-d", "--name=volserver", "-v", "/data", "busybox")
49+
c.Assert(err, checker.Equals, 0)
50+
_, _, failErr := dockerCmdWithError("run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox")
51+
c.Assert(failErr, checker.NotNil)
52+
}
53+
54+
func (s *DockerSuite) TestCliShareVolumeNoSource(c *check.C) {
55+
printTestCaseName()
56+
defer printTestDuration(time.Now())
57+
_, _, err := dockerCmdWithError("run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox")
58+
c.Assert(err, checker.NotNil)
59+
}
60+
61+
func (s *DockerSuite) TestCliShareVolumeNoVolume(c *check.C) {
62+
printTestCaseName()
63+
defer printTestDuration(time.Now())
64+
_, err := dockerCmd(c, "run", "-d", "--name=volserver", "hyperhq/nfs-server")
65+
c.Assert(err, checker.Equals, 0)
66+
_, err = dockerCmd(c, "run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox")
67+
c.Assert(err, checker.Equals, 0)
68+
_, _, failErr := dockerCmdWithError("exec", "volclient", "ls", "/data")
69+
c.Assert(failErr, checker.NotNil)
70+
}

0 commit comments

Comments
 (0)