uses AWS environment variables

Signed-off-by: Roberto Rojas <robertojrojas@gmail.com>
This commit is contained in:
Roberto Rojas 2023-01-03 18:43:18 -05:00
parent 6c69060f37
commit 390a2fa78d
11 changed files with 127 additions and 11 deletions

View File

@ -302,7 +302,8 @@ jobs:
working-directory: ${{ env.TEST_PATH }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
AWS_REGION: "us-west-1"
run: |
echo "Running certification tests for ${{ matrix.component }} ... "
export GOLANG_PROTOBUF_REGISTRATION_CONFLICT=ignore

View File

@ -0,0 +1,9 @@
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: envvar-secret-store
namespace: default
spec:
type: secretstores.local.env
version: v1
metadata:

View File

@ -6,5 +6,21 @@ spec:
type: pubsub.snssqs
version: v1
metadata:
- name: accessKey
secretKeyRef:
name: AWS_ACCESS_KEY_ID
key: AWS_ACCESS_KEY_ID
- name: secretKey
secretKeyRef:
name: AWS_SECRET_ACCESS_KEY
key: AWS_SECRET_ACCESS_KEY
- name: region
secretKeyRef:
name: AWS_REGION
key: AWS_REGION
- name: consumerID
value: snssqscerttest1
secretKeyRef:
name: PUBSUB_AWS_SNSSQS_QUEUE_1
key: PUBSUB_AWS_SNSSQS_QUEUE_1
auth:
secretstore: envvar-secret-store

View File

@ -0,0 +1,9 @@
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: envvar-secret-store
namespace: default
spec:
type: secretstores.local.env
version: v1
metadata:

View File

@ -6,5 +6,21 @@ spec:
type: pubsub.snssqs
version: v1
metadata:
- name: accessKey
secretKeyRef:
name: AWS_ACCESS_KEY_ID
key: AWS_ACCESS_KEY_ID
- name: secretKey
secretKeyRef:
name: AWS_SECRET_ACCESS_KEY
key: AWS_SECRET_ACCESS_KEY
- name: region
secretKeyRef:
name: AWS_REGION
key: AWS_REGION
- name: consumerID
value: snssqscerttest2
secretKeyRef:
name: PUBSUB_AWS_SNSSQS_QUEUE_2
key: PUBSUB_AWS_SNSSQS_QUEUE_2
auth:
secretstore: envvar-secret-store

View File

@ -0,0 +1,9 @@
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: envvar-secret-store
namespace: default
spec:
type: secretstores.local.env
version: v1
metadata:

View File

@ -6,7 +6,23 @@ spec:
type: pubsub.snssqs
version: v1
metadata:
- name: accessKey
secretKeyRef:
name: AWS_ACCESS_KEY_ID
key: AWS_ACCESS_KEY_ID
- name: secretKey
secretKeyRef:
name: AWS_SECRET_ACCESS_KEY
key: AWS_SECRET_ACCESS_KEY
- name: region
secretKeyRef:
name: AWS_REGION
key: AWS_REGION
- name: consumerID
value: snssqscerttest1
secretKeyRef:
name: PUBSUB_AWS_SNSSQS_QUEUE_1
key: PUBSUB_AWS_SNSSQS_QUEUE_1
- name: defaultMessageTimeToLiveInSec
value: 10
value: 10
auth:
secretstore: envvar-secret-store

View File

@ -0,0 +1,9 @@
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: envvar-secret-store
namespace: default
spec:
type: secretstores.local.env
version: v1
metadata:

View File

@ -6,8 +6,18 @@ spec:
type: pubsub.snssqs
version: v1
metadata:
- name: consumerID
value: snssqscerttest1
- name: accessKey
secretKeyRef:
name: AWS_ACCESS_KEY_ID
key: AWS_ACCESS_KEY_ID
- name: secretKey
secretKeyRef:
name: AWS_SECRET_ACCESS_KEY
key: AWS_SECRET_ACCESS_KEY
- name: region
secretKeyRef:
name: AWS_REGION
key: AWS_REGION
- name: timeoutInSec
value: 60
- name: handlerTimeoutInSec
@ -37,4 +47,6 @@ spec:
- name: publishMaxRetries
value: 5
- name: publishInitialRetryInternalInMs
value: 500
value: 500
auth:
secretstore: envvar-secret-store

View File

@ -25,7 +25,7 @@ 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 fmt.Errorf("error deleting the queue URL: %q err:%v", queue, err)
}
}
return nil
@ -46,7 +46,7 @@ func deleteQueue(svc *sqs.SQS, queue string) error {
QueueName: &queue,
})
if err != nil {
return fmt.Errorf("error getting the queue URL: %q err:%v\n", queue, err)
return fmt.Errorf("error getting the queue URL: %q err:%v", queue, err)
}
_, err = svc.DeleteQueue(&sqs.DeleteQueueInput{

View File

@ -16,6 +16,7 @@ package snssqs_test
import (
"context"
"fmt"
"os"
"testing"
"time"
@ -25,7 +26,9 @@ import (
// Pub-Sub.
pubsub_snssqs "github.com/dapr/components-contrib/pubsub/aws/snssqs"
secretstore_env "github.com/dapr/components-contrib/secretstores/local/env"
pubsub_loader "github.com/dapr/dapr/pkg/components/pubsub"
secretstores_loader "github.com/dapr/dapr/pkg/components/secretstores"
"github.com/dapr/kit/logger"
"github.com/dapr/dapr/pkg/runtime"
@ -69,6 +72,17 @@ var queues = []string{
"snssqscerttest2",
}
func init() {
qn := os.Getenv("PUBSUB_AWS_SNSSQS_QUEUE_1")
if qn != "" {
queues[0] = qn
}
qn = os.Getenv("PUBSUB_AWS_SNSSQS_QUEUE_2")
if qn != "" {
queues[1] = qn
}
}
func TestAWSSNSSQSCertificationTests(t *testing.T) {
defer teardown(t)
@ -906,15 +920,20 @@ func componentRuntimeOptions() []runtime.Option {
pubsubRegistry.Logger = log
pubsubRegistry.RegisterComponent(pubsub_snssqs.NewSnsSqs, "snssqs")
secretstoreRegistry := secretstores_loader.NewRegistry()
secretstoreRegistry.Logger = log
secretstoreRegistry.RegisterComponent(secretstore_env.NewEnvSecretStore, "local.env")
return []runtime.Option{
runtime.WithPubSubs(pubsubRegistry),
runtime.WithSecretStores(secretstoreRegistry),
}
}
func teardown(t *testing.T) {
t.Logf("AWS SNS/SQS CertificationTests teardown...")
if err := deleteQueues(queues); err != nil {
t.Error(err)
t.Log(err)
}
t.Logf("AWS SNS/SQS CertificationTests teardown...done!")
}