@@ -20,6 +20,8 @@ describe('SnsSqsPermissionConsumer', () => {
2020 const queueName = 'some-queue'
2121 const topicNome = 'some-topic'
2222
23+ const queueUrl = `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } `
24+
2325 let diContainer : AwilixContainer < Dependencies >
2426 let sqsClient : SQSClient
2527 let snsClient : SNSClient
@@ -44,7 +46,7 @@ describe('SnsSqsPermissionConsumer', () => {
4446
4547 const newConsumer = new SnsSqsPermissionConsumer ( diContainer . cradle , {
4648 locatorConfig : {
47- queueUrl : `http://s3.localhost.localstack.cloud:4566/000000000000/ ${ queueName } ` ,
49+ queueUrl,
4850 subscriptionArn : 'dummy' ,
4951 topicArn : 'dummy' ,
5052 } ,
@@ -53,7 +55,7 @@ describe('SnsSqsPermissionConsumer', () => {
5355 await expect ( ( ) => newConsumer . init ( ) ) . rejects . toThrow ( / d o e s n o t e x i s t / )
5456 } )
5557
56- it ( 'does not create a new queue when queue locator is passed' , async ( ) => {
58+ it ( 'does not create a new queue when queue locator with url is passed' , async ( ) => {
5759 await assertQueue ( sqsClient , {
5860 QueueName : queueName ,
5961 } )
@@ -65,16 +67,41 @@ describe('SnsSqsPermissionConsumer', () => {
6567 const newConsumer = new SnsSqsPermissionConsumer ( diContainer . cradle , {
6668 locatorConfig : {
6769 topicArn : arn ,
68- queueUrl : `http://s3.localhost.localstack.cloud:4566/000000000000/ ${ queueName } ` ,
70+ queueUrl,
6971 subscriptionArn :
7072 'arn:aws:sns:eu-west-1:000000000000:user_permissions:bdf640a2-bedf-475a-98b8-758b88c87395' ,
7173 } ,
7274 } )
7375
7476 await newConsumer . init ( )
75- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
76- `http://s3.localhost.localstack.cloud:4566/000000000000/${ queueName } ` ,
77+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
78+ expect ( newConsumer . subscriptionProps . queueName ) . toBe ( queueName )
79+ expect ( newConsumer . subscriptionProps . topicArn ) . toEqual ( arn )
80+ expect ( newConsumer . subscriptionProps . subscriptionArn ) . toBe (
81+ 'arn:aws:sns:eu-west-1:000000000000:user_permissions:bdf640a2-bedf-475a-98b8-758b88c87395' ,
7782 )
83+ } )
84+
85+ it ( 'does not create a new queue when queue locator with name is passed' , async ( ) => {
86+ await assertQueue ( sqsClient , {
87+ QueueName : queueName ,
88+ } )
89+
90+ const arn = await assertTopic ( snsClient , stsClient , {
91+ Name : topicNome ,
92+ } )
93+
94+ const newConsumer = new SnsSqsPermissionConsumer ( diContainer . cradle , {
95+ locatorConfig : {
96+ topicArn : arn ,
97+ queueName,
98+ subscriptionArn :
99+ 'arn:aws:sns:eu-west-1:000000000000:user_permissions:bdf640a2-bedf-475a-98b8-758b88c87395' ,
100+ } ,
101+ } )
102+
103+ await newConsumer . init ( )
104+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
78105 expect ( newConsumer . subscriptionProps . queueName ) . toBe ( queueName )
79106 expect ( newConsumer . subscriptionProps . topicArn ) . toEqual ( arn )
80107 expect ( newConsumer . subscriptionProps . subscriptionArn ) . toBe (
@@ -99,9 +126,7 @@ describe('SnsSqsPermissionConsumer', () => {
99126 } )
100127
101128 await newConsumer . init ( )
102- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
103- `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } ` ,
104- )
129+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
105130 expect ( newConsumer . subscriptionProps . queueName ) . toBe ( queueName )
106131 expect ( newConsumer . subscriptionProps . topicArn ) . toEqual ( arn )
107132 expect ( newConsumer . subscriptionProps . subscriptionArn ) . toMatch (
@@ -151,9 +176,7 @@ describe('SnsSqsPermissionConsumer', () => {
151176 } )
152177
153178 await newConsumer . init ( )
154- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
155- `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } ` ,
156- )
179+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
157180 expect ( newConsumer . subscriptionProps . queueName ) . toBe ( queueName )
158181
159182 const updateCall = sqsSpy . mock . calls . find ( ( entry ) => {
@@ -197,9 +220,7 @@ describe('SnsSqsPermissionConsumer', () => {
197220 } )
198221
199222 await newConsumer . init ( )
200- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
201- `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } ` ,
202- )
223+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
203224 expect ( newConsumer . subscriptionProps . queueName ) . toBe ( queueName )
204225
205226 const updateCall = sqsSpy . mock . calls . find ( ( entry ) => {
@@ -382,9 +403,7 @@ describe('SnsSqsPermissionConsumer', () => {
382403 } )
383404
384405 await newConsumer . init ( )
385- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
386- `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } ` ,
387- )
406+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
388407 expect ( newConsumer . subscriptionProps . queueName ) . toBe ( queueName )
389408
390409 const attributes = await getQueueAttributes (
@@ -426,9 +445,7 @@ describe('SnsSqsPermissionConsumer', () => {
426445 } )
427446
428447 await newConsumer . init ( )
429- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
430- `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } ` ,
431- )
448+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
432449
433450 const attributes = await getQueueAttributes (
434451 sqsClient ,
@@ -461,9 +478,7 @@ describe('SnsSqsPermissionConsumer', () => {
461478 } )
462479
463480 await newConsumer . init ( )
464- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
465- `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } ` ,
466- )
481+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
467482 expect ( newConsumer . subscriptionProps . queueName ) . toBe ( queueName )
468483
469484 const attributes = await getQueueAttributes (
@@ -492,9 +507,7 @@ describe('SnsSqsPermissionConsumer', () => {
492507 } )
493508
494509 await newConsumer . init ( )
495- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
496- `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } ` ,
497- )
510+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
498511 expect ( newConsumer . subscriptionProps . deadLetterQueueUrl ) . toBe (
499512 'http://sqs.eu-west-1.localstack:4566/000000000000/deadLetterQueue' ,
500513 )
@@ -532,9 +545,7 @@ describe('SnsSqsPermissionConsumer', () => {
532545 } )
533546
534547 await newConsumer . init ( )
535- expect ( newConsumer . subscriptionProps . queueUrl ) . toBe (
536- `http://sqs.eu-west-1.localstack:4566/000000000000/${ queueName } ` ,
537- )
548+ expect ( newConsumer . subscriptionProps . queueUrl ) . toBe ( queueUrl )
538549 expect ( newConsumer . subscriptionProps . deadLetterQueueUrl ) . toBe (
539550 'http://sqs.eu-west-1.localstack:4566/000000000000/deadLetterQueue' ,
540551 )
0 commit comments