Browse code

Add tests related to hcsshim recycle bin skipping

Signed-off-by: John Stephens <johnstep@docker.com>

John Stephens authored on 2018/05/03 23:24:11
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,39 @@
0
+// +build windows
1
+
2
+package main
3
+
4
+import (
5
+	"net/http"
6
+
7
+	"github.com/docker/docker/integration-cli/checker"
8
+	"github.com/docker/docker/internal/test/fakecontext"
9
+	"github.com/docker/docker/internal/test/request"
10
+	"github.com/go-check/check"
11
+	"github.com/gotestyourself/gotestyourself/assert"
12
+	is "github.com/gotestyourself/gotestyourself/assert/cmp"
13
+)
14
+
15
+func (s *DockerSuite) TestBuildWithRecycleBin(c *check.C) {
16
+	testRequires(c, DaemonIsWindows)
17
+
18
+	dockerfile := "" +
19
+		"FROM " + testEnv.PlatformDefaults.BaseImage + "\n" +
20
+		"RUN md $REcycLE.biN && md missing\n" +
21
+		"RUN dir $Recycle.Bin && exit 1 || exit 0\n" +
22
+		"RUN dir missing\n"
23
+
24
+	ctx := fakecontext.New(c, "", fakecontext.WithDockerfile(dockerfile))
25
+	defer ctx.Close()
26
+
27
+	res, body, err := request.Post(
28
+		"/build",
29
+		request.RawContent(ctx.AsTarReader(c)),
30
+		request.ContentType("application/x-tar"))
31
+
32
+	c.Assert(err, checker.IsNil)
33
+	c.Assert(res.StatusCode, checker.Equals, http.StatusOK)
34
+
35
+	out, err := request.ReadBody(body)
36
+	assert.NilError(c, err)
37
+	assert.Check(c, is.Contains(string(out), "Successfully built"))
38
+}