Files
query-orchestration/internal/queue/poll_test.go
T

57 lines
1.2 KiB
Go
Raw Normal View History

2025-01-10 11:12:03 +00:00
package queue_test
import (
"context"
"queryorchestration/internal/queue"
"queryorchestration/internal/test"
2025-01-10 11:12:03 +00:00
"testing"
"time"
"github.com/aws/aws-sdk-go-v2/service/sqs/types"
"github.com/stretchr/testify/assert"
)
type MockController struct{}
func (s MockController) Process(ctx context.Context, config *queue.Config, msg *types.Message) error {
return nil
}
func TestPollMessages(t *testing.T) {
ctx := context.Background()
queueConfig, cleanup := test.CreateQueue(t, ctx, &test.CreateQueueConfig{})
2025-01-10 11:12:03 +00:00
defer cleanup()
controller := MockController{}
ctx, cancel := context.WithTimeout(ctx, time.Second)
defer cancel()
cfg := &queue.Config{
URL: queueConfig.URL,
Client: queueConfig.Client,
}
2025-01-10 11:12:03 +00:00
queue.PollMessages(ctx, &queue.PollConfig{
Config: cfg,
2025-01-10 11:12:03 +00:00
Controller: controller,
})
}
func TestPollMessage(t *testing.T) {
ctx := context.Background()
queueConfig, cleanup := test.CreateQueue(t, ctx, &test.CreateQueueConfig{})
2025-01-10 11:12:03 +00:00
defer cleanup()
controller := MockController{}
cfg := &queue.Config{
URL: queueConfig.URL,
Client: queueConfig.Client,
}
2025-01-10 11:12:03 +00:00
err := queue.PollMessage(ctx, &queue.PollConfig{
Config: cfg,
2025-01-10 11:12:03 +00:00
Controller: controller,
})
assert.Nil(t, err)
}