Merged in feature/docinitialisation (pull request #41)
Queuing Changes and Cfg Testing * staarting * staarting * startedpush * note * save * mocking * removederrs * fixtests * cleanuperrs * newenvsetup * preppingtests * queue * mmovetocfgpassunittests * sortoutconfig * passinginteg * deps * fixtests
This commit is contained in:
@@ -3,31 +3,38 @@ package queue_test
|
||||
import (
|
||||
"context"
|
||||
"queryorchestration/internal/server/queue"
|
||||
"queryorchestration/internal/test"
|
||||
queuemock "queryorchestration/mocks/queue"
|
||||
"testing"
|
||||
|
||||
"github.com/aws/aws-sdk-go-v2/service/sqs"
|
||||
"github.com/aws/aws-sdk-go-v2/service/sqs/types"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestDelete(t *testing.T) {
|
||||
if testing.Short() {
|
||||
t.Skip("Skipping long test in short mode")
|
||||
}
|
||||
ctx := context.Background()
|
||||
queueConfig, cleanup := test.CreateQueue(t, ctx, &test.CreateQueueConfig{})
|
||||
defer cleanup()
|
||||
|
||||
mockSQS := queuemock.NewMockSQSClient(t)
|
||||
cfg := &queue.Config{
|
||||
URL: queueConfig.URL,
|
||||
Client: queueConfig.Client,
|
||||
URL: "/i/am/here",
|
||||
Client: mockSQS,
|
||||
}
|
||||
handle := "iamahandler"
|
||||
|
||||
mockSQS.EXPECT().
|
||||
DeleteMessage(
|
||||
mock.Anything,
|
||||
mock.MatchedBy(func(in *sqs.DeleteMessageInput) bool {
|
||||
return *in.QueueUrl == cfg.URL && *in.ReceiptHandle == handle
|
||||
}),
|
||||
mock.Anything,
|
||||
).
|
||||
Return(&sqs.DeleteMessageOutput{}, nil)
|
||||
|
||||
message := &types.Message{
|
||||
ReceiptHandle: &handle,
|
||||
}
|
||||
|
||||
err := queue.Send(ctx, cfg, "{}", map[string]types.MessageAttributeValue{})
|
||||
assert.Nil(t, err)
|
||||
|
||||
message := test.AssertMessageWait(t, ctx, cfg, []string{})
|
||||
|
||||
err = queue.Delete(ctx, cfg, &message)
|
||||
assert.Nil(t, err)
|
||||
err := queue.Delete(ctx, cfg, message)
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user