From eeb8ff20eba08cc0d40d0f42487c0b850fd4a141 Mon Sep 17 00:00:00 2001 From: Memsbdm Date: Sat, 30 Mar 2024 17:09:00 +0100 Subject: [PATCH 1/3] Fix: Change .env variables for AWS SES config --- .env.example | 8 ++++---- .github/workflows/checks.yml | 8 ++++---- configure.ts | 2 +- stubs/config/mail.stub | 6 +++--- tests/integration/transports/ses.spec.ts | 10 +++++----- tests/unit/define_config.spec.ts | 8 ++++---- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.env.example b/.env.example index 3ad7705..d35e90d 100644 --- a/.env.example +++ b/.env.example @@ -9,10 +9,10 @@ MAILTRAP_PASSWORD= MAILTRAP_FROM_EMAIL= ### AWS SES -AWS_FROM_EMAIL= -AWS_ACCESS_KEY_ID= -AWS_SECRET_ACCESS_KEY= -AWS_REGION= +SES_FROM_EMAIL= +SES_ACCESS_KEY_ID= +SES_SECRET_ACCESS_KEY= +SES_REGION= ### SparkPost SPARKPOST_FROM_EMAIL= diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index e2ba7a5..01819bb 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -33,10 +33,10 @@ jobs: MAILTRAP_PASSWORD: ${{ secrets.MAILTRAP_PASSWORD }} MAILTRAP_FROM_EMAIL: 7dd3bbdc5b-735f34@inbox.mailtrap.io - AWS_FROM_EMAIL: virk@adonisjs.com - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: us-west-2 + SES_FROM_EMAIL: virk@adonisjs.com + SES_ACCESS_KEY_ID: ${{ secrets.SES_ACCESS_KEY_ID }} + SES_SECRET_ACCESS_KEY: ${{ secrets.SES_SECRET_ACCESS_KEY }} + SES_REGION: us-west-2 SPARKPOST_FROM_EMAIL: virk@adonisjs.com SPARKPOST_API_KEY: ${{ secrets.SPARKPOST_API_KEY }} diff --git a/configure.ts b/configure.ts index 4b696fa..23f6005 100644 --- a/configure.ts +++ b/configure.ts @@ -17,7 +17,7 @@ import { stubsRoot } from './stubs/main.js' */ const ENV_VARIABLES = { smtp: ['SMTP_HOST', 'SMTP_PORT'], - ses: ['SES_ACCESS_KEY', 'SES_ACCESS_SECRET', 'SES_REGION'], + ses: ['SES_ACCESS_KEY_ID', 'SES_ACCESS_SECRET', 'SES_REGION'], mailgun: ['MAILGUN_API_KEY', 'MAILGUN_DOMAIN'], sparkpost: ['SPARKPOST_API_KEY'], resend: ['RESEND_API_KEY'], diff --git a/stubs/config/mail.stub b/stubs/config/mail.stub index d89a8d2..bd72c17 100644 --- a/stubs/config/mail.stub +++ b/stubs/config/mail.stub @@ -29,10 +29,10 @@ const mailConfig = defineConfig({ {{/if}} {{#if transports.includes('ses')}} ses: transports.ses({ apiVersion: '2010-12-01', - region: process.env.AWS_REGION!, + region: process.env.SES_REGION!, credentials: { - accessKeyId: env.get('AWS_ACCESS_KEY_ID'), - secretAccessKey: env.get('AWS_SECRET_ACCESS_KEY'), + accessKeyId: env.get('SES_ACCESS_KEY_ID'), + secretAccessKey: env.get('SES_SECRET_ACCESS_KEY'), }, sendingRate: 10, maxConnections: 5, diff --git a/tests/integration/transports/ses.spec.ts b/tests/integration/transports/ses.spec.ts index 8c6211a..351f4e7 100644 --- a/tests/integration/transports/ses.spec.ts +++ b/tests/integration/transports/ses.spec.ts @@ -15,16 +15,16 @@ test.group('SES Transport', () => { test('send email using the SES transport', async ({ assert, cleanup }) => { const ses = new SESTransport({ apiVersion: '2010-12-01', - region: process.env.AWS_REGION!, + region: process.env.SES_REGION!, credentials: { - accessKeyId: process.env.AWS_ACCESS_KEY_ID!, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!, + accessKeyId: process.env.SES_ACCESS_KEY_ID!, + secretAccessKey: process.env.SES_SECRET_ACCESS_KEY!, }, }) cleanup(() => ses.close()) const message = new Message() - message.from(process.env.AWS_FROM_EMAIL!) + message.from(process.env.SES_FROM_EMAIL!) message.to(process.env.TEST_EMAILS_RECIPIENT!) message.cc(process.env.TEST_EMAILS_CC!) message.subject('Adonisv5') @@ -34,7 +34,7 @@ test.group('SES Transport', () => { assert.exists(response.original.response) assert.exists(response.messageId) - assert.equal(response.envelope!.from, process.env.AWS_FROM_EMAIL) + assert.equal(response.envelope!.from, process.env.SES_FROM_EMAIL) assert.deepEqual(response.envelope!.to, [ process.env.TEST_EMAILS_RECIPIENT!, process.env.TEST_EMAILS_CC!, diff --git a/tests/unit/define_config.spec.ts b/tests/unit/define_config.spec.ts index 76ad04a..51472ce 100644 --- a/tests/unit/define_config.spec.ts +++ b/tests/unit/define_config.spec.ts @@ -32,8 +32,8 @@ test.group('Define config', () => { const sesProvider = transports.ses({ credentials: { - accessKeyId: process.env.AWS_ACCESS_KEY_ID!, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!, + accessKeyId: process.env.SES_ACCESS_KEY_ID!, + secretAccessKey: process.env.SES_SECRET_ACCESS_KEY!, }, }) const sesFactory = await sesProvider.resolver(app) @@ -64,8 +64,8 @@ test.group('Define config', () => { smtp: transports.smtp({ host: '' }), ses: transports.ses({ credentials: { - accessKeyId: process.env.AWS_ACCESS_KEY_ID!, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!, + accessKeyId: process.env.SES_ACCESS_KEY_ID!, + secretAccessKey: process.env.SES_SECRET_ACCESS_KEY!, }, }), mailgun: transports.mailgun({ key: '', baseUrl: '', domain: '' }), From 07d0a95b969f10dc9d13ddcbbd457ea8bb71bd00 Mon Sep 17 00:00:00 2001 From: Memsbdm Date: Sat, 30 Mar 2024 17:48:34 +0100 Subject: [PATCH 2/3] Oops forgot one --- configure.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ts b/configure.ts index 23f6005..37f1b95 100644 --- a/configure.ts +++ b/configure.ts @@ -17,7 +17,7 @@ import { stubsRoot } from './stubs/main.js' */ const ENV_VARIABLES = { smtp: ['SMTP_HOST', 'SMTP_PORT'], - ses: ['SES_ACCESS_KEY_ID', 'SES_ACCESS_SECRET', 'SES_REGION'], + ses: ['SES_ACCESS_KEY_ID', 'SES_SECRET_ACCESS_KEY', 'SES_REGION'], mailgun: ['MAILGUN_API_KEY', 'MAILGUN_DOMAIN'], sparkpost: ['SPARKPOST_API_KEY'], resend: ['RESEND_API_KEY'], From e79c6e65d85b12866c9415acca7cadb9516758ee Mon Sep 17 00:00:00 2001 From: Memsbdm Date: Sat, 30 Mar 2024 18:46:08 +0100 Subject: [PATCH 3/3] Refactor: Change SES_ prefix with AWS_ --- .env.example | 8 ++++---- .github/workflows/checks.yml | 8 ++++---- configure.ts | 2 +- stubs/config/mail.stub | 6 +++--- tests/integration/transports/ses.spec.ts | 10 +++++----- tests/unit/define_config.spec.ts | 8 ++++---- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.env.example b/.env.example index d35e90d..3ad7705 100644 --- a/.env.example +++ b/.env.example @@ -9,10 +9,10 @@ MAILTRAP_PASSWORD= MAILTRAP_FROM_EMAIL= ### AWS SES -SES_FROM_EMAIL= -SES_ACCESS_KEY_ID= -SES_SECRET_ACCESS_KEY= -SES_REGION= +AWS_FROM_EMAIL= +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_REGION= ### SparkPost SPARKPOST_FROM_EMAIL= diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 01819bb..e2ba7a5 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -33,10 +33,10 @@ jobs: MAILTRAP_PASSWORD: ${{ secrets.MAILTRAP_PASSWORD }} MAILTRAP_FROM_EMAIL: 7dd3bbdc5b-735f34@inbox.mailtrap.io - SES_FROM_EMAIL: virk@adonisjs.com - SES_ACCESS_KEY_ID: ${{ secrets.SES_ACCESS_KEY_ID }} - SES_SECRET_ACCESS_KEY: ${{ secrets.SES_SECRET_ACCESS_KEY }} - SES_REGION: us-west-2 + AWS_FROM_EMAIL: virk@adonisjs.com + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_REGION: us-west-2 SPARKPOST_FROM_EMAIL: virk@adonisjs.com SPARKPOST_API_KEY: ${{ secrets.SPARKPOST_API_KEY }} diff --git a/configure.ts b/configure.ts index 37f1b95..0eae5ae 100644 --- a/configure.ts +++ b/configure.ts @@ -17,7 +17,7 @@ import { stubsRoot } from './stubs/main.js' */ const ENV_VARIABLES = { smtp: ['SMTP_HOST', 'SMTP_PORT'], - ses: ['SES_ACCESS_KEY_ID', 'SES_SECRET_ACCESS_KEY', 'SES_REGION'], + ses: ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION'], mailgun: ['MAILGUN_API_KEY', 'MAILGUN_DOMAIN'], sparkpost: ['SPARKPOST_API_KEY'], resend: ['RESEND_API_KEY'], diff --git a/stubs/config/mail.stub b/stubs/config/mail.stub index bd72c17..d89a8d2 100644 --- a/stubs/config/mail.stub +++ b/stubs/config/mail.stub @@ -29,10 +29,10 @@ const mailConfig = defineConfig({ {{/if}} {{#if transports.includes('ses')}} ses: transports.ses({ apiVersion: '2010-12-01', - region: process.env.SES_REGION!, + region: process.env.AWS_REGION!, credentials: { - accessKeyId: env.get('SES_ACCESS_KEY_ID'), - secretAccessKey: env.get('SES_SECRET_ACCESS_KEY'), + accessKeyId: env.get('AWS_ACCESS_KEY_ID'), + secretAccessKey: env.get('AWS_SECRET_ACCESS_KEY'), }, sendingRate: 10, maxConnections: 5, diff --git a/tests/integration/transports/ses.spec.ts b/tests/integration/transports/ses.spec.ts index 351f4e7..8c6211a 100644 --- a/tests/integration/transports/ses.spec.ts +++ b/tests/integration/transports/ses.spec.ts @@ -15,16 +15,16 @@ test.group('SES Transport', () => { test('send email using the SES transport', async ({ assert, cleanup }) => { const ses = new SESTransport({ apiVersion: '2010-12-01', - region: process.env.SES_REGION!, + region: process.env.AWS_REGION!, credentials: { - accessKeyId: process.env.SES_ACCESS_KEY_ID!, - secretAccessKey: process.env.SES_SECRET_ACCESS_KEY!, + accessKeyId: process.env.AWS_ACCESS_KEY_ID!, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!, }, }) cleanup(() => ses.close()) const message = new Message() - message.from(process.env.SES_FROM_EMAIL!) + message.from(process.env.AWS_FROM_EMAIL!) message.to(process.env.TEST_EMAILS_RECIPIENT!) message.cc(process.env.TEST_EMAILS_CC!) message.subject('Adonisv5') @@ -34,7 +34,7 @@ test.group('SES Transport', () => { assert.exists(response.original.response) assert.exists(response.messageId) - assert.equal(response.envelope!.from, process.env.SES_FROM_EMAIL) + assert.equal(response.envelope!.from, process.env.AWS_FROM_EMAIL) assert.deepEqual(response.envelope!.to, [ process.env.TEST_EMAILS_RECIPIENT!, process.env.TEST_EMAILS_CC!, diff --git a/tests/unit/define_config.spec.ts b/tests/unit/define_config.spec.ts index 51472ce..76ad04a 100644 --- a/tests/unit/define_config.spec.ts +++ b/tests/unit/define_config.spec.ts @@ -32,8 +32,8 @@ test.group('Define config', () => { const sesProvider = transports.ses({ credentials: { - accessKeyId: process.env.SES_ACCESS_KEY_ID!, - secretAccessKey: process.env.SES_SECRET_ACCESS_KEY!, + accessKeyId: process.env.AWS_ACCESS_KEY_ID!, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!, }, }) const sesFactory = await sesProvider.resolver(app) @@ -64,8 +64,8 @@ test.group('Define config', () => { smtp: transports.smtp({ host: '' }), ses: transports.ses({ credentials: { - accessKeyId: process.env.SES_ACCESS_KEY_ID!, - secretAccessKey: process.env.SES_SECRET_ACCESS_KEY!, + accessKeyId: process.env.AWS_ACCESS_KEY_ID!, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!, }, }), mailgun: transports.mailgun({ key: '', baseUrl: '', domain: '' }),