From 36afcad570f1de7cd27560db0f18918153120b13 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sat, 10 Mar 2018 16:58:34 +0100 Subject: [PATCH] fix: handle invalid travis supportPolicy --- lib/manager/travis/package.js | 8 +++++++- test/manager/travis/package.spec.js | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/manager/travis/package.js b/lib/manager/travis/package.js index a9c21b10bd..afc8aef9ce 100644 --- a/lib/manager/travis/package.js +++ b/lib/manager/travis/package.js @@ -21,13 +21,19 @@ async function getPackageUpdates(config) { if (!(supportPolicy && supportPolicy.length)) { supportPolicy = ['lts']; } + for (const policy of supportPolicy) { + if (!Object.keys(policies).includes(policy)) { + logger.warn(`Unknown supportPolicy: ${policy}`); + return []; + } + } + logger.debug({ supportPolicy }, `supportPolicy`); let newVersion = supportPolicy .map(policy => policies[policy]) .reduce((result, policy) => result.concat(policy), []) .sort() // sort combined array .reverse() // we want to order latest to oldest .map(version => `${version}`); // convert to strings - logger.debug({ newVersion }); if (config.pinVersions || semver.valid(config.currentVersion[0])) { const releases = await getRepoReleases('nodejs/node'); newVersion = newVersion.map(version => diff --git a/test/manager/travis/package.spec.js b/test/manager/travis/package.spec.js index e7ebcec7c0..c870391a17 100644 --- a/test/manager/travis/package.spec.js +++ b/test/manager/travis/package.spec.js @@ -12,6 +12,11 @@ describe('lib/workers/package/node', () => { ...defaultConfig, }; }); + it('returns empty if invalid supportPolicy', async () => { + config.currentVersion = ['6', '8']; + config.supportPolicy = ['foo']; + expect(await node.getPackageUpdates(config)).toEqual([]); + }); it('returns empty if matching', async () => { config.currentVersion = ['6', '8']; config.supportPolicy = ['lts_active']; -- GitLab