github.com/rawahars/moby@v24.0.4+incompatible/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  	"gotest.tools/v3/assert"
    11  	is "gotest.tools/v3/assert/cmp"
    12  )
    13  
    14  func TestPsFilter(t *testing.T) {
    15  	defer setupTest(t)()
    16  	client := testEnv.APIClient()
    17  	ctx := context.Background()
    18  
    19  	prev := container.Create(ctx, t, client)
    20  	top := container.Create(ctx, t, client)
    21  	next := container.Create(ctx, t, client)
    22  
    23  	containerIDs := func(containers []types.Container) []string {
    24  		var entries []string
    25  		for _, c := range containers {
    26  			entries = append(entries, c.ID)
    27  		}
    28  		return entries
    29  	}
    30  
    31  	t.Run("since", func(t *testing.T) {
    32  		results, err := client.ContainerList(ctx, types.ContainerListOptions{
    33  			All:     true,
    34  			Filters: filters.NewArgs(filters.Arg("since", top)),
    35  		})
    36  		assert.NilError(t, err)
    37  		assert.Check(t, is.Contains(containerIDs(results), next))
    38  	})
    39  
    40  	t.Run("before", func(t *testing.T) {
    41  		results, err := client.ContainerList(ctx, types.ContainerListOptions{
    42  			All:     true,
    43  			Filters: filters.NewArgs(filters.Arg("before", top)),
    44  		})
    45  		assert.NilError(t, err)
    46  		assert.Check(t, is.Contains(containerIDs(results), prev))
    47  	})
    48  }