mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
client: add Filters type
Add a new type to use for building filter predicates for API requests, replacing "./api/types/filters".Args in the client. Remove the now unused api/types/filters package. Signed-off-by: Cory Snider <csnider@mirantis.com>
This commit is contained in:
@@ -8,7 +8,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/google/go-cmp/cmp/cmpopts"
|
||||
"github.com/moby/moby/api/types/filters"
|
||||
"github.com/moby/moby/api/types/image"
|
||||
"github.com/moby/moby/api/types/versions"
|
||||
"github.com/moby/moby/client"
|
||||
@@ -43,12 +42,8 @@ func TestImagesFilterMultiReference(t *testing.T) {
|
||||
assert.NilError(t, err)
|
||||
}
|
||||
|
||||
filter := filters.NewArgs()
|
||||
filter.Add("reference", repoTags[0])
|
||||
filter.Add("reference", repoTags[1])
|
||||
filter.Add("reference", repoTags[2])
|
||||
options := client.ImageListOptions{
|
||||
Filters: filter,
|
||||
Filters: make(client.Filters).Add("reference", repoTags[:3]...),
|
||||
}
|
||||
images, err := apiClient.ImageList(ctx, options)
|
||||
assert.NilError(t, err)
|
||||
@@ -89,12 +84,11 @@ func TestImagesFilterUntil(t *testing.T) {
|
||||
assert.NilError(t, err)
|
||||
laterUntil := laterImage.Created
|
||||
|
||||
filter := filters.NewArgs(
|
||||
filters.Arg("since", imgs[0]),
|
||||
filters.Arg("until", olderUntil),
|
||||
filters.Arg("until", laterUntil),
|
||||
filters.Arg("before", imgs[len(imgs)-1]),
|
||||
)
|
||||
filter := make(client.Filters).
|
||||
Add("since", imgs[0]).
|
||||
Add("until", olderUntil).
|
||||
Add("until", laterUntil).
|
||||
Add("before", imgs[len(imgs)-1])
|
||||
list, err := apiClient.ImageList(ctx, client.ImageListOptions{Filters: filter})
|
||||
assert.NilError(t, err)
|
||||
|
||||
@@ -125,10 +119,9 @@ func TestImagesFilterBeforeSince(t *testing.T) {
|
||||
imgs[i] = id.ID
|
||||
}
|
||||
|
||||
filter := filters.NewArgs(
|
||||
filters.Arg("since", imgs[0]),
|
||||
filters.Arg("before", imgs[len(imgs)-1]),
|
||||
)
|
||||
filter := make(client.Filters).
|
||||
Add("since", imgs[0]).
|
||||
Add("before", imgs[len(imgs)-1])
|
||||
list, err := apiClient.ImageList(ctx, client.ImageListOptions{Filters: filter})
|
||||
assert.NilError(t, err)
|
||||
|
||||
@@ -155,31 +148,31 @@ func TestAPIImagesFilters(t *testing.T) {
|
||||
|
||||
testcases := []struct {
|
||||
name string
|
||||
filters []filters.KeyValuePair
|
||||
filters client.Filters
|
||||
expectedImages int
|
||||
expectedRepoTags int
|
||||
}{
|
||||
{
|
||||
name: "repository regex",
|
||||
filters: []filters.KeyValuePair{filters.Arg("reference", "utest*/*")},
|
||||
filters: make(client.Filters).Add("reference", "utest*/*"),
|
||||
expectedImages: 1,
|
||||
expectedRepoTags: 2,
|
||||
},
|
||||
{
|
||||
name: "image name regex",
|
||||
filters: []filters.KeyValuePair{filters.Arg("reference", "utest*")},
|
||||
filters: make(client.Filters).Add("reference", "utest*"),
|
||||
expectedImages: 1,
|
||||
expectedRepoTags: 1,
|
||||
},
|
||||
{
|
||||
name: "image name without a tag",
|
||||
filters: []filters.KeyValuePair{filters.Arg("reference", "utest")},
|
||||
filters: make(client.Filters).Add("reference", "utest"),
|
||||
expectedImages: 1,
|
||||
expectedRepoTags: 1,
|
||||
},
|
||||
{
|
||||
name: "registry port regex",
|
||||
filters: []filters.KeyValuePair{filters.Arg("reference", "*5000*/*")},
|
||||
filters: make(client.Filters).Add("reference", "*5000*/*"),
|
||||
expectedImages: 1,
|
||||
expectedRepoTags: 1,
|
||||
},
|
||||
@@ -191,7 +184,7 @@ func TestAPIImagesFilters(t *testing.T) {
|
||||
|
||||
ctx := testutil.StartSpan(ctx, t)
|
||||
images, err := apiClient.ImageList(ctx, client.ImageListOptions{
|
||||
Filters: filters.NewArgs(tc.filters...),
|
||||
Filters: tc.filters,
|
||||
})
|
||||
assert.Check(t, err)
|
||||
assert.Assert(t, is.Len(images, tc.expectedImages))
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/moby/moby/api/types/filters"
|
||||
"github.com/moby/moby/api/types/image"
|
||||
"github.com/moby/moby/client"
|
||||
"github.com/moby/moby/v2/integration/internal/container"
|
||||
@@ -40,7 +39,7 @@ func TestPruneDontDeleteUsedDangling(t *testing.T) {
|
||||
container.WithImage(danglingID),
|
||||
container.WithCmd("sleep", "60"))
|
||||
|
||||
pruned, err := apiClient.ImagesPrune(ctx, filters.NewArgs(filters.Arg("dangling", "true")))
|
||||
pruned, err := apiClient.ImagesPrune(ctx, make(client.Filters).Add("dangling", "true"))
|
||||
assert.NilError(t, err)
|
||||
|
||||
for _, deleted := range pruned.ImagesDeleted {
|
||||
@@ -88,7 +87,7 @@ func TestPruneLexographicalOrder(t *testing.T) {
|
||||
cid := container.Create(ctx, t, apiClient, container.WithImage(id))
|
||||
defer container.Remove(ctx, t, apiClient, cid, client.ContainerRemoveOptions{Force: true})
|
||||
|
||||
pruned, err := apiClient.ImagesPrune(ctx, filters.NewArgs(filters.Arg("dangling", "false")))
|
||||
pruned, err := apiClient.ImagesPrune(ctx, make(client.Filters).Add("dangling", "false"))
|
||||
assert.NilError(t, err)
|
||||
|
||||
assert.Check(t, is.Len(pruned.ImagesDeleted, len(tags)))
|
||||
@@ -218,7 +217,7 @@ func TestPruneDontDeleteUsedImage(t *testing.T) {
|
||||
defer container.Remove(ctx, t, apiClient, cid, client.ContainerRemoveOptions{Force: true})
|
||||
|
||||
// dangling=false also prunes unused images
|
||||
pruned, err := apiClient.ImagesPrune(ctx, filters.NewArgs(filters.Arg("dangling", "false")))
|
||||
pruned, err := apiClient.ImagesPrune(ctx, make(client.Filters).Add("dangling", "false"))
|
||||
assert.NilError(t, err)
|
||||
|
||||
env.check(t, apiClient, pruned)
|
||||
|
||||
Reference in New Issue
Block a user