client: inline filters in tests

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2023-04-25 15:11:32 +02:00
parent a343ed13e5
commit 081b5e3d4e
No known key found for this signature in database
GPG key ID: 76698F39D527CE8C
15 changed files with 113 additions and 172 deletions

View file

@ -42,10 +42,6 @@ func TestConfigListError(t *testing.T) {
func TestConfigList(t *testing.T) {
expectedURL := "/v1.30/configs"
filters := filters.NewArgs()
filters.Add("label", "label1")
filters.Add("label", "label2")
listCases := []struct {
options types.ConfigListOptions
expectedQueryParams map[string]string
@ -58,7 +54,10 @@ func TestConfigList(t *testing.T) {
},
{
options: types.ConfigListOptions{
Filters: filters,
Filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
),
},
expectedQueryParams: map[string]string{
"filters": `{"label":{"label1":true,"label2":true}}`,

View file

@ -54,9 +54,9 @@ func TestContainerList(t *testing.T) {
if size != "1" {
return nil, fmt.Errorf("size not set in URL query properly. Expected '1', got %s", size)
}
filters := query.Get("filters")
if filters != expectedFilters {
return nil, fmt.Errorf("expected filters incoherent '%v' with actual filters %v", expectedFilters, filters)
fltrs := query.Get("filters")
if fltrs != expectedFilters {
return nil, fmt.Errorf("expected filters incoherent '%v' with actual filters %v", expectedFilters, fltrs)
}
b, err := json.Marshal([]types.Container{
@ -78,15 +78,15 @@ func TestContainerList(t *testing.T) {
}),
}
filters := filters.NewArgs()
filters.Add("label", "label1")
filters.Add("label", "label2")
filters.Add("before", "container")
containers, err := client.ContainerList(context.Background(), types.ContainerListOptions{
Size: true,
All: true,
Since: "container",
Filters: filters,
Size: true,
All: true,
Since: "container",
Filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
filters.Arg("before", "container"),
),
})
if err != nil {
t.Fatal(err)

View file

@ -23,9 +23,7 @@ func TestContainersPruneError(t *testing.T) {
version: "1.25",
}
filters := filters.NewArgs()
_, err := client.ContainersPrune(context.Background(), filters)
_, err := client.ContainersPrune(context.Background(), filters.Args{})
if !errdefs.IsSystem(err) {
t.Fatalf("expected a Server Error, got %[1]T: %[1]v", err)
}
@ -34,21 +32,6 @@ func TestContainersPruneError(t *testing.T) {
func TestContainersPrune(t *testing.T) {
expectedURL := "/v1.25/containers/prune"
danglingFilters := filters.NewArgs()
danglingFilters.Add("dangling", "true")
noDanglingFilters := filters.NewArgs()
noDanglingFilters.Add("dangling", "false")
danglingUntilFilters := filters.NewArgs()
danglingUntilFilters.Add("dangling", "true")
danglingUntilFilters.Add("until", "2016-12-15T14:00")
labelFilters := filters.NewArgs()
labelFilters.Add("dangling", "true")
labelFilters.Add("label", "label1=foo")
labelFilters.Add("label", "label2!=bar")
listCases := []struct {
filters filters.Args
expectedQueryParams map[string]string
@ -62,7 +45,7 @@ func TestContainersPrune(t *testing.T) {
},
},
{
filters: danglingFilters,
filters: filters.NewArgs(filters.Arg("dangling", "true")),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",
@ -70,7 +53,10 @@ func TestContainersPrune(t *testing.T) {
},
},
{
filters: danglingUntilFilters,
filters: filters.NewArgs(
filters.Arg("dangling", "true"),
filters.Arg("until", "2016-12-15T14:00"),
),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",
@ -78,7 +64,7 @@ func TestContainersPrune(t *testing.T) {
},
},
{
filters: noDanglingFilters,
filters: filters.NewArgs(filters.Arg("dangling", "false")),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",
@ -86,7 +72,11 @@ func TestContainersPrune(t *testing.T) {
},
},
{
filters: labelFilters,
filters: filters.NewArgs(
filters.Arg("dangling", "true"),
filters.Arg("label", "label1=foo"),
filters.Arg("label", "label2!=bar"),
),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",

View file

@ -58,10 +58,9 @@ func TestEventsErrorFromServer(t *testing.T) {
}
func TestEvents(t *testing.T) {
expectedURL := "/events"
const expectedURL = "/events"
filters := filters.NewArgs()
filters.Add("type", events.ContainerEventType)
fltrs := filters.NewArgs(filters.Arg("type", events.ContainerEventType))
expectedFiltersJSON := fmt.Sprintf(`{"type":{"%s":true}}`, events.ContainerEventType)
eventsCases := []struct {
@ -72,7 +71,7 @@ func TestEvents(t *testing.T) {
}{
{
options: types.EventsOptions{
Filters: filters,
Filters: fltrs,
},
expectedQueryParams: map[string]string{
"filters": expectedFiltersJSON,
@ -82,7 +81,7 @@ func TestEvents(t *testing.T) {
},
{
options: types.EventsOptions{
Filters: filters,
Filters: fltrs,
},
expectedQueryParams: map[string]string{
"filters": expectedFiltersJSON,

View file

@ -30,15 +30,7 @@ func TestImageListError(t *testing.T) {
}
func TestImageList(t *testing.T) {
expectedURL := "/images/json"
noDanglingfilters := filters.NewArgs()
noDanglingfilters.Add("dangling", "false")
filters := filters.NewArgs()
filters.Add("label", "label1")
filters.Add("label", "label2")
filters.Add("dangling", "true")
const expectedURL = "/images/json"
listCases := []struct {
options types.ImageListOptions
@ -54,7 +46,11 @@ func TestImageList(t *testing.T) {
},
{
options: types.ImageListOptions{
Filters: filters,
Filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
filters.Arg("dangling", "true"),
),
},
expectedQueryParams: map[string]string{
"all": "",
@ -64,7 +60,7 @@ func TestImageList(t *testing.T) {
},
{
options: types.ImageListOptions{
Filters: noDanglingfilters,
Filters: filters.NewArgs(filters.Arg("dangling", "false")),
},
expectedQueryParams: map[string]string{
"all": "",
@ -146,11 +142,8 @@ func TestImageListApiBefore125(t *testing.T) {
version: "1.24",
}
filters := filters.NewArgs()
filters.Add("reference", "image:tag")
options := types.ImageListOptions{
Filters: filters,
Filters: filters.NewArgs(filters.Arg("reference", "image:tag")),
}
images, err := client.ImageList(context.Background(), options)

View file

@ -31,18 +31,7 @@ func TestImagesPruneError(t *testing.T) {
}
func TestImagesPrune(t *testing.T) {
expectedURL := "/v1.25/images/prune"
danglingFilters := filters.NewArgs()
danglingFilters.Add("dangling", "true")
noDanglingFilters := filters.NewArgs()
noDanglingFilters.Add("dangling", "false")
labelFilters := filters.NewArgs()
labelFilters.Add("dangling", "true")
labelFilters.Add("label", "label1=foo")
labelFilters.Add("label", "label2!=bar")
const expectedURL = "/v1.25/images/prune"
listCases := []struct {
filters filters.Args
@ -57,7 +46,7 @@ func TestImagesPrune(t *testing.T) {
},
},
{
filters: danglingFilters,
filters: filters.NewArgs(filters.Arg("dangling", "true")),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",
@ -65,7 +54,7 @@ func TestImagesPrune(t *testing.T) {
},
},
{
filters: noDanglingFilters,
filters: filters.NewArgs(filters.Arg("dangling", "false")),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",
@ -73,7 +62,11 @@ func TestImagesPrune(t *testing.T) {
},
},
{
filters: labelFilters,
filters: filters.NewArgs(
filters.Arg("dangling", "true"),
filters.Arg("label", "label1=foo"),
filters.Arg("label", "label2!=bar"),
),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",

View file

@ -118,12 +118,8 @@ func TestImageSearchWithPrivilegedFuncNoError(t *testing.T) {
}
func TestImageSearchWithoutErrors(t *testing.T) {
expectedURL := "/images/search"
filterArgs := filters.NewArgs()
filterArgs.Add("is-automated", "true")
filterArgs.Add("stars", "3")
expectedFilters := `{"is-automated":{"true":true},"stars":{"3":true}}`
const expectedURL = "/images/search"
const expectedFilters = `{"is-automated":{"true":true},"stars":{"3":true}}`
client := &Client{
client: newMockClient(func(req *http.Request) (*http.Response, error) {
@ -135,9 +131,9 @@ func TestImageSearchWithoutErrors(t *testing.T) {
if term != "some-image" {
return nil, fmt.Errorf("term not set in URL query properly. Expected 'some-image', got %s", term)
}
filters := query.Get("filters")
if filters != expectedFilters {
return nil, fmt.Errorf("filters not set in URL query properly. Expected '%s', got %s", expectedFilters, filters)
fltrs := query.Get("filters")
if fltrs != expectedFilters {
return nil, fmt.Errorf("filters not set in URL query properly. Expected '%s', got %s", expectedFilters, fltrs)
}
content, err := json.Marshal([]registry.SearchResult{
{
@ -154,7 +150,10 @@ func TestImageSearchWithoutErrors(t *testing.T) {
}),
}
results, err := client.ImageSearch(context.Background(), "some-image", types.ImageSearchOptions{
Filters: filterArgs,
Filters: filters.NewArgs(
filters.Arg("is-automated", "true"),
filters.Arg("stars", "3"),
),
})
if err != nil {
t.Fatal(err)

View file

@ -20,49 +20,41 @@ func TestNetworkListError(t *testing.T) {
client: newMockClient(errorMock(http.StatusInternalServerError, "Server error")),
}
_, err := client.NetworkList(context.Background(), types.NetworkListOptions{
Filters: filters.NewArgs(),
})
_, err := client.NetworkList(context.Background(), types.NetworkListOptions{})
if !errdefs.IsSystem(err) {
t.Fatalf("expected a Server Error, got %[1]T: %[1]v", err)
}
}
func TestNetworkList(t *testing.T) {
expectedURL := "/networks"
noDanglingFilters := filters.NewArgs()
noDanglingFilters.Add("dangling", "false")
danglingFilters := filters.NewArgs()
danglingFilters.Add("dangling", "true")
labelFilters := filters.NewArgs()
labelFilters.Add("label", "label1")
labelFilters.Add("label", "label2")
const expectedURL = "/networks"
listCases := []struct {
options types.NetworkListOptions
expectedFilters string
}{
{
options: types.NetworkListOptions{
Filters: filters.NewArgs(),
},
options: types.NetworkListOptions{},
expectedFilters: "",
}, {
},
{
options: types.NetworkListOptions{
Filters: noDanglingFilters,
Filters: filters.NewArgs(filters.Arg("dangling", "false")),
},
expectedFilters: `{"dangling":{"false":true}}`,
}, {
},
{
options: types.NetworkListOptions{
Filters: danglingFilters,
Filters: filters.NewArgs(filters.Arg("dangling", "true")),
},
expectedFilters: `{"dangling":{"true":true}}`,
}, {
},
{
options: types.NetworkListOptions{
Filters: labelFilters,
Filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
),
},
expectedFilters: `{"label":{"label1":true,"label2":true}}`,
},

View file

@ -23,27 +23,14 @@ func TestNetworksPruneError(t *testing.T) {
version: "1.25",
}
filters := filters.NewArgs()
_, err := client.NetworksPrune(context.Background(), filters)
_, err := client.NetworksPrune(context.Background(), filters.NewArgs())
if !errdefs.IsSystem(err) {
t.Fatalf("expected a Server Error, got %[1]T: %[1]v", err)
}
}
func TestNetworksPrune(t *testing.T) {
expectedURL := "/v1.25/networks/prune"
danglingFilters := filters.NewArgs()
danglingFilters.Add("dangling", "true")
noDanglingFilters := filters.NewArgs()
noDanglingFilters.Add("dangling", "false")
labelFilters := filters.NewArgs()
labelFilters.Add("dangling", "true")
labelFilters.Add("label", "label1=foo")
labelFilters.Add("label", "label2!=bar")
const expectedURL = "/v1.25/networks/prune"
listCases := []struct {
filters filters.Args
@ -58,7 +45,7 @@ func TestNetworksPrune(t *testing.T) {
},
},
{
filters: danglingFilters,
filters: filters.NewArgs(filters.Arg("dangling", "true")),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",
@ -66,7 +53,7 @@ func TestNetworksPrune(t *testing.T) {
},
},
{
filters: noDanglingFilters,
filters: filters.NewArgs(filters.Arg("dangling", "false")),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",
@ -74,7 +61,11 @@ func TestNetworksPrune(t *testing.T) {
},
},
{
filters: labelFilters,
filters: filters.NewArgs(
filters.Arg("dangling", "true"),
filters.Arg("label", "label1=foo"),
filters.Arg("label", "label2!=bar"),
),
expectedQueryParams: map[string]string{
"until": "",
"filter": "",

View file

@ -28,11 +28,7 @@ func TestNodeListError(t *testing.T) {
}
func TestNodeList(t *testing.T) {
expectedURL := "/nodes"
filters := filters.NewArgs()
filters.Add("label", "label1")
filters.Add("label", "label2")
const expectedURL = "/nodes"
listCases := []struct {
options types.NodeListOptions
@ -46,7 +42,10 @@ func TestNodeList(t *testing.T) {
},
{
options: types.NodeListOptions{
Filters: filters,
Filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
),
},
expectedQueryParams: map[string]string{
"filters": `{"label":{"label1":true,"label2":true}}`,

View file

@ -27,14 +27,7 @@ func TestPluginListError(t *testing.T) {
}
func TestPluginList(t *testing.T) {
expectedURL := "/plugins"
enabledFilters := filters.NewArgs()
enabledFilters.Add("enabled", "true")
capabilityFilters := filters.NewArgs()
capabilityFilters.Add("capability", "volumedriver")
capabilityFilters.Add("capability", "authz")
const expectedURL = "/plugins"
listCases := []struct {
filters filters.Args
@ -49,7 +42,7 @@ func TestPluginList(t *testing.T) {
},
},
{
filters: enabledFilters,
filters: filters.NewArgs(filters.Arg("enabled", "true")),
expectedQueryParams: map[string]string{
"all": "",
"filter": "",
@ -57,7 +50,10 @@ func TestPluginList(t *testing.T) {
},
},
{
filters: capabilityFilters,
filters: filters.NewArgs(
filters.Arg("capability", "volumedriver"),
filters.Arg("capability", "authz"),
),
expectedQueryParams: map[string]string{
"all": "",
"filter": "",

View file

@ -40,11 +40,7 @@ func TestSecretListError(t *testing.T) {
}
func TestSecretList(t *testing.T) {
expectedURL := "/v1.25/secrets"
filters := filters.NewArgs()
filters.Add("label", "label1")
filters.Add("label", "label2")
const expectedURL = "/v1.25/secrets"
listCases := []struct {
options types.SecretListOptions
@ -58,7 +54,10 @@ func TestSecretList(t *testing.T) {
},
{
options: types.SecretListOptions{
Filters: filters,
Filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
),
},
expectedQueryParams: map[string]string{
"filters": `{"label":{"label1":true,"label2":true}}`,

View file

@ -28,11 +28,7 @@ func TestServiceListError(t *testing.T) {
}
func TestServiceList(t *testing.T) {
expectedURL := "/services"
filters := filters.NewArgs()
filters.Add("label", "label1")
filters.Add("label", "label2")
const expectedURL = "/services"
listCases := []struct {
options types.ServiceListOptions
@ -46,7 +42,10 @@ func TestServiceList(t *testing.T) {
},
{
options: types.ServiceListOptions{
Filters: filters,
Filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
),
},
expectedQueryParams: map[string]string{
"filters": `{"label":{"label1":true,"label2":true}}`,

View file

@ -28,11 +28,7 @@ func TestTaskListError(t *testing.T) {
}
func TestTaskList(t *testing.T) {
expectedURL := "/tasks"
filters := filters.NewArgs()
filters.Add("label", "label1")
filters.Add("label", "label2")
const expectedURL = "/tasks"
listCases := []struct {
options types.TaskListOptions
@ -46,7 +42,10 @@ func TestTaskList(t *testing.T) {
},
{
options: types.TaskListOptions{
Filters: filters,
Filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
),
},
expectedQueryParams: map[string]string{
"filters": `{"label":{"label1":true,"label2":true}}`,

View file

@ -27,17 +27,7 @@ func TestVolumeListError(t *testing.T) {
}
func TestVolumeList(t *testing.T) {
expectedURL := "/volumes"
noDanglingFilters := filters.NewArgs()
noDanglingFilters.Add("dangling", "false")
danglingFilters := filters.NewArgs()
danglingFilters.Add("dangling", "true")
labelFilters := filters.NewArgs()
labelFilters.Add("label", "label1")
labelFilters.Add("label", "label2")
const expectedURL = "/volumes"
listCases := []struct {
filters filters.Args
@ -47,13 +37,16 @@ func TestVolumeList(t *testing.T) {
filters: filters.NewArgs(),
expectedFilters: "",
}, {
filters: noDanglingFilters,
filters: filters.NewArgs(filters.Arg("dangling", "false")),
expectedFilters: `{"dangling":{"false":true}}`,
}, {
filters: danglingFilters,
filters: filters.NewArgs(filters.Arg("dangling", "true")),
expectedFilters: `{"dangling":{"true":true}}`,
}, {
filters: labelFilters,
filters: filters.NewArgs(
filters.Arg("label", "label1"),
filters.Arg("label", "label2"),
),
expectedFilters: `{"label":{"label1":true,"label2":true}}`,
},
}