github.com/rita33cool1/iot-system-gateway@v0.0.0-20200911033302-e65bde238cc5/docker-engine/integration/container/ps_test.go (about) 1 package container // import "github.com/docker/docker/integration/container" 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/docker/docker/api/types" 8 "github.com/docker/docker/api/types/filters" 9 "github.com/docker/docker/integration/internal/container" 10 "github.com/docker/docker/integration/internal/request" 11 "github.com/gotestyourself/gotestyourself/assert" 12 is "github.com/gotestyourself/gotestyourself/assert/cmp" 13 ) 14 15 func TestPsFilter(t *testing.T) { 16 defer setupTest(t)() 17 client := request.NewAPIClient(t) 18 ctx := context.Background() 19 20 prev := container.Create(t, ctx, client) 21 top := container.Create(t, ctx, client) 22 next := container.Create(t, ctx, client) 23 24 containerIDs := func(containers []types.Container) []string { 25 entries := []string{} 26 for _, container := range containers { 27 entries = append(entries, container.ID) 28 } 29 return entries 30 } 31 32 f1 := filters.NewArgs() 33 f1.Add("since", top) 34 q1, err := client.ContainerList(ctx, types.ContainerListOptions{ 35 All: true, 36 Filters: f1, 37 }) 38 assert.NilError(t, err) 39 assert.Check(t, is.Contains(containerIDs(q1), next)) 40 41 f2 := filters.NewArgs() 42 f2.Add("before", top) 43 q2, err := client.ContainerList(ctx, types.ContainerListOptions{ 44 All: true, 45 Filters: f2, 46 }) 47 assert.NilError(t, err) 48 assert.Check(t, is.Contains(containerIDs(q2), prev)) 49 }