From 5791ddd01b9d9a7ca129eab74a246aa434ef4347 Mon Sep 17 00:00:00 2001 From: jlenon7 Date: Mon, 11 Aug 2025 11:44:10 -0300 Subject: [PATCH] chore: update dependencies --- configurer/queue | 4 +-- configurer/worker | 6 ++-- package-lock.json | 4 +-- package.json | 2 +- src/drivers/AwsSqsDriver.ts | 25 +++++++++++----- tests/fixtures/config/queue.ts | 4 +-- tests/unit/drivers/AwsSqsDriverTest.ts | 30 +++++++++---------- tests/unit/factories/ConnectionFactoryTest.ts | 2 +- 8 files changed, 44 insertions(+), 33 deletions(-) diff --git a/configurer/queue b/configurer/queue index 990da5e..246af1c 100644 --- a/configurer/queue +++ b/configurer/queue @@ -23,7 +23,7 @@ export default { | is used by your application. A default configuration has been added | for each back-end shipped with Athenna. You are free to add more. | - | Drivers: "memory", "database", "awsSqs", "fake" + | Drivers: "memory", "database", "aws_sqs", "fake" | */ @@ -35,7 +35,7 @@ export default { attempts: 3 }, - awsSqs: { + aws_sqs: { driver: 'aws_sqs', queue: 'queue_name', deadletter: 'deadletter_queue_name', diff --git a/configurer/worker b/configurer/worker index 62f3e92..9fdf802 100644 --- a/configurer/worker +++ b/configurer/worker @@ -26,7 +26,7 @@ export default { */ logger: { - enabled: Env('LOG_WORKER', true), - prettifyException: Env('LOG_PRETTY', true) - }, + enabled: Env('LOG_WORKER', false), + prettifyException: Env('LOG_PRETTY', false) + } } diff --git a/package-lock.json b/package-lock.json index 71549f9..890b545 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@athenna/queue", - "version": "5.13.0", + "version": "5.14.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@athenna/queue", - "version": "5.13.0", + "version": "5.14.0", "license": "MIT", "dependencies": { "@aws-sdk/client-sqs": "^3.859.0" diff --git a/package.json b/package.json index 60078d8..81bcd8a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@athenna/queue", - "version": "5.13.0", + "version": "5.14.0", "description": "The Athenna queue handler.", "license": "MIT", "author": "João Lenon ", diff --git a/src/drivers/AwsSqsDriver.ts b/src/drivers/AwsSqsDriver.ts index dcd32f4..54f3af6 100644 --- a/src/drivers/AwsSqsDriver.ts +++ b/src/drivers/AwsSqsDriver.ts @@ -141,13 +141,24 @@ export class AwsSqsDriver extends Driver { return } - this.client = new SQSClient({ - region: this.region, - credentials: { - accessKeyId: this.awsAccessKeyId, - secretAccessKey: this.awsSecretAccessKey - } - }) + let sqsClientOptions: any = { + region: this.region, + credentials: { + accessKeyId: this.awsAccessKeyId, + secretAccessKey: this.awsSecretAccessKey + } + } + + /** + * If the AWS_SESSION_TOKEN is set, it means that the session is running inside + * AWS. In this case, we can't set any options to SQSClient, otherwise the client + * will fail to authenticate. + */ + if (Env('AWS_SESSION_TOKEN')) { + sqsClientOptions = {} + } + + this.client = new SQSClient(sqsClientOptions) this.isConnected = true this.isSavedOnFactory = options.saveOnFactory diff --git a/tests/fixtures/config/queue.ts b/tests/fixtures/config/queue.ts index 473d335..c281eba 100644 --- a/tests/fixtures/config/queue.ts +++ b/tests/fixtures/config/queue.ts @@ -32,7 +32,7 @@ export default { | is used by your application. A default configuration has been added | for each back-end shipped with Athenna. You are free to add more. | - | Drivers: "memory", "database", "awsSqs", "fake" + | Drivers: "memory", "database", "aws_sqs", "fake" | */ @@ -55,7 +55,7 @@ export default { } }, - awsSqs: { + aws_sqs: { driver: 'aws_sqs', type: 'standard', queue: 'https://sqs.sa-east-1.amazonaws.com/528757804004/athenna_queue', diff --git a/tests/unit/drivers/AwsSqsDriverTest.ts b/tests/unit/drivers/AwsSqsDriverTest.ts index 450f3c1..0c2c8b9 100644 --- a/tests/unit/drivers/AwsSqsDriverTest.ts +++ b/tests/unit/drivers/AwsSqsDriverTest.ts @@ -38,14 +38,14 @@ export class AwsSqsDriverTest extends BaseTest { @Test() public async shouldBeAbleToConnectToDriver({ assert }: Context) { - Queue.connection('awsSqs') + Queue.connection('aws_sqs') assert.isTrue(Queue.isConnected()) } @Test() public async shouldBeAbleToCloseTheConnectionWithDriver({ assert }: Context) { - const queue = Queue.connection('awsSqs') + const queue = Queue.connection('aws_sqs') await queue.close() @@ -54,7 +54,7 @@ export class AwsSqsDriverTest extends BaseTest { @Test() public async shouldBeAbleToCloneTheQueueInstance({ assert }: Context) { - const driver = Queue.connection('awsSqs').driver + const driver = Queue.connection('aws_sqs').driver const otherDriver = driver.clone() driver.isConnected = false @@ -64,14 +64,14 @@ export class AwsSqsDriverTest extends BaseTest { @Test() public async shouldBeAbleToGetDriverClient({ assert }: Context) { - const client = Queue.connection('awsSqs').driver.getClient() + const client = Queue.connection('aws_sqs').driver.getClient() assert.isDefined(client) } @Test() public async shouldBeAbleToSetDifferentClientForDriver({ assert }: Context) { - const driver = Queue.connection('awsSqs').driver + const driver = Queue.connection('aws_sqs').driver driver.setClient({ hello: 'world' } as any) @@ -80,14 +80,14 @@ export class AwsSqsDriverTest extends BaseTest { @Test() public async shouldBeAbleToSeeHowManyJobsAreInsideTheQueue({ assert }: Context) { - const length = await Queue.connection('awsSqs').length() + const length = await Queue.connection('aws_sqs').length() assert.isTrue(Is.Number(length)) } @Test() public async shouldBeAbleToAddJobsToTheQueue({ assert }: Context) { - const queue = Queue.connection('awsSqs') + const queue = Queue.connection('aws_sqs') await queue.add({ hello: 'world' }) @@ -98,7 +98,7 @@ export class AwsSqsDriverTest extends BaseTest { @Test() public async shouldBeAbleToVerifyIfTheQueueIsEmpty({ assert }: Context) { - const queue = Queue.connection('awsSqs') + const queue = Queue.connection('aws_sqs') const isEmpty = await queue.isEmpty() @@ -108,7 +108,7 @@ export class AwsSqsDriverTest extends BaseTest { @Test() @Skip('Peek is not supported in SQS.') public async shouldBeAbleToPeekTheNextJobWithoutRemovingItFromTheQueue({ assert }: Context) { - const queue = Queue.connection('awsSqs') + const queue = Queue.connection('aws_sqs') await queue.add({ name: 'lenon' }) @@ -124,7 +124,7 @@ export class AwsSqsDriverTest extends BaseTest { @Test() public async shouldBeAbleToPopTheNextJobRemovingItFromTheQueue({ assert }: Context) { - const queue = Queue.connection('awsSqs') + const queue = Queue.connection('aws_sqs') await queue.add({ name: 'lenon' }) @@ -139,7 +139,7 @@ export class AwsSqsDriverTest extends BaseTest { public async shouldBeAbleToProcessTheNextJobFromTheQueueWithAProcessor({ assert }: Context) { assert.plan(1) - const queue = Queue.connection('awsSqs') + const queue = Queue.connection('aws_sqs') await queue.add({ name: 'lenon' }) @@ -154,7 +154,7 @@ export class AwsSqsDriverTest extends BaseTest { @Test() public async shouldBeAbleToSendTheJobToDeadletterQueueIfProcessorFails({ assert }: Context) { - const queue = Queue.connection('awsSqs') + const queue = Queue.connection('aws_sqs') await queue.add({ name: 'lenon' }) @@ -162,7 +162,7 @@ export class AwsSqsDriverTest extends BaseTest { throw new Error('testing') }) - const isEmpty = await queue.queue(Config.get('queue.connections.awsSqs.deadletter')).isEmpty() + const isEmpty = await queue.queue(Config.get('queue.connections.aws_sqs.deadletter')).isEmpty() assert.isFalse(isEmpty) } @@ -193,7 +193,7 @@ export class AwsSqsDriverTest extends BaseTest { throw new Error('testing') }) - const isEmpty = await queue.queue(Config.get('queue.connections.awsSqs.deadletter')).isEmpty() + const isEmpty = await queue.queue(Config.get('queue.connections.aws_sqs.deadletter')).isEmpty() assert.isFalse(isEmpty) } @@ -201,7 +201,7 @@ export class AwsSqsDriverTest extends BaseTest { @Test() @Skip('PurgeQueue can only be called every 60 seconds.') public async shouldBeAbleToTruncateAllJobs({ assert }: Context) { - const queue = Queue.connection('awsSqs') + const queue = Queue.connection('aws_sqs') await queue.add({ name: 'lenon' }) diff --git a/tests/unit/factories/ConnectionFactoryTest.ts b/tests/unit/factories/ConnectionFactoryTest.ts index 8ef20f9..da82bd8 100644 --- a/tests/unit/factories/ConnectionFactoryTest.ts +++ b/tests/unit/factories/ConnectionFactoryTest.ts @@ -73,7 +73,7 @@ export class ConnectionFactoryTest { @Test() public async shouldBeAbleToFabricateNewConnectionsAndReturnAwsSqsDriverInstance({ assert }: Context) { - const driver = ConnectionFactory.fabricate('awsSqs') + const driver = ConnectionFactory.fabricate('aws_sqs') assert.instanceOf(driver, AwsSqsDriver) }