From 460c0755a3fd07a4405b4c59bddc726f304d86bc Mon Sep 17 00:00:00 2001 From: Max Opperman Date: Wed, 13 Aug 2025 10:16:15 +0200 Subject: [PATCH 1/3] fix(logger): resolve issue when no logger region is set --- packages/logger/src/Logger.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/logger/src/Logger.ts b/packages/logger/src/Logger.ts index 265f8ab76a..cc00e6ee8a 100644 --- a/packages/logger/src/Logger.ts +++ b/packages/logger/src/Logger.ts @@ -1362,6 +1362,7 @@ class Logger extends Utility implements LoggerInterface { this.addToPowertoolsLogData({ awsRegion: getStringFromEnv({ key: 'AWS_REGION', + defaultValue: '', }), environment: environment || From 99561a0f0f5337b4ae10c9dda8f5fd445a093786 Mon Sep 17 00:00:00 2001 From: Max Opperman Date: Wed, 13 Aug 2025 12:23:51 +0200 Subject: [PATCH 2/3] chore(logger): add tests for log data environment variables defaults --- .../tests/unit/setPowertoolsLogData.test.ts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 packages/logger/tests/unit/setPowertoolsLogData.test.ts diff --git a/packages/logger/tests/unit/setPowertoolsLogData.test.ts b/packages/logger/tests/unit/setPowertoolsLogData.test.ts new file mode 100644 index 0000000000..fa00c2efca --- /dev/null +++ b/packages/logger/tests/unit/setPowertoolsLogData.test.ts @@ -0,0 +1,38 @@ +import { Logger } from '../../src/Logger.js'; +import { describe, it, expect, vi } from 'vitest'; + +describe('Logger PowertoolsLogData AWS_REGION', () => { + it.each([ + [undefined, ''], + ['us-west-2', 'us-west-2'], + ])('should set awsRegion to %s when AWS_REGION env var is %s', (envValue, expected) => { + vi.stubEnv('AWS_REGION', envValue); + const logger = new Logger(); + expect(logger['powertoolsLogData'].awsRegion).toBe(expected); + vi.unstubAllEnvs(); + }); +}); + +describe('Logger PowertoolsLogData ENVIRONMENT', () => { + it.each([ + [undefined, ''], + ['prd', 'prd'], + ])('should set environment to %s when ENVIRONMENT env var is %s', (envValue, expected) => { + vi.stubEnv('ENVIRONMENT', envValue); + const logger = new Logger(); + expect(logger['powertoolsLogData'].environment).toBe(expected); + vi.unstubAllEnvs(); + }); +}); + +describe('Logger PowertoolsLogData POWERTOOLS_SERVICE_NAME', () => { + it.each([ + [undefined, 'service_undefined'], + ['my-service', 'my-service'], + ])('should set serviceName to %s when POWERTOOLS_SERVICE_NAME env var is %s', (envValue, expected) => { + vi.stubEnv('POWERTOOLS_SERVICE_NAME', envValue); + const logger = new Logger(); + expect(logger['powertoolsLogData'].serviceName).toBe(expected); + vi.unstubAllEnvs(); + }); +}); \ No newline at end of file From bfe97f147cb940e7dec785a5177707351d7cff1e Mon Sep 17 00:00:00 2001 From: Max Opperman Date: Wed, 13 Aug 2025 12:40:11 +0200 Subject: [PATCH 3/3] chore(logger): adhere to tests standard --- .../tests/unit/setPowertoolsLogData.test.ts | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/packages/logger/tests/unit/setPowertoolsLogData.test.ts b/packages/logger/tests/unit/setPowertoolsLogData.test.ts index fa00c2efca..696aec4438 100644 --- a/packages/logger/tests/unit/setPowertoolsLogData.test.ts +++ b/packages/logger/tests/unit/setPowertoolsLogData.test.ts @@ -1,38 +1,44 @@ import { Logger } from '../../src/Logger.js'; -import { describe, it, expect, vi } from 'vitest'; +import { describe, it, expect, vi, afterEach } from 'vitest'; + +describe('Logger PowertoolsLogData environment variables', () => { + afterEach(() => { + vi.unstubAllEnvs(); + }); -describe('Logger PowertoolsLogData AWS_REGION', () => { it.each([ [undefined, ''], ['us-west-2', 'us-west-2'], - ])('should set awsRegion to %s when AWS_REGION env var is %s', (envValue, expected) => { + ])('sets awsRegion to %s when AWS_REGION env var is %s', (envValue, expected) => { + // Prepare vi.stubEnv('AWS_REGION', envValue); + // Act const logger = new Logger(); + // Assess expect(logger['powertoolsLogData'].awsRegion).toBe(expected); - vi.unstubAllEnvs(); }); -}); -describe('Logger PowertoolsLogData ENVIRONMENT', () => { it.each([ [undefined, ''], ['prd', 'prd'], - ])('should set environment to %s when ENVIRONMENT env var is %s', (envValue, expected) => { + ])('sets environment to %s when ENVIRONMENT env var is %s', (envValue, expected) => { + // Prepare vi.stubEnv('ENVIRONMENT', envValue); + // Act const logger = new Logger(); + // Assess expect(logger['powertoolsLogData'].environment).toBe(expected); - vi.unstubAllEnvs(); }); -}); -describe('Logger PowertoolsLogData POWERTOOLS_SERVICE_NAME', () => { it.each([ [undefined, 'service_undefined'], ['my-service', 'my-service'], - ])('should set serviceName to %s when POWERTOOLS_SERVICE_NAME env var is %s', (envValue, expected) => { + ])('sets serviceName to %s when POWERTOOLS_SERVICE_NAME env var is %s', (envValue, expected) => { + // Prepare vi.stubEnv('POWERTOOLS_SERVICE_NAME', envValue); + // Act const logger = new Logger(); + // Assess expect(logger['powertoolsLogData'].serviceName).toBe(expected); - vi.unstubAllEnvs(); }); }); \ No newline at end of file