Skip to content

Commit

Permalink
add id (required) to publish entries
Browse files Browse the repository at this point in the history
  • Loading branch information
goddenrich committed Aug 29, 2024
1 parent 07b9b9b commit a3fed24
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 39 deletions.
83 changes: 57 additions & 26 deletions smoke_tests/sns_publish_batch_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
"github.com/aws/aws-sdk-go-v2/service/sns"
"github.com/aws/aws-sdk-go-v2/service/sns/types"
"github.com/gavv/httpexpect/v2"
"github.com/google/uuid"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand All @@ -41,18 +42,20 @@ func Test_Publish_batch_sqs_json_raw(t *testing.T) {
TopicArn: &topicArn,
PublishBatchRequestEntries: []types.PublishBatchRequestEntry{
{
Message: &message,
Subject: &subject,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
Subject: aws.String(subject),
},
{
Message: &message,
Subject: &subject,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
Subject: aws.String(subject),
},
},
})

assert.Nil(t, err)
assert.NotNil(t, response)
require.Nil(t, err)
require.NotNil(t, response)

messages := app.SyncQueues.Queues["subscribed-queue1"].Messages
require.Len(t, messages, 2)
Expand Down Expand Up @@ -81,18 +84,20 @@ func Test_Publish_batch_sqs_json_not_raw(t *testing.T) {
TopicArn: &topicArn,
PublishBatchRequestEntries: []types.PublishBatchRequestEntry{
{
Message: &message,
Subject: &subject,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
Subject: aws.String(subject),
},
{
Message: &message,
Subject: &subject,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
Subject: aws.String(subject),
},
},
})

assert.Nil(t, err)
assert.NotNil(t, response)
require.Nil(t, err)
require.NotNil(t, response)

messages := app.SyncQueues.Queues["subscribed-queue3"].Messages
assert.Len(t, messages, 2)
Expand Down Expand Up @@ -148,16 +153,18 @@ func Test_Publish_batch_http_json(t *testing.T) {

PublishBatchRequestEntries: []types.PublishBatchRequestEntry{
{
Message: &message,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
},
{
Message: &message,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
},
},
})

assert.Nil(t, err)
assert.NotNil(t, response)
require.Nil(t, err)
require.NotNil(t, response)

assert.True(t, called)
assert.Equal(t, "\"{\\\"IAm\\\": \\\"aMessage\\\"}\"", httpMessage)
Expand Down Expand Up @@ -202,16 +209,18 @@ func Test_Publish_batch_https_json_raw(t *testing.T) {

PublishBatchRequestEntries: []types.PublishBatchRequestEntry{
{
Message: &message,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
},
{
Message: &message,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
},
},
})

assert.Nil(t, err)
assert.NotNil(t, response)
require.Nil(t, err)
require.NotNil(t, response)

assert.True(t, called)
assert.Equal(t, "\"{\\\"IAm\\\": \\\"aMessage\\\"}\"", httpMessage)
Expand Down Expand Up @@ -257,18 +266,20 @@ func Test_Publish_batch_https_json_not_raw(t *testing.T) {
TopicArn: &topicArn,
PublishBatchRequestEntries: []types.PublishBatchRequestEntry{
{
Message: &message,
Subject: &subject,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
Subject: aws.String(subject),
},
{
Message: &message,
Subject: &subject,
Id: aws.String(uuid.NewString()),
Message: aws.String(message),
Subject: aws.String(subject),
},
},
})

assert.Nil(t, err)
assert.NotNil(t, response)
require.Nil(t, err)
require.NotNil(t, response)

assert.True(t, called)
assert.Contains(t, httpMessage, "\"Message\":\"{\\\"IAm\\\": \\\"aMessage\\\"}\"")
Expand Down Expand Up @@ -303,21 +314,25 @@ func Test_Publish_batch_sqs_xml_raw(t *testing.T) {
Action string `schema:"Action"`
TopicArn string `schema:"TopicArn"`
PublishBatchRequestEntries []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
} `schema:"PublishBatchRequestEntries"`
}{
Action: "PublishBatch",
TopicArn: topicArn,
PublishBatchRequestEntries: []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
}{
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
Expand Down Expand Up @@ -356,21 +371,25 @@ func Test_Publish_batch_sqs_xml_not_raw(t *testing.T) {
Action string `schema:"Action"`
TopicArn string `schema:"TopicArn"`
PublishBatchRequestEntries []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
} `schema:"PublishBatchRequestEntries"`
}{
Action: "PublishBatch",
TopicArn: topicArn,
PublishBatchRequestEntries: []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
}{
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
Expand Down Expand Up @@ -436,21 +455,25 @@ func Test_Publish_batch_http_xml(t *testing.T) {
Action string `schema:"Action"`
TopicArn string `schema:"TopicArn"`
PublishBatchRequestEntries []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
} `schema:"PublishBatchRequestEntries"`
}{
Action: "PublishBatch",
TopicArn: topicArn,
PublishBatchRequestEntries: []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
}{
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
Expand Down Expand Up @@ -505,21 +528,25 @@ func Test_Publish_batch_https_xml_raw(t *testing.T) {
Action string `schema:"Action"`
TopicArn string `schema:"TopicArn"`
PublishBatchRequestEntries []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
} `schema:"PublishBatchRequestEntries"`
}{
Action: "PublishBatch",
TopicArn: topicArn,
PublishBatchRequestEntries: []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
}{
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
Expand Down Expand Up @@ -575,21 +602,25 @@ func Test_Publish_batch_https_xml_not_raw(t *testing.T) {
Action string `schema:"Action"`
TopicArn string `schema:"TopicArn"`
PublishBatchRequestEntries []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
} `schema:"PublishBatchRequestEntries"`
}{
Action: "PublishBatch",
TopicArn: topicArn,
PublishBatchRequestEntries: []struct {
Id string `schema:"Id"`
Message string `schema:"Message"`
Subject string `schema:"Subject"`
}{
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
{
Id: uuid.NewString(),
Message: message,
Subject: subject,
},
Expand Down
26 changes: 13 additions & 13 deletions smoke_tests/sns_publish_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ func Test_Publish_sqs_json_raw(t *testing.T) {
message := "{\"IAm\": \"aMessage\"}"
subject := "I am a subject"
response, err := snsClient.Publish(context.TODO(), &sns.PublishInput{
TopicArn: &topicArn,
Message: &message,
Subject: &subject,
TopicArn: aws.String(topicArn),
Message: aws.String(message),
Subject: aws.String(subject),
})

assert.Nil(t, err)
Expand Down Expand Up @@ -70,9 +70,9 @@ func Test_Publish_sqs_json_not_raw(t *testing.T) {
message := "{\"IAm\": \"aMessage\"}"
subject := "I am a subject"
response, err := snsClient.Publish(context.TODO(), &sns.PublishInput{
TopicArn: &topicArn,
Message: &message,
Subject: &subject,
TopicArn: aws.String(topicArn),
Message: aws.String(message),
Subject: aws.String(subject),
})

assert.Nil(t, err)
Expand Down Expand Up @@ -128,8 +128,8 @@ func Test_Publish_http_json(t *testing.T) {
topicArn := app.SyncTopics.Topics["unit-topic-http"].Arn
message := "{\"IAm\": \"aMessage\"}"
response, err := snsClient.Publish(context.TODO(), &sns.PublishInput{
TopicArn: &topicArn,
Message: &message,
TopicArn: aws.String(topicArn),
Message: aws.String(message),
})

assert.Nil(t, err)
Expand Down Expand Up @@ -174,8 +174,8 @@ func Test_Publish_https_json_raw(t *testing.T) {
topicArn := app.SyncTopics.Topics["unit-topic-http"].Arn
message := "{\"IAm\": \"aMessage\"}"
response, err := snsClient.Publish(context.TODO(), &sns.PublishInput{
TopicArn: &topicArn,
Message: &message,
TopicArn: aws.String(topicArn),
Message: aws.String(message),
})

assert.Nil(t, err)
Expand Down Expand Up @@ -222,9 +222,9 @@ func Test_Publish_https_json_not_raw(t *testing.T) {
message := "{\"IAm\": \"aMessage\"}"
subject := "I am a subject"
response, err := snsClient.Publish(context.TODO(), &sns.PublishInput{
TopicArn: &topicArn,
Message: &message,
Subject: &subject,
TopicArn: aws.String(topicArn),
Message: aws.String(message),
Subject: aws.String(subject),
})

assert.Nil(t, err)
Expand Down

0 comments on commit a3fed24

Please sign in to comment.