github.com/rita33cool1/iot-system-gateway@v0.0.0-20200911033302-e65bde238cc5/docker-engine/integration/image/commit_test.go (about) 1 package image // import "github.com/docker/docker/integration/image" 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/docker/docker/api/types" 8 "github.com/docker/docker/integration/internal/container" 9 "github.com/docker/docker/integration/internal/request" 10 "github.com/gotestyourself/gotestyourself/assert" 11 is "github.com/gotestyourself/gotestyourself/assert/cmp" 12 ) 13 14 func TestCommitInheritsEnv(t *testing.T) { 15 defer setupTest(t)() 16 client := request.NewAPIClient(t) 17 ctx := context.Background() 18 19 cID1 := container.Create(t, ctx, client) 20 21 commitResp1, err := client.ContainerCommit(ctx, cID1, types.ContainerCommitOptions{ 22 Changes: []string{"ENV PATH=/bin"}, 23 Reference: "test-commit-image", 24 }) 25 assert.NilError(t, err) 26 27 image1, _, err := client.ImageInspectWithRaw(ctx, commitResp1.ID) 28 assert.NilError(t, err) 29 30 expectedEnv1 := []string{"PATH=/bin"} 31 assert.Check(t, is.DeepEqual(expectedEnv1, image1.Config.Env)) 32 33 cID2 := container.Create(t, ctx, client, container.WithImage(image1.ID)) 34 35 commitResp2, err := client.ContainerCommit(ctx, cID2, types.ContainerCommitOptions{ 36 Changes: []string{"ENV PATH=/usr/bin:$PATH"}, 37 Reference: "test-commit-image", 38 }) 39 assert.NilError(t, err) 40 41 image2, _, err := client.ImageInspectWithRaw(ctx, commitResp2.ID) 42 assert.NilError(t, err) 43 expectedEnv2 := []string{"PATH=/usr/bin:/bin"} 44 assert.Check(t, is.DeepEqual(expectedEnv2, image2.Config.Env)) 45 }