github.com/rhatdan/docker@v0.7.7-0.20180119204836-47a0dcbcd20a/integration/image/commit_test.go (about) 1 package image 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/docker/docker/api/types" 8 "github.com/docker/docker/api/types/container" 9 "github.com/docker/docker/integration/util/request" 10 "github.com/stretchr/testify/assert" 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestCommitInheritsEnv(t *testing.T) { 15 defer setupTest(t)() 16 client := request.NewAPIClient(t) 17 ctx := context.Background() 18 19 createResp1, err := client.ContainerCreate(ctx, &container.Config{Image: "busybox"}, nil, nil, "") 20 require.NoError(t, err) 21 22 commitResp1, err := client.ContainerCommit(ctx, createResp1.ID, types.ContainerCommitOptions{ 23 Changes: []string{"ENV PATH=/bin"}, 24 Reference: "test-commit-image", 25 }) 26 require.NoError(t, err) 27 28 image1, _, err := client.ImageInspectWithRaw(ctx, commitResp1.ID) 29 require.NoError(t, err) 30 31 expectedEnv1 := []string{"PATH=/bin"} 32 assert.Equal(t, expectedEnv1, image1.Config.Env) 33 34 createResp2, err := client.ContainerCreate(ctx, &container.Config{Image: image1.ID}, nil, nil, "") 35 require.NoError(t, err) 36 37 commitResp2, err := client.ContainerCommit(ctx, createResp2.ID, types.ContainerCommitOptions{ 38 Changes: []string{"ENV PATH=/usr/bin:$PATH"}, 39 Reference: "test-commit-image", 40 }) 41 require.NoError(t, err) 42 43 image2, _, err := client.ImageInspectWithRaw(ctx, commitResp2.ID) 44 require.NoError(t, err) 45 expectedEnv2 := []string{"PATH=/usr/bin:/bin"} 46 assert.Equal(t, expectedEnv2, image2.Config.Env) 47 }