From ed6f268537178a32b7cd0b2d8aa266a284d967cc Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Wed, 18 Jan 2023 11:22:02 +0100 Subject: [PATCH] chore: standardized env setup for tests --- packages/commons/jest.config.js | 4 ++++ packages/idempotency/jest.config.js | 2 +- .../tests/helpers/populateEnvironmentVariables.ts | 4 +++- .../tests/helpers/populateEnvironmentVariables.ts | 4 +++- packages/metrics/jest.config.js | 7 +++++++ .../tests/helpers/populate-environment-variables.ts | 9 --------- .../tests/helpers/populateEnvironmentVariables.ts | 10 ++++++++++ packages/metrics/tests/unit/Metrics.test.ts | 10 ++-------- .../tests/helpers/populateEnvironmentVariables.ts | 8 +++----- packages/tracer/jest.config.js | 2 +- .../tests/helpers/populateEnvironmentVariables.ts | 4 +++- 11 files changed, 37 insertions(+), 27 deletions(-) delete mode 100644 packages/metrics/tests/helpers/populate-environment-variables.ts create mode 100644 packages/metrics/tests/helpers/populateEnvironmentVariables.ts diff --git a/packages/commons/jest.config.js b/packages/commons/jest.config.js index 6fbaae512f..c60b4837dc 100644 --- a/packages/commons/jest.config.js +++ b/packages/commons/jest.config.js @@ -1,4 +1,8 @@ module.exports = { + displayName: { + name: 'AWS Lambda Powertools utility: COMMONS', + color: 'red', + }, 'preset': 'ts-jest', 'transform': { '^.+\\.ts?$': 'ts-jest', diff --git a/packages/idempotency/jest.config.js b/packages/idempotency/jest.config.js index c33c7e13fc..aa65679554 100644 --- a/packages/idempotency/jest.config.js +++ b/packages/idempotency/jest.config.js @@ -1,7 +1,7 @@ module.exports = { displayName: { name: 'AWS Lambda Powertools utility: IDEMPOTENCY', - color: 'blue', + color: 'yellow', }, 'runner': 'groups', 'preset': 'ts-jest', diff --git a/packages/idempotency/tests/helpers/populateEnvironmentVariables.ts b/packages/idempotency/tests/helpers/populateEnvironmentVariables.ts index d38651b714..0511a61959 100644 --- a/packages/idempotency/tests/helpers/populateEnvironmentVariables.ts +++ b/packages/idempotency/tests/helpers/populateEnvironmentVariables.ts @@ -3,5 +3,7 @@ process.env._X_AMZN_TRACE_ID = '1-abcdef12-3456abcdef123456abcdef12'; process.env.AWS_LAMBDA_FUNCTION_NAME = 'my-lambda-function'; process.env.AWS_EXECUTION_ENV = 'nodejs16.x'; process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE = '128'; -process.env.AWS_REGION = 'eu-west-1'; +if (process.env.AWS_REGION === undefined && process.env.CDK_DEFAULT_REGION === undefined) { + process.env.AWS_REGION = 'eu-west-1'; +} process.env._HANDLER = 'index.handler'; \ No newline at end of file diff --git a/packages/logger/tests/helpers/populateEnvironmentVariables.ts b/packages/logger/tests/helpers/populateEnvironmentVariables.ts index e808ac84b9..604904e073 100644 --- a/packages/logger/tests/helpers/populateEnvironmentVariables.ts +++ b/packages/logger/tests/helpers/populateEnvironmentVariables.ts @@ -2,7 +2,9 @@ process.env._X_AMZN_TRACE_ID = 'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1'; process.env.AWS_LAMBDA_FUNCTION_NAME = 'my-lambda-function'; process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE = '128'; -process.env.AWS_REGION = 'eu-west-1'; +if (process.env.AWS_REGION === undefined && process.env.CDK_DEFAULT_REGION === undefined) { + process.env.AWS_REGION = 'eu-west-1'; +} // Powertools variables process.env.LOG_LEVEL = 'DEBUG'; diff --git a/packages/metrics/jest.config.js b/packages/metrics/jest.config.js index 118de05065..11773c6994 100644 --- a/packages/metrics/jest.config.js +++ b/packages/metrics/jest.config.js @@ -1,4 +1,8 @@ module.exports = { + displayName: { + name: 'AWS Lambda Powertools utility: METRICS', + color: 'green', + }, 'runner': 'groups', 'preset': 'ts-jest', 'transform': { @@ -33,4 +37,7 @@ module.exports = { 'json-summary', 'text', 'lcov' ], + 'setupFiles': [ + '/tests/helpers/populateEnvironmentVariables.ts' + ] }; \ No newline at end of file diff --git a/packages/metrics/tests/helpers/populate-environment-variables.ts b/packages/metrics/tests/helpers/populate-environment-variables.ts deleted file mode 100644 index 82f69ebf44..0000000000 --- a/packages/metrics/tests/helpers/populate-environment-variables.ts +++ /dev/null @@ -1,9 +0,0 @@ -const populateEnvironmentVariables = (): void => { - - process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -}; - -export { - populateEnvironmentVariables, -}; \ No newline at end of file diff --git a/packages/metrics/tests/helpers/populateEnvironmentVariables.ts b/packages/metrics/tests/helpers/populateEnvironmentVariables.ts new file mode 100644 index 0000000000..37e985813c --- /dev/null +++ b/packages/metrics/tests/helpers/populateEnvironmentVariables.ts @@ -0,0 +1,10 @@ +// Reserved variables +process.env._X_AMZN_TRACE_ID = 'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1'; +process.env.AWS_LAMBDA_FUNCTION_NAME = 'my-lambda-function'; +process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE = '128'; +if (process.env.AWS_REGION === undefined && process.env.CDK_DEFAULT_REGION === undefined) { + process.env.AWS_REGION = 'eu-west-1'; +} + +// Powertools variables +process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; \ No newline at end of file diff --git a/packages/metrics/tests/unit/Metrics.test.ts b/packages/metrics/tests/unit/Metrics.test.ts index ef34f6b6b9..5f2bd02bf8 100644 --- a/packages/metrics/tests/unit/Metrics.test.ts +++ b/packages/metrics/tests/unit/Metrics.test.ts @@ -7,7 +7,6 @@ import { ContextExamples as dummyContext, Events as dummyEvent, LambdaInterface } from '@aws-lambda-powertools/commons'; import { Context, Callback } from 'aws-lambda'; import { Metrics, MetricUnits } from '../../src/'; -import { populateEnvironmentVariables } from '../helpers'; const MAX_METRICS_SIZE = 100; const MAX_DIMENSION_COUNT = 29; @@ -20,7 +19,7 @@ interface LooseObject { } describe('Class: Metrics', () => { - const originalEnvironmentVariables = process.env; + const ENVIRONMENT_VARIABLES = process.env; const context = dummyContext.helloworldContext; const event = dummyEvent.Custom.CustomEvent; @@ -29,12 +28,7 @@ describe('Class: Metrics', () => { }); beforeAll(() => { - populateEnvironmentVariables(); - }); - - afterEach(() => { - process.env = originalEnvironmentVariables; - delete process.env.POWERTOOLS_SERVICE_NAME; + process.env = { ...ENVIRONMENT_VARIABLES }; }); describe('Feature: Dimensions logging', () => { diff --git a/packages/parameters/tests/helpers/populateEnvironmentVariables.ts b/packages/parameters/tests/helpers/populateEnvironmentVariables.ts index e808ac84b9..7ff0774273 100644 --- a/packages/parameters/tests/helpers/populateEnvironmentVariables.ts +++ b/packages/parameters/tests/helpers/populateEnvironmentVariables.ts @@ -2,8 +2,6 @@ process.env._X_AMZN_TRACE_ID = 'Root=1-5759e988-bd862e3fe1be46a994272793;Parent=557abcec3ee5a047;Sampled=1'; process.env.AWS_LAMBDA_FUNCTION_NAME = 'my-lambda-function'; process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE = '128'; -process.env.AWS_REGION = 'eu-west-1'; - -// Powertools variables -process.env.LOG_LEVEL = 'DEBUG'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; +if (process.env.AWS_REGION === undefined && process.env.CDK_DEFAULT_REGION === undefined) { + process.env.AWS_REGION = 'eu-west-1'; +} diff --git a/packages/tracer/jest.config.js b/packages/tracer/jest.config.js index 21510dceb2..d23175955a 100644 --- a/packages/tracer/jest.config.js +++ b/packages/tracer/jest.config.js @@ -1,7 +1,7 @@ module.exports = { displayName: { name: 'AWS Lambda Powertools utility: TRACER', - color: 'cyan', + color: 'white', }, 'runner': 'groups', 'preset': 'ts-jest', diff --git a/packages/tracer/tests/helpers/populateEnvironmentVariables.ts b/packages/tracer/tests/helpers/populateEnvironmentVariables.ts index 4eb2b25522..3dd17a6aa7 100644 --- a/packages/tracer/tests/helpers/populateEnvironmentVariables.ts +++ b/packages/tracer/tests/helpers/populateEnvironmentVariables.ts @@ -3,7 +3,9 @@ process.env._X_AMZN_TRACE_ID = '1-abcdef12-3456abcdef123456abcdef12'; process.env.AWS_LAMBDA_FUNCTION_NAME = 'my-lambda-function'; process.env.AWS_EXECUTION_ENV = 'nodejs16.x'; process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE = '128'; -process.env.AWS_REGION = 'eu-west-1'; +if (process.env.AWS_REGION === undefined && process.env.CDK_DEFAULT_REGION === undefined) { + process.env.AWS_REGION = 'eu-west-1'; +} process.env._HANDLER = 'index.handler'; // Powertools variables