From 14a2662b249f64df029db26b1d3f50a398329773 Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Sat, 21 Jan 2017 07:48:09 +0000 Subject: [PATCH 1/2] add test for nil hostconfig Signed-off-by: Peng Tao --- .../api/hyper_api_nil_hostconfig_test.go | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 integration-cli/future/api/hyper_api_nil_hostconfig_test.go diff --git a/integration-cli/future/api/hyper_api_nil_hostconfig_test.go b/integration-cli/future/api/hyper_api_nil_hostconfig_test.go new file mode 100644 index 000000000..02ea8a586 --- /dev/null +++ b/integration-cli/future/api/hyper_api_nil_hostconfig_test.go @@ -0,0 +1,25 @@ +package main + +import ( + "time" + + "github.com/docker/docker/pkg/integration/checker" + "github.com/go-check/check" +) + +func (s *DockerSuite) TestContainerApiStartNilHostconfig(c *check.C) { + printTestCaseName() + defer printTestDuration(time.Now()) + testRequires(c, DaemonIsLinux) + name := "testing" + config := map[string]interface{}{ + "Image": "busybox", + } + + _, _, err := sockRequest("POST", "/containers/create?name="+name, config) + c.Assert(err, checker.IsNil) + + config = map[string]interface{}{} + _, _, err = sockRequest("POST", "/containers/"+name+"/start", config) + c.Assert(err, checker.IsNil) +} From a422de207a2ed6d3fe73af13b8c281b9a6a33ecd Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Sat, 21 Jan 2017 07:48:35 +0000 Subject: [PATCH 2/2] add test for share volumes Signed-off-by: Peng Tao --- .../future/cli/hyper_cli_share_volume_test.go | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 integration-cli/future/cli/hyper_cli_share_volume_test.go diff --git a/integration-cli/future/cli/hyper_cli_share_volume_test.go b/integration-cli/future/cli/hyper_cli_share_volume_test.go new file mode 100644 index 000000000..59245e771 --- /dev/null +++ b/integration-cli/future/cli/hyper_cli_share_volume_test.go @@ -0,0 +1,70 @@ +package main + +import ( + "time" + + "github.com/docker/docker/pkg/integration/checker" + "github.com/go-check/check" +) + +func (s *DockerSuite) TestShareNamedVolume(c *check.C) { + printTestCaseName() + defer printTestDuration(time.Now()) + volName := "testvolume" + _, err := dockerCmd(c, "run", "-d", "--name=volserver", "-v", volName+":/data", "hyperhq/nfs-server") + c.Assert(err, checker.Equals, 0) + _, err = dockerCmd(c, "run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox") + c.Assert(err, checker.Equals, 0) + _, err = dockerCmd(c, "exec", "volclient", "ls", "/data") + c.Assert(err, checker.Equals, 0) +} + +func (s *DockerSuite) TestShareImplicitVolume(c *check.C) { + printTestCaseName() + defer printTestDuration(time.Now()) + _, err := dockerCmd(c, "run", "-d", "--name=volserver", "-v", "/data", "hyperhq/nfs-server") + c.Assert(err, checker.Equals, 0) + _, err = dockerCmd(c, "run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox") + c.Assert(err, checker.Equals, 0) + _, err = dockerCmd(c, "exec", "volclient", "ls", "/data") + c.Assert(err, checker.Equals, 0) +} + +func (s *DockerSuite) TestSharePopulatedVolume(c *check.C) { + printTestCaseName() + defer printTestDuration(time.Now()) + _, err := dockerCmd(c, "run", "-d", "--name=volserver", "-v", "https://github.com/hyperhq/hypercli.git:/data", "hyperhq/nfs-server") + c.Assert(err, checker.Equals, 0) + _, err = dockerCmd(c, "run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox") + c.Assert(err, checker.Equals, 0) + out, err := dockerCmd(c, "exec", "volclient", "ls", "/data") + c.Assert(err, checker.Equals, 0) + c.Assert(out, checker.Contains, "Dockerfile") +} + +func (s *DockerSuite) TestShareVolumeBadSource(c *check.C) { + printTestCaseName() + defer printTestDuration(time.Now()) + _, err := dockerCmd(c, "run", "-d", "--name=volserver", "-v", "/data", "busybox") + c.Assert(err, checker.Equals, 0) + _, _, failErr := dockerCmdWithError("run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox") + c.Assert(failErr, checker.NotNil) +} + +func (s *DockerSuite) TestShareVolumeNoSource(c *check.C) { + printTestCaseName() + defer printTestDuration(time.Now()) + _, _, err := dockerCmdWithError("run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox") + c.Assert(err, checker.NotNil) +} + +func (s *DockerSuite) TestShareNoVolume(c *check.C) { + printTestCaseName() + defer printTestDuration(time.Now()) + _, err := dockerCmd(c, "run", "-d", "--name=volserver", "hyperhq/nfs-server") + c.Assert(err, checker.Equals, 0) + _, err = dockerCmd(c, "run", "-d", "--name=volclient", "--volumes-from", "volserver", "busybox") + c.Assert(err, checker.Equals, 0) + _, _, failErr := dockerCmdWithError("exec", "volclient", "ls", "/data") + c.Assert(failErr, checker.NotNil) +}