adds delete queues as part of test teardown

Signed-off-by: Roberto Rojas <robertojrojas@gmail.com>
This commit is contained in:
Roberto Rojas 2022-12-17 18:27:16 -05:00
parent 8fbb123509
commit 242f842bbe
2 changed files with 84 additions and 16 deletions

View File

@ -0,0 +1,57 @@
/*
Copyright 2022 The Dapr Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package snssqs_test
import (
"fmt"
// AWS SDK
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/sqs"
)
func deleteQueues(queues []string) error {
svc := sqsService()
for _, queue := range queues {
if err := deleteQueue(svc, queue); err != nil {
return fmt.Errorf("Got an error deleting the queue URL: %q err:%v\n", queue, err)
}
}
return nil
}
func sqsService() *sqs.SQS {
sess := session.Must(
session.NewSessionWithOptions(
session.Options{
SharedConfigState: session.SharedConfigEnable,
},
))
return sqs.New(sess)
}
func deleteQueue(svc *sqs.SQS, queue string) error {
queueUrlOutput, err := svc.GetQueueUrl(&sqs.GetQueueUrlInput{
QueueName: &queue,
})
if err != nil {
return fmt.Errorf("error getting the queue URL: %q err:%v\n", queue, err)
}
_, err = svc.DeleteQueue(&sqs.DeleteQueueInput{
QueueUrl: queueUrlOutput.QueueUrl,
})
return err
}

View File

@ -61,9 +61,12 @@ const (
partition1 = "partition-1"
)
func teardown(t *testing.T) {
t.Logf("AWS SNS/SQS CertificationTests teardown...")
// The following Queue names must match
// the values of the "consumerID" metadata properties
// found inside each of the components/*/pubsub.yaml files
var queues = []string{
"snssqscerttest1",
"snssqscerttest2",
}
func TestAWSSNSSQSCertificationTests(t *testing.T) {
@ -163,7 +166,7 @@ func SNSSQSBasic(t *testing.T) {
} else {
err = client.PublishEvent(ctx, pubsubName, topicName, message)
}
require.NoError(ctx, err, "error publishing message")
require.NoError(ctx, err, "SNSSQSBasic - error publishing message")
}
return nil
}
@ -174,7 +177,7 @@ func SNSSQSBasic(t *testing.T) {
// assert for messages
for _, m := range messageWatchers {
if !m.Assert(ctx, 25*timeout) {
ctx.Errorf("message assersion failed for watcher: %#v\n", m)
ctx.Errorf("SNSSQSBasic - message assersion failed for watcher: %#v\n", m)
}
}
@ -291,7 +294,7 @@ func SNSSQSMultipleSubsSameConsumerIDs(t *testing.T) {
} else {
err = client.PublishEvent(ctx, pubsubName, topicName, message)
}
require.NoError(ctx, err, "error publishing message")
require.NoError(ctx, err, "SNSSQSMultipleSubsSameConsumerIDs - error publishing message")
}
return nil
}
@ -302,7 +305,7 @@ func SNSSQSMultipleSubsSameConsumerIDs(t *testing.T) {
// assert for messages
for _, m := range messageWatchers {
if !m.Assert(ctx, 25*timeout) {
ctx.Errorf("message assersion failed for watcher: %#v\n", m)
ctx.Errorf("SNSSQSMultipleSubsSameConsumerIDs - message assersion failed for watcher: %#v\n", m)
}
}
@ -414,7 +417,7 @@ func SNSSQSMultipleSubsDifferentConsumerIDs(t *testing.T) {
} else {
err = client.PublishEvent(ctx, pubsubName, topicName, message)
}
require.NoError(ctx, err, "error publishing message")
require.NoError(ctx, err, "SNSSQSMultipleSubsDifferentConsumerIDs - error publishing message")
}
return nil
}
@ -425,7 +428,7 @@ func SNSSQSMultipleSubsDifferentConsumerIDs(t *testing.T) {
// assert for messages
for _, m := range messageWatchers {
if !m.Assert(ctx, 25*timeout) {
ctx.Errorf("message assersion failed for watcher: %#v\n", m)
ctx.Errorf("SNSSQSMultipleSubsDifferentConsumerIDs - message assersion failed for watcher: %#v\n", m)
}
}
@ -540,7 +543,7 @@ func SNSSQSMultiplePubSubsDifferentConsumerIDs(t *testing.T) {
} else {
err = client.PublishEvent(ctx, pubsubName, topicName, message)
}
require.NoError(ctx, err, "error publishing message")
require.NoError(ctx, err, "SNSSQSMultiplePubSubsDifferentConsumerIDs - error publishing message")
}
return nil
}
@ -551,7 +554,7 @@ func SNSSQSMultiplePubSubsDifferentConsumerIDs(t *testing.T) {
// assert for messages
for _, m := range messageWatchers {
if !m.Assert(ctx, 25*timeout) {
ctx.Errorf("message assersion failed for watcher: %#v\n", m)
ctx.Errorf("SNSSQSMultiplePubSubsDifferentConsumerIDs - message assersion failed for watcher: %#v\n", m)
}
}
@ -663,7 +666,7 @@ func SNSSQSNonexistingTopic(t *testing.T) {
} else {
err = client.PublishEvent(ctx, pubsubName, topicName, message)
}
require.NoError(ctx, err, "error publishing message")
require.NoError(ctx, err, "SNSSQSNonexistingTopic - error publishing message")
}
return nil
}
@ -674,7 +677,7 @@ func SNSSQSNonexistingTopic(t *testing.T) {
// assert for messages
for _, m := range messageWatchers {
if !m.Assert(ctx, 25*timeout) {
ctx.Errorf("message assersion failed for watcher: %#v\n", m)
ctx.Errorf("SNSSQSNonexistingTopic - message assersion failed for watcher: %#v\n", m)
}
}
@ -766,7 +769,7 @@ func SNSSQSEntityManagement(t *testing.T) {
err = client.PublishEvent(ctx, pubsubName, topicName, message)
}
// Error is expected as the topic does not exist
require.Error(ctx, err, "error publishing message")
require.Error(ctx, err, "SNSSQSEntityManagement - error publishing message")
}
return nil
}
@ -847,7 +850,7 @@ func SNSSQSDefaultTtl(t *testing.T) {
} else {
err = client.PublishEvent(ctx, pubsubName, topicName, message)
}
require.NoError(ctx, err, "error publishing message")
require.NoError(ctx, err, "SNSSQSDefaultTtl - error publishing message")
}
return nil
}
@ -858,7 +861,7 @@ func SNSSQSDefaultTtl(t *testing.T) {
// assert for messages
for _, m := range messageWatchers {
if !m.Assert(ctx, 25*timeout) {
ctx.Errorf("message assersion failed for watcher: %#v\n", m)
ctx.Errorf("SNSSQSDefaultTtl - message assersion failed for watcher: %#v\n", m)
}
}
@ -907,3 +910,11 @@ func componentRuntimeOptions() []runtime.Option {
runtime.WithPubSubs(pubsubRegistry),
}
}
func teardown(t *testing.T) {
t.Logf("AWS SNS/SQS CertificationTests teardown...")
if err := deleteQueues(queues); err != nil {
t.Error(err)
}
t.Logf("AWS SNS/SQS CertificationTests teardown...done!")
}