MCPcopy Index your code
hub / github.com/docker/cli / TestRunBuildDockerfileFromStdinWithCompress

Function TestRunBuildDockerfileFromStdinWithCompress

cli/command/image/build_test.go:24–57  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

22)
23
24func TestRunBuildDockerfileFromStdinWithCompress(t *testing.T) {
25 t.Setenv("DOCKER_BUILDKIT", "0")
26 buffer := new(bytes.Buffer)
27 fakeBuild := newFakeBuild()
28 fakeImageBuild := func(ctx context.Context, buildContext io.Reader, options client.ImageBuildOptions) (client.ImageBuildResult, error) {
29 tee := io.TeeReader(buildContext, buffer)
30 gzipReader, err := gzip.NewReader(tee)
31 assert.NilError(t, err)
32 return fakeBuild.build(ctx, gzipReader, options)
33 }
34
35 cli := test.NewFakeCli(&fakeClient{imageBuildFunc: fakeImageBuild})
36 dockerfile := bytes.NewBufferString(`
37 FROM alpine:frozen
38 COPY foo /
39 `)
40 cli.SetIn(streams.NewIn(io.NopCloser(dockerfile)))
41
42 dir := fs.NewDir(t, t.Name(),
43 fs.WithFile("foo", "some content"))
44 defer dir.Remove()
45
46 options := newBuildOptions()
47 options.compress = true
48 options.dockerfileName = "-"
49 options.context = dir.Path()
50 assert.NilError(t, runBuild(context.TODO(), cli, options))
51
52 expected := []string{fakeBuild.options.Dockerfile, ".dockerignore", "foo"}
53 assert.DeepEqual(t, expected, fakeBuild.filenames(t))
54
55 header := buffer.Bytes()[:10]
56 assert.Equal(t, compression.Gzip, compression.Detect(header))
57}
58
59func TestRunBuildResetsUidAndGidInContext(t *testing.T) {
60 skip.If(t, os.Getuid() != 0, "root is required to chown files")

Callers

nothing calls this directly

Calls 10

SetInMethod · 0.95
newFakeBuildFunction · 0.85
newBuildOptionsFunction · 0.85
runBuildFunction · 0.85
filenamesMethod · 0.80
RemoveMethod · 0.65
PathMethod · 0.65
buildMethod · 0.45
NameMethod · 0.45
DetectMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…