From d9647183c5f76eec9dd32da9d7423466136cc112 Mon Sep 17 00:00:00 2001 From: einhornimmond Date: Mon, 24 Nov 2025 14:45:34 +0100 Subject: [PATCH] better error message for validation error, fix jest error --- config-schema/src/validate.ts | 27 ++++++++++++++++----------- config-schema/test/testSetup.bun.ts | 3 ++- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/config-schema/src/validate.ts b/config-schema/src/validate.ts index c566dfab7..83cf097b3 100644 --- a/config-schema/src/validate.ts +++ b/config-schema/src/validate.ts @@ -17,17 +17,22 @@ export function validate(schema: ObjectSchema, data: any) { throw new Error('missing key in config validation with joi: ' + details) } const value = err.context.value - const description = schemaJson.keys[key] - ? schema.describe().keys[key].flags.description - : 'No description available' - if (data[key] === undefined) { - throw new Error( - `Environment Variable '${key}' is missing. ${description}, details: ${details}`, - ) - } else { - throw new Error( - `Error on Environment Variable ${key} with value = ${value}: ${err.message}. ${description}`, - ) + try { + const description = schemaJson.keys[key] + ? schema.describe().keys[key].flags.description + : 'No description available' + if (data[key] === undefined) { + throw new Error( + `Environment Variable '${key}' is missing. ${description}, details: ${details}`, + ) + } else { + throw new Error( + `Error on Environment Variable ${key} with value = ${value}: ${err.message}. ${description}`, + ) + } + } catch (e) { + console.error('Error getting description for key ' + key + ': ' + e) + throw e } }) } diff --git a/config-schema/test/testSetup.bun.ts b/config-schema/test/testSetup.bun.ts index f64b81279..fd7153133 100644 --- a/config-schema/test/testSetup.bun.ts +++ b/config-schema/test/testSetup.bun.ts @@ -91,7 +91,8 @@ const getLoggerMocked = mock().mockImplementation((param: any) => { }) mock.module('log4js', () => ({ - getLogger: getLoggerMocked + getLogger: getLoggerMocked, + addLayout: jest.fn() })) export function getLogger(name: string) {