integration: inline filters in tests
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
1bc0d7080a
commit
b6154189e8
7 changed files with 38 additions and 47 deletions
|
@ -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)))
|
||||
|
|
|
@ -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))
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Add table
Reference in a new issue