commit_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package image // import "github.com/docker/docker/integration/image"
  2. import (
  3. "context"
  4. "testing"
  5. "github.com/docker/docker/api/types"
  6. "github.com/docker/docker/integration/internal/container"
  7. "github.com/docker/docker/integration/internal/request"
  8. "github.com/stretchr/testify/assert"
  9. "github.com/stretchr/testify/require"
  10. )
  11. func TestCommitInheritsEnv(t *testing.T) {
  12. defer setupTest(t)()
  13. client := request.NewAPIClient(t)
  14. ctx := context.Background()
  15. cID1 := container.Create(t, ctx, client)
  16. commitResp1, err := client.ContainerCommit(ctx, cID1, types.ContainerCommitOptions{
  17. Changes: []string{"ENV PATH=/bin"},
  18. Reference: "test-commit-image",
  19. })
  20. require.NoError(t, err)
  21. image1, _, err := client.ImageInspectWithRaw(ctx, commitResp1.ID)
  22. require.NoError(t, err)
  23. expectedEnv1 := []string{"PATH=/bin"}
  24. assert.Equal(t, expectedEnv1, image1.Config.Env)
  25. cID2 := container.Create(t, ctx, client, container.WithImage(image1.ID))
  26. commitResp2, err := client.ContainerCommit(ctx, cID2, types.ContainerCommitOptions{
  27. Changes: []string{"ENV PATH=/usr/bin:$PATH"},
  28. Reference: "test-commit-image",
  29. })
  30. require.NoError(t, err)
  31. image2, _, err := client.ImageInspectWithRaw(ctx, commitResp2.ID)
  32. require.NoError(t, err)
  33. expectedEnv2 := []string{"PATH=/usr/bin:/bin"}
  34. assert.Equal(t, expectedEnv2, image2.Config.Env)
  35. }