integration: 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:15:50 +02:00
parent 1bc0d7080a
commit b6154189e8
No known key found for this signature in database
GPG key ID: 76698F39D527CE8C
7 changed files with 38 additions and 47 deletions

View file

@ -45,10 +45,8 @@ func TestLinksContainerNames(t *testing.T) {
container.Run(ctx, t, client, container.WithName(containerA))
container.Run(ctx, t, client, container.WithName(containerB), container.WithLinks(containerA+":"+containerA))
f := filters.NewArgs(filters.Arg("name", containerA))
containers, err := client.ContainerList(ctx, types.ContainerListOptions{
Filters: f,
Filters: filters.NewArgs(filters.Arg("name", containerA)),
})
assert.NilError(t, err)
assert.Check(t, is.Equal(1, len(containers)))

View file

@ -22,27 +22,27 @@ func TestPsFilter(t *testing.T) {
containerIDs := func(containers []types.Container) []string {
var entries []string
for _, container := range containers {
entries = append(entries, container.ID)
for _, c := range containers {
entries = append(entries, c.ID)
}
return entries
}
f1 := filters.NewArgs()
f1.Add("since", top)
q1, err := client.ContainerList(ctx, types.ContainerListOptions{
All: true,
Filters: f1,
t.Run("since", func(t *testing.T) {
results, err := client.ContainerList(ctx, types.ContainerListOptions{
All: true,
Filters: filters.NewArgs(filters.Arg("since", top)),
})
assert.NilError(t, err)
assert.Check(t, is.Contains(containerIDs(results), next))
})
assert.NilError(t, err)
assert.Check(t, is.Contains(containerIDs(q1), next))
f2 := filters.NewArgs()
f2.Add("before", top)
q2, err := client.ContainerList(ctx, types.ContainerListOptions{
All: true,
Filters: f2,
t.Run("before", func(t *testing.T) {
results, err := client.ContainerList(ctx, types.ContainerListOptions{
All: true,
Filters: filters.NewArgs(filters.Arg("before", top)),
})
assert.NilError(t, err)
assert.Check(t, is.Contains(containerIDs(results), prev))
})
assert.NilError(t, err)
assert.Check(t, is.Contains(containerIDs(q2), prev))
}

View file

@ -88,8 +88,7 @@ func RunningTasksCount(client client.ServiceAPIClient, serviceID string, instanc
// completed additionally, while polling, it verifies that the job never
// exceeds MaxConcurrent running tasks
func JobComplete(client client.CommonAPIClient, service swarmtypes.Service) func(log poll.LogT) poll.Result {
filter := filters.NewArgs()
filter.Add("service", service.ID)
filter := filters.NewArgs(filters.Arg("service", service.ID))
var jobIteration swarmtypes.Version
if service.JobStatus != nil {

View file

@ -2,7 +2,6 @@ package service // import "github.com/docker/docker/integration/service"
import (
"context"
"fmt"
"io"
"strings"
"testing"
@ -65,9 +64,9 @@ func testServiceCreateInit(daemonEnabled bool) func(t *testing.T) {
func inspectServiceContainer(t *testing.T, client client.APIClient, serviceID string) types.ContainerJSON {
t.Helper()
filter := filters.NewArgs()
filter.Add("label", fmt.Sprintf("com.docker.swarm.service.id=%s", serviceID))
containers, err := client.ContainerList(context.Background(), types.ContainerListOptions{Filters: filter})
containers, err := client.ContainerList(context.Background(), types.ContainerListOptions{
Filters: filters.NewArgs(filters.Arg("label", "com.docker.swarm.service.id="+serviceID)),
})
assert.NilError(t, err)
assert.Check(t, is.Len(containers, 1))
@ -426,11 +425,9 @@ func TestCreateServiceSysctls(t *testing.T) {
// earlier version of this test had to get container logs and was much
// more complex)
// get all of the tasks of the service, so we can get the container
filter := filters.NewArgs()
filter.Add("service", serviceID)
// get all tasks of the service, so we can get the container
tasks, err := client.TaskList(ctx, types.TaskListOptions{
Filters: filter,
Filters: filters.NewArgs(filters.Arg("service", serviceID)),
})
assert.NilError(t, err)
assert.Check(t, is.Equal(len(tasks), 1))
@ -504,11 +501,9 @@ func TestCreateServiceCapabilities(t *testing.T) {
// we know that the capabilities is plumbed correctly. everything below that
// level has been tested elsewhere.
// get all of the tasks of the service, so we can get the container
filter := filters.NewArgs()
filter.Add("service", serviceID)
// get all tasks of the service, so we can get the container
tasks, err := client.TaskList(ctx, types.TaskListOptions{
Filters: filter,
Filters: filters.NewArgs(filters.Arg("service", serviceID)),
})
assert.NilError(t, err)
assert.Check(t, is.Equal(len(tasks), 1))

View file

@ -57,10 +57,8 @@ func TestServiceListWithStatuses(t *testing.T) {
// serviceContainerCount function does not do. instead, we'll use a
// bespoke closure right here.
poll.WaitOn(t, func(log poll.LogT) poll.Result {
filter := filters.NewArgs()
filter.Add("service", id)
tasks, err := client.TaskList(context.Background(), types.TaskListOptions{
Filters: filter,
Filters: filters.NewArgs(filters.Arg("service", id)),
})
running := 0

View file

@ -328,10 +328,12 @@ func TestServiceUpdatePidsLimit(t *testing.T) {
func getServiceTaskContainer(ctx context.Context, t *testing.T, cli client.APIClient, serviceID string) types.ContainerJSON {
t.Helper()
filter := filters.NewArgs()
filter.Add("service", serviceID)
filter.Add("desired-state", "running")
tasks, err := cli.TaskList(ctx, types.TaskListOptions{Filters: filter})
tasks, err := cli.TaskList(ctx, types.TaskListOptions{
Filters: filters.NewArgs(
filters.Arg("service", serviceID),
filters.Arg("desired-state", "running"),
),
})
assert.NilError(t, err)
assert.Assert(t, len(tasks) > 0)

View file

@ -43,12 +43,11 @@ func TestEventsExecDie(t *testing.T) {
)
assert.NilError(t, err)
filters := filters.NewArgs(
filters.Arg("container", cID),
filters.Arg("event", "exec_die"),
)
msg, errors := client.Events(ctx, types.EventsOptions{
Filters: filters,
msg, errs := client.Events(ctx, types.EventsOptions{
Filters: filters.NewArgs(
filters.Arg("container", cID),
filters.Arg("event", "exec_die"),
),
})
err = client.ContainerExecStart(ctx, id.ID,
@ -66,7 +65,7 @@ func TestEventsExecDie(t *testing.T) {
assert.Equal(t, m.Action, "exec_die")
assert.Equal(t, m.Actor.Attributes["execID"], id.ID)
assert.Equal(t, m.Actor.Attributes["exitCode"], "0")
case err = <-errors:
case err = <-errs:
assert.NilError(t, err)
case <-time.After(time.Second * 3):
t.Fatal("timeout hit")