From 63b90e51a6ae15b039f21f42e86f47e60d81ae92 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 16 Dec 2019 11:02:47 +0100
Subject: [PATCH] fix(config): throw config validation if invalid
 allowedVersions

---
 lib/workers/repository/process/lookup/filter.ts      | 11 +++++++----
 test/workers/repository/process/lookup/index.spec.js |  4 +++-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts
index cd6c6c01a9..641d22abb9 100644
--- a/lib/workers/repository/process/lookup/filter.ts
+++ b/lib/workers/repository/process/lookup/filter.ts
@@ -66,10 +66,13 @@ export function filterVersions(
         semver.satisfies(semver.coerce(v), allowedVersions)
       );
     } else {
-      logger.warn(
-        { depName: config.depName },
-        `Invalid allowedVersions: "${allowedVersions}"`
-      );
+      const error = new Error('config-validation');
+      error.configFile = 'config';
+      error.validationError = 'Invalid `allowedVersions`';
+      error.validationMessage =
+        'The following allowedVersions does not parse as a valid version or range: ' +
+        JSON.stringify(allowedVersions);
+      throw error;
     }
   }
 
diff --git a/test/workers/repository/process/lookup/index.spec.js b/test/workers/repository/process/lookup/index.spec.js
index a215651fd1..7db0e55342 100644
--- a/test/workers/repository/process/lookup/index.spec.js
+++ b/test/workers/repository/process/lookup/index.spec.js
@@ -178,7 +178,9 @@ describe('workers/repository/process/lookup', () => {
       nock('https://registry.npmjs.org')
         .get('/q')
         .reply(200, qJson);
-      expect((await lookup.lookupUpdates(config)).updates).toHaveLength(2);
+      await expect(lookup.lookupUpdates(config)).rejects.toThrow(
+        Error('config-validation')
+      );
     });
     it('returns minor update if separate patches not configured', async () => {
       config.currentValue = '0.9.0';
-- 
GitLab