(t *testing.T)
| 6423 | } |
| 6424 | |
| 6425 | func Test_Client_QueueList(t *testing.T) { |
| 6426 | t.Parallel() |
| 6427 | |
| 6428 | ctx := context.Background() |
| 6429 | |
| 6430 | type testBundle struct { |
| 6431 | schema string |
| 6432 | } |
| 6433 | |
| 6434 | setup := func(t *testing.T) (*Client[pgx.Tx], *testBundle) { |
| 6435 | t.Helper() |
| 6436 | |
| 6437 | var ( |
| 6438 | dbPool = riversharedtest.DBPool(ctx, t) |
| 6439 | driver = riverpgxv5.New(dbPool) |
| 6440 | schema = riverdbtest.TestSchema(ctx, t, driver, nil) |
| 6441 | config = newTestConfig(t, schema) |
| 6442 | client = newTestClient(t, dbPool, config) |
| 6443 | ) |
| 6444 | |
| 6445 | return client, &testBundle{ |
| 6446 | schema: schema, |
| 6447 | } |
| 6448 | } |
| 6449 | |
| 6450 | t.Run("ListsAndPaginatesQueues", func(t *testing.T) { |
| 6451 | t.Parallel() |
| 6452 | |
| 6453 | client, bundle := setup(t) |
| 6454 | |
| 6455 | requireQueuesEqual := func(t *testing.T, target, actual *rivertype.Queue) { |
| 6456 | t.Helper() |
| 6457 | require.WithinDuration(t, target.CreatedAt, actual.CreatedAt, time.Millisecond) |
| 6458 | require.Equal(t, target.Metadata, actual.Metadata) |
| 6459 | require.Equal(t, target.Name, actual.Name) |
| 6460 | if target.PausedAt == nil { |
| 6461 | require.Nil(t, actual.PausedAt) |
| 6462 | } else { |
| 6463 | require.NotNil(t, actual.PausedAt) |
| 6464 | require.WithinDuration(t, *target.PausedAt, *actual.PausedAt, time.Millisecond) |
| 6465 | } |
| 6466 | } |
| 6467 | |
| 6468 | listRes, err := client.QueueList(ctx, NewQueueListParams().First(2)) |
| 6469 | require.NoError(t, err) |
| 6470 | require.Empty(t, listRes.Queues) |
| 6471 | |
| 6472 | // Make queue1, pause it, refetch: |
| 6473 | queue1 := testfactory.Queue(ctx, t, client.driver.GetExecutor(), &testfactory.QueueOpts{Metadata: []byte(`{"foo": "bar"}`), Schema: bundle.schema}) |
| 6474 | require.NoError(t, client.QueuePause(ctx, queue1.Name, nil)) |
| 6475 | queue1, err = client.QueueGet(ctx, queue1.Name) |
| 6476 | require.NoError(t, err) |
| 6477 | |
| 6478 | queue2 := testfactory.Queue(ctx, t, client.driver.GetExecutor(), &testfactory.QueueOpts{Schema: bundle.schema}) |
| 6479 | queue3 := testfactory.Queue(ctx, t, client.driver.GetExecutor(), &testfactory.QueueOpts{Schema: bundle.schema}) |
| 6480 | |
| 6481 | listRes, err = client.QueueList(ctx, NewQueueListParams().First(2)) |
| 6482 | require.NoError(t, err) |
nothing calls this directly
no test coverage detected
searching dependent graphs…