2025-01-10 11:12:03 +00:00
|
|
|
package queue_test
|
|
|
|
|
|
|
|
|
|
import (
|
2025-03-05 12:05:46 +00:00
|
|
|
"testing"
|
|
|
|
|
|
2025-02-03 18:51:44 +00:00
|
|
|
"queryorchestration/internal/serviceconfig/queue"
|
2025-05-23 10:10:48 +00:00
|
|
|
"queryorchestration/internal/test"
|
2025-01-10 11:12:03 +00:00
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
2025-03-19 11:54:14 +00:00
|
|
|
"github.com/stretchr/testify/require"
|
2025-01-10 11:12:03 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestReceive(t *testing.T) {
|
2025-06-02 10:44:45 +00:00
|
|
|
t.Parallel()
|
2025-05-23 10:10:48 +00:00
|
|
|
cfg := &AWSConfig{}
|
|
|
|
|
acfg := test.CreateAWSContainer(t, cfg)
|
|
|
|
|
|
|
|
|
|
test.SetQueueClient(t, t.Context(), cfg, acfg.ExternalEndpoint)
|
|
|
|
|
cfg.QueryURL = test.CreateQueue(t, cfg, test.QueryRunnerName)
|
2025-01-10 11:12:03 +00:00
|
|
|
|
2025-05-23 10:10:48 +00:00
|
|
|
err := cfg.SendToQueue(t.Context(), &queue.SendParams{
|
|
|
|
|
QueueURL: cfg.GetQueryURL(),
|
|
|
|
|
Body: struct {
|
|
|
|
|
Field string
|
|
|
|
|
}{
|
|
|
|
|
Field: "value",
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
require.NoError(t, err)
|
2025-02-03 17:30:50 +00:00
|
|
|
|
2025-05-23 10:10:48 +00:00
|
|
|
params := &queue.ReceiveParams{
|
|
|
|
|
QueueURL: cfg.GetQueryURL(),
|
|
|
|
|
}
|
2025-02-03 17:30:50 +00:00
|
|
|
|
2025-05-23 10:10:48 +00:00
|
|
|
ares, err := cfg.ReceiveFromQueue(t.Context(), params)
|
2025-03-19 11:54:14 +00:00
|
|
|
require.NoError(t, err)
|
2025-05-23 10:10:48 +00:00
|
|
|
require.Len(t, ares.Messages, 1)
|
|
|
|
|
assert.Equal(t, *ares.Messages[0].Body, `{"Field":"value"}`)
|
2025-01-10 11:12:03 +00:00
|
|
|
}
|