mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #36241 from yongtang/02072018-create-tests
Migrate TestCreateTmpfsMountsTarget test to api test
This commit is contained in:
commit
15001f83bd
2 changed files with 45 additions and 43 deletions
|
@ -1,43 +0,0 @@
|
|||
// +build !windows
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/go-check/check"
|
||||
)
|
||||
|
||||
// Test case for #30166 (target was not validated)
|
||||
func (s *DockerSuite) TestCreateTmpfsMountsTarget(c *check.C) {
|
||||
testRequires(c, DaemonIsLinux)
|
||||
type testCase struct {
|
||||
target string
|
||||
expectedError string
|
||||
}
|
||||
cases := []testCase{
|
||||
{
|
||||
target: ".",
|
||||
expectedError: "mount path must be absolute",
|
||||
},
|
||||
{
|
||||
target: "foo",
|
||||
expectedError: "mount path must be absolute",
|
||||
},
|
||||
{
|
||||
target: "/",
|
||||
expectedError: "destination can't be '/'",
|
||||
},
|
||||
{
|
||||
target: "//",
|
||||
expectedError: "destination can't be '/'",
|
||||
},
|
||||
}
|
||||
for _, x := range cases {
|
||||
out, _, _ := dockerCmdWithError("create", "--tmpfs", x.target, "busybox", "sh")
|
||||
if x.expectedError != "" && !strings.Contains(out, x.expectedError) {
|
||||
c.Fatalf("mounting tmpfs over %q should fail with %q, but got %q",
|
||||
x.target, x.expectedError, out)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,6 +9,7 @@ import (
|
|||
"github.com/docker/docker/api/types/network"
|
||||
"github.com/docker/docker/integration/util/request"
|
||||
"github.com/docker/docker/internal/testutil"
|
||||
"github.com/gotestyourself/gotestyourself/skip"
|
||||
)
|
||||
|
||||
func TestCreateFailsWhenIdentifierDoesNotExist(t *testing.T) {
|
||||
|
@ -91,3 +92,47 @@ func TestCreateWithInvalidEnv(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
// Test case for #30166 (target was not validated)
|
||||
func TestCreateTmpfsMountsTarget(t *testing.T) {
|
||||
skip.If(t, testEnv.DaemonInfo.OSType != "linux")
|
||||
|
||||
defer setupTest(t)()
|
||||
client := request.NewAPIClient(t)
|
||||
|
||||
testCases := []struct {
|
||||
target string
|
||||
expectedError string
|
||||
}{
|
||||
{
|
||||
target: ".",
|
||||
expectedError: "mount path must be absolute",
|
||||
},
|
||||
{
|
||||
target: "foo",
|
||||
expectedError: "mount path must be absolute",
|
||||
},
|
||||
{
|
||||
target: "/",
|
||||
expectedError: "destination can't be '/'",
|
||||
},
|
||||
{
|
||||
target: "//",
|
||||
expectedError: "destination can't be '/'",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
_, err := client.ContainerCreate(context.Background(),
|
||||
&container.Config{
|
||||
Image: "busybox",
|
||||
},
|
||||
&container.HostConfig{
|
||||
Tmpfs: map[string]string{tc.target: ""},
|
||||
},
|
||||
&network.NetworkingConfig{},
|
||||
"",
|
||||
)
|
||||
testutil.ErrorContains(t, err, tc.expectedError)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue