From 2f1c8afcf2622d7b9280f05387cd93f352a941b1 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Tue, 23 Nov 2021 15:17:49 +0100 Subject: [PATCH] fix(config): validate matchStrings (#12808) --- lib/config/validation.spec.ts | 17 ++++++++++++----- lib/config/validation.ts | 7 ++++++- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/config/validation.spec.ts b/lib/config/validation.spec.ts index 0bf7c5a906..ea0566e943 100644 --- a/lib/config/validation.spec.ts +++ b/lib/config/validation.spec.ts @@ -308,7 +308,7 @@ describe('config/validation', () => { expect(errors).toMatchInlineSnapshot(` Array [ Object { - "message": "Each Regex Manager must contain a fileMatch array", + "message": "Each Regex Manager must contain a non-empty fileMatch array", "topic": "Configuration Error", }, ] @@ -318,21 +318,28 @@ describe('config/validation', () => { const config = { regexManagers: [ { - fileMatch: [], + fileMatch: ['foo'], matchStrings: [], }, + { + fileMatch: ['foo'], + }, ], }; const { warnings, errors } = await configValidation.validateConfig( - config, + config as RenovateConfig, true ); expect(warnings).toHaveLength(0); - expect(errors).toHaveLength(1); + expect(errors).toHaveLength(2); expect(errors).toMatchInlineSnapshot(` Array [ Object { - "message": "Each Regex Manager must contain a fileMatch array", + "message": "Each Regex Manager must contain a non-empty matchStrings array", + "topic": "Configuration Error", + }, + Object { + "message": "Each Regex Manager must contain a non-empty matchStrings array", "topic": "Configuration Error", }, ] diff --git a/lib/config/validation.ts b/lib/config/validation.ts index 69aaca7ac9..4c80f07031 100644 --- a/lib/config/validation.ts +++ b/lib/config/validation.ts @@ -443,11 +443,16 @@ export async function validateConfig( } } } + } else { + errors.push({ + topic: 'Configuration Error', + message: `Each Regex Manager must contain a non-empty matchStrings array`, + }); } } else { errors.push({ topic: 'Configuration Error', - message: `Each Regex Manager must contain a fileMatch array`, + message: `Each Regex Manager must contain a non-empty fileMatch array`, }); } } -- GitLab