@@ -9,14 +9,36 @@ import { generateFilterAttributes, generateTopicSubscriptionPolicy } from './sns
99
1010describe ( 'snsAttributeUtils' , ( ) => {
1111 describe ( 'generateTopicSubscriptionPolicy' , ( ) => {
12- it ( 'resolves policy' , ( ) => {
13- const resolvedPolicy = generateTopicSubscriptionPolicy (
14- 'arn:aws:sns:eu-central-1:632374391739:test-sns-some-service' ,
15- 'arn:aws:sqs:eu-central-1:632374391739:test-sqs-*' ,
12+ it ( 'resolves policy for both params' , ( ) => {
13+ const resolvedPolicy = generateTopicSubscriptionPolicy ( {
14+ topicArn : 'arn:aws:sns:eu-central-1:632374391739:test-sns-some-service' ,
15+ allowedSqsQueueUrlPrefix : 'arn:aws:sqs:eu-central-1:632374391739:test-sqs-*' ,
16+ allowedSourceOwner : '111111111111' ,
17+ } )
18+
19+ expect ( resolvedPolicy ) . toBe (
20+ `{"Version":"2012-10-17","Id":"__default_policy_ID","Statement":[{"Sid":"AllowSQSSubscription","Effect":"Allow","Principal":{"AWS":"*"},"Action":["sns:Subscribe"],"Resource":"arn:aws:sns:eu-central-1:632374391739:test-sns-some-service","Condition":{"StringEquals":{"AWS:SourceOwner": "111111111111"},"StringLike":{"sns:Endpoint":"arn:aws:sqs:eu-central-1:632374391739:test-sqs-*"}}}]}` ,
21+ )
22+ } )
23+
24+ it ( 'resolves policy for one param' , ( ) => {
25+ const resolvedPolicy = generateTopicSubscriptionPolicy ( {
26+ topicArn : 'arn:aws:sns:eu-central-1:632374391739:test-sns-some-service' ,
27+ allowedSourceOwner : '111111111111' ,
28+ } )
29+
30+ expect ( resolvedPolicy ) . toBe (
31+ `{"Version":"2012-10-17","Id":"__default_policy_ID","Statement":[{"Sid":"AllowSQSSubscription","Effect":"Allow","Principal":{"AWS":"*"},"Action":["sns:Subscribe"],"Resource":"arn:aws:sns:eu-central-1:632374391739:test-sns-some-service","Condition":{"StringEquals":{"AWS:SourceOwner": "111111111111"}}}]}` ,
1632 )
33+ } )
34+
35+ it ( 'resolves policy for zero params' , ( ) => {
36+ const resolvedPolicy = generateTopicSubscriptionPolicy ( {
37+ topicArn : 'arn:aws:sns:eu-central-1:632374391739:test-sns-some-service' ,
38+ } )
1739
1840 expect ( resolvedPolicy ) . toBe (
19- `{"Version":"2012-10-17","Id":"__default_policy_ID","Statement":[{"Sid":"AllowSQSSubscription","Effect":"Allow","Principal":{"AWS":"*"},"Action":["sns:Subscribe"],"Resource":"arn:aws:sns:eu-central-1:632374391739:test-sns-some-service","Condition":{"StringLike":{"sns:Endpoint":"arn:aws:sqs:eu-central-1:632374391739:test-sqs-*"} }}]}` ,
41+ `{"Version":"2012-10-17","Id":"__default_policy_ID","Statement":[{"Sid":"AllowSQSSubscription","Effect":"Allow","Principal":{"AWS":"*"},"Action":["sns:Subscribe"],"Resource":"arn:aws:sns:eu-central-1:632374391739:test-sns-some-service","Condition":{}}]}` ,
2042 )
2143 } )
2244 } )
0 commit comments