Merge pull request #51498 from 2003Aditya/TestAPIImagesDelete

Test api images delete
This commit is contained in:
Sebastiaan van Stijn
2025-11-16 23:04:06 +01:00
committed by GitHub
2 changed files with 39 additions and 24 deletions

View File

@@ -9,8 +9,11 @@ import (
"github.com/moby/moby/api/types/image"
"github.com/moby/moby/client"
"github.com/moby/moby/client/pkg/stringid"
build "github.com/moby/moby/v2/integration/internal/build"
"github.com/moby/moby/v2/integration/internal/container"
iimage "github.com/moby/moby/v2/integration/internal/image"
"github.com/moby/moby/v2/internal/testutil/fakecontext"
"github.com/moby/moby/v2/internal/testutil/specialimage"
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
"gotest.tools/v3/assert"
@@ -176,3 +179,39 @@ func checkPlatformDeleted(t *testing.T, imageIdx *ocispec.Index, resp []image.De
}
}
}
func TestAPIImagesDelete(t *testing.T) {
ctx := setupTest(t)
apiClient := testEnv.APIClient()
const name = "test-api-images-delete"
buildCtx := fakecontext.New(t, t.TempDir(),
fakecontext.WithDockerfile(`FROM busybox
ENV FOO=bar`))
defer buildCtx.Close()
imgID := build.Do(ctx, t, apiClient, buildCtx)
// Cleanup always runs
defer func() {
_, _ = apiClient.ImageRemove(ctx, imgID, client.ImageRemoveOptions{Force: true})
}()
_, err := apiClient.ImageTag(ctx, client.ImageTagOptions{Source: imgID, Target: name})
assert.NilError(t, err)
_, err = apiClient.ImageTag(ctx, client.ImageTagOptions{Source: imgID, Target: "test:tag1"})
assert.NilError(t, err)
_, err = apiClient.ImageRemove(ctx, imgID, client.ImageRemoveOptions{})
assert.Check(t, is.ErrorType(err, cerrdefs.IsConflict))
assert.Check(t, is.ErrorContains(err, "unable to delete "+stringid.TruncateID(imgID)))
_, err = apiClient.ImageRemove(ctx, "test:noexist", client.ImageRemoveOptions{})
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
assert.Check(t, is.ErrorContains(err, "No such image: test:noexist"))
_, err = apiClient.ImageRemove(ctx, "test:tag1", client.ImageRemoveOptions{})
assert.NilError(t, err)
}