package queue_test import ( "context" "testing" "time" "github.com/aws/aws-sdk-go-v2/service/sqs" "github.com/stretchr/testify/assert" "github.com/testcontainers/testcontainers-go" ) func TestName(t *testing.T) { ctx := context.Background() network := createNetwork(t, ctx) defer testcontainers.CleanupNetwork(t, network) dbconfig, dbContainer := createDB(t, ctx, network) defer dbContainer.Terminate(ctx) queue := createQueue(t, ctx, network) defer (*queue.Container).Terminate(ctx) container := createContainer(t, ctx, containerConfig{ Queue: *queue.Config, DB: dbconfig, Network: network, }) defer container.Terminate(ctx) sendMessage(t, ctx, queue.Client, message{ URL: queue.Config.URL, Type: "CREATE_NAME", Body: "{\"name\":\"Doczy.ai\"}", }) time.Sleep(time.Second) result, err := queue.Client.ReceiveMessage(ctx, &sqs.ReceiveMessageInput{ QueueUrl: &queue.Config.URL, MaxNumberOfMessages: 1, WaitTimeSeconds: 5, VisibilityTimeout: 2, MessageAttributeNames: []string{ "type", }, }) assert.Nil(t, err) for _, message := range result.Messages { assert.Equal(t, "CREATE_NAME_SUCCESS", *message.MessageAttributes["type"].StringValue) } }