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  }