ps_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package container // import "github.com/docker/docker/integration/container"
  2. import (
  3. "testing"
  4. "github.com/docker/docker/api/types"
  5. containertypes "github.com/docker/docker/api/types/container"
  6. "github.com/docker/docker/api/types/filters"
  7. "github.com/docker/docker/integration/internal/container"
  8. "github.com/docker/docker/testutil"
  9. "gotest.tools/v3/assert"
  10. is "gotest.tools/v3/assert/cmp"
  11. )
  12. func TestPsFilter(t *testing.T) {
  13. ctx := setupTest(t)
  14. apiClient := testEnv.APIClient()
  15. prev := container.Create(ctx, t, apiClient)
  16. top := container.Create(ctx, t, apiClient)
  17. next := container.Create(ctx, t, apiClient)
  18. containerIDs := func(containers []types.Container) []string {
  19. var entries []string
  20. for _, c := range containers {
  21. entries = append(entries, c.ID)
  22. }
  23. return entries
  24. }
  25. t.Run("since", func(t *testing.T) {
  26. ctx := testutil.StartSpan(ctx, t)
  27. results, err := apiClient.ContainerList(ctx, containertypes.ListOptions{
  28. All: true,
  29. Filters: filters.NewArgs(filters.Arg("since", top)),
  30. })
  31. assert.NilError(t, err)
  32. assert.Check(t, is.Contains(containerIDs(results), next))
  33. })
  34. t.Run("before", func(t *testing.T) {
  35. ctx := testutil.StartSpan(ctx, t)
  36. results, err := apiClient.ContainerList(ctx, containertypes.ListOptions{
  37. All: true,
  38. Filters: filters.NewArgs(filters.Arg("before", top)),
  39. })
  40. assert.NilError(t, err)
  41. assert.Check(t, is.Contains(containerIDs(results), prev))
  42. })
  43. }