483
}
484
485
>
func testSelectMetadataFails(ctx context.Context, t *testing.T, baseDB sqlplugin.DB) {
queue_v2.go
486
>
queueType := persistence.QueueTypeHistoryNormal
487
>
queueName := "test-queue-" + t.Name()
488
>
db := &faultyDB{
489
>
DB: baseDB,
490
>
selectMetadataError: ErrSelectMetadataFailed,
491
>
}
492
>
logger := &logRecorder{Logger: log.NewTestLogger()}
493
>
q := persistencesql.NewQueueV2(db, logger, serialization.NewSerializer())
494
>
_, err := q.ReadMessages(ctx, &persistence.InternalReadMessagesRequest{
495
>
QueueType: queueType,
496
>
QueueName: queueName,
497
>
PageSize: 10,
498
>
})
499
>
assert.Error(t, err)
500
>
assert.ErrorContains(t, err, ErrSelectMetadataFailed.Error())
501
>
_, err = persistencetest.EnqueueMessage(context.Background(), q, queueType, queueName)
502
>
assert.Error(t, err)
503
>
assert.ErrorContains(t, err, ErrSelectMetadataFailed.Error())
504
>
_, err = q.RangeDeleteMessages(context.Background(), &persistence.InternalRangeDeleteMessagesRequest{
505
>
QueueType: queueType,
506
>
QueueName: queueName,
507
>
InclusiveMaxMessageMetadata: persistence.MessageMetadata{ID: 0},
508
>
})
509
>
assert.Error(t, err)
510
>
assert.ErrorAs(t, err, new(*serviceerror.Unavailable))
511
>
}
512
513
func testInvalidMetadataPayload(ctx context.Context, t *testing.T, baseDB sqlplugin.DB) {