From c711fb4cea68058ad7f45cb18d27f2926542067a Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 8 Feb 2019 14:50:06 +0100 Subject: [PATCH] refactor: getArtifacts returns an array --- lib/manager/bundler/artifacts.js | 12 ++++++---- lib/manager/cargo/artifacts.js | 12 ++++++---- lib/manager/composer/artifacts.js | 24 +++++++++++-------- lib/manager/gomod/artifacts.js | 24 +++++++++++-------- lib/manager/pipenv/artifacts.js | 24 +++++++++++-------- lib/workers/branch/get-updated.js | 17 +++++++------ .../__snapshots__/artifacts.spec.js.snap | 12 ++++++---- .../__snapshots__/artifacts.spec.js.snap | 24 +++++++++++-------- .../__snapshots__/artifacts.spec.js.snap | 12 ++++++---- .../__snapshots__/artifacts.spec.js.snap | 12 ++++++---- test/workers/branch/get-updated.spec.js | 24 +++++++++++-------- 11 files changed, 115 insertions(+), 82 deletions(-) diff --git a/lib/manager/bundler/artifacts.js b/lib/manager/bundler/artifacts.js index 86b3eee06e..57e38f37d3 100644 --- a/lib/manager/bundler/artifacts.js +++ b/lib/manager/bundler/artifacts.js @@ -144,12 +144,14 @@ async function getArtifacts( } } logger.debug('Returning updated Gemfile.lock'); - return { - file: { - name: lockFileName, - contents: await fs.readFile(localLockFileName, 'utf8'), + return [ + { + file: { + name: lockFileName, + contents: await fs.readFile(localLockFileName, 'utf8'), + }, }, - }; + ]; } catch (err) { if ( err.stdout && diff --git a/lib/manager/cargo/artifacts.js b/lib/manager/cargo/artifacts.js index 723409b2d1..48e287f091 100644 --- a/lib/manager/cargo/artifacts.js +++ b/lib/manager/cargo/artifacts.js @@ -15,11 +15,13 @@ async function getArtifacts(cargoTomlFileName) { { err, message: err.message }, 'Failed to update Cargo lock file' ); - return { - artifactError: { - lockFile: cargoLockFileName, - stderr: err.message, + return [ + { + artifactError: { + lockFile: cargoLockFileName, + stderr: err.message, + }, }, - }; + ]; } } diff --git a/lib/manager/composer/artifacts.js b/lib/manager/composer/artifacts.js index 5c3d893d67..a244b34db3 100644 --- a/lib/manager/composer/artifacts.js +++ b/lib/manager/composer/artifacts.js @@ -151,12 +151,14 @@ async function getArtifacts( } } logger.debug('Returning updated composer.lock'); - return { - file: { - name: lockFileName, - contents: await fs.readFile(localLockFileName, 'utf8'), + return [ + { + file: { + name: lockFileName, + contents: await fs.readFile(localLockFileName, 'utf8'), + }, }, - }; + ]; } catch (err) { if ( err.message && @@ -171,11 +173,13 @@ async function getArtifacts( 'Failed to generate composer.lock' ); } - return { - artifactError: { - lockFile: lockFileName, - stderr: err.message, + return [ + { + artifactError: { + lockFile: lockFileName, + stderr: err.message, + }, }, - }; + ]; } } diff --git a/lib/manager/gomod/artifacts.js b/lib/manager/gomod/artifacts.js index f21f604dfb..3437d3d0cb 100644 --- a/lib/manager/gomod/artifacts.js +++ b/lib/manager/gomod/artifacts.js @@ -93,19 +93,23 @@ async function getArtifacts( } } logger.debug('Returning updated go.sum'); - return { - file: { - name: sumFileName, - contents: await fs.readFile(localGoSumFileName, 'utf8'), + return [ + { + file: { + name: sumFileName, + contents: await fs.readFile(localGoSumFileName, 'utf8'), + }, }, - }; + ]; } catch (err) { logger.warn({ err, message: err.message }, 'Failed to update go.sum'); - return { - artifactError: { - lockFile: sumFileName, - stderr: err.message, + return [ + { + artifactError: { + lockFile: sumFileName, + stderr: err.message, + }, }, - }; + ]; } } diff --git a/lib/manager/pipenv/artifacts.js b/lib/manager/pipenv/artifacts.js index 1dd4a10e36..228f490ae6 100644 --- a/lib/manager/pipenv/artifacts.js +++ b/lib/manager/pipenv/artifacts.js @@ -86,19 +86,23 @@ async function getArtifacts( } } logger.debug('Returning updated Pipfile.lock'); - return { - file: { - name: lockFileName, - contents: await fs.readFile(localLockFileName, 'utf8'), + return [ + { + file: { + name: lockFileName, + contents: await fs.readFile(localLockFileName, 'utf8'), + }, }, - }; + ]; } catch (err) { logger.warn({ err, message: err.message }, 'Failed to update Pipfile.lock'); - return { - artifactError: { - lockFile: lockFileName, - stderr: err.message, + return [ + { + artifactError: { + lockFile: lockFileName, + stderr: err.message, + }, }, - }; + ]; } } diff --git a/lib/workers/branch/get-updated.js b/lib/workers/branch/get-updated.js index 5896738578..62e396bedf 100644 --- a/lib/workers/branch/get-updated.js +++ b/lib/workers/branch/get-updated.js @@ -1,3 +1,4 @@ +const is = require('@sindresorhus/is'); const { get } = require('../../manager'); module.exports = { @@ -63,18 +64,20 @@ async function getUpdatedPackageFiles(config) { const updatedDeps = packageFileUpdatedDeps[packageFile.name]; const getArtifacts = get(manager, 'getArtifacts'); if (getArtifacts) { - const res = await getArtifacts( + const results = await getArtifacts( packageFile.name, updatedDeps, packageFile.contents, config ); - if (res) { - const { file, artifactError } = res; - if (file) { - updatedArtifacts.push(file); - } else if (artifactError) { - artifactErrors.push(artifactError); + if (is.nonEmptyArray(results)) { + for (const res of results) { + const { file, artifactError } = res; + if (file) { + updatedArtifacts.push(file); + } else if (artifactError) { + artifactErrors.push(artifactError); + } } } } diff --git a/test/manager/cargo/__snapshots__/artifacts.spec.js.snap b/test/manager/cargo/__snapshots__/artifacts.spec.js.snap index f8966d6004..b5ff11202e 100644 --- a/test/manager/cargo/__snapshots__/artifacts.spec.js.snap +++ b/test/manager/cargo/__snapshots__/artifacts.spec.js.snap @@ -1,10 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`cargo.getArtifacts() catches errors 1`] = ` -Object { - "artifactError": Object { - "lockFile": undefined, - "stderr": "Cannot read property 'replace' of undefined", +Array [ + Object { + "artifactError": Object { + "lockFile": undefined, + "stderr": "Cannot read property 'replace' of undefined", + }, }, -} +] `; diff --git a/test/manager/composer/__snapshots__/artifacts.spec.js.snap b/test/manager/composer/__snapshots__/artifacts.spec.js.snap index d5576599a9..f4b89c9286 100644 --- a/test/manager/composer/__snapshots__/artifacts.spec.js.snap +++ b/test/manager/composer/__snapshots__/artifacts.spec.js.snap @@ -1,19 +1,23 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`.getArtifacts() catches errors 1`] = ` -Object { - "artifactError": Object { - "lockFile": "composer.lock", - "stderr": "not found", +Array [ + Object { + "artifactError": Object { + "lockFile": "composer.lock", + "stderr": "not found", + }, }, -} +] `; exports[`.getArtifacts() catches unmet requirements errors 1`] = ` -Object { - "artifactError": Object { - "lockFile": "composer.lock", - "stderr": "fooYour requirements could not be resolved to an installable set of packages.bar", +Array [ + Object { + "artifactError": Object { + "lockFile": "composer.lock", + "stderr": "fooYour requirements could not be resolved to an installable set of packages.bar", + }, }, -} +] `; diff --git a/test/manager/gomod/__snapshots__/artifacts.spec.js.snap b/test/manager/gomod/__snapshots__/artifacts.spec.js.snap index 15e0db1f79..1ea549e9ed 100644 --- a/test/manager/gomod/__snapshots__/artifacts.spec.js.snap +++ b/test/manager/gomod/__snapshots__/artifacts.spec.js.snap @@ -1,10 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`.getArtifacts() catches errors 1`] = ` -Object { - "artifactError": Object { - "lockFile": "go.sum", - "stderr": "This update totally doesnt work", +Array [ + Object { + "artifactError": Object { + "lockFile": "go.sum", + "stderr": "This update totally doesnt work", + }, }, -} +] `; diff --git a/test/manager/pipenv/__snapshots__/artifacts.spec.js.snap b/test/manager/pipenv/__snapshots__/artifacts.spec.js.snap index 444dc17b12..29d6b76183 100644 --- a/test/manager/pipenv/__snapshots__/artifacts.spec.js.snap +++ b/test/manager/pipenv/__snapshots__/artifacts.spec.js.snap @@ -1,10 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`.getArtifacts() catches errors 1`] = ` -Object { - "artifactError": Object { - "lockFile": "Pipfile.lock", - "stderr": "not found", +Array [ + Object { + "artifactError": Object { + "lockFile": "Pipfile.lock", + "stderr": "not found", + }, }, -} +] `; diff --git a/test/workers/branch/get-updated.spec.js b/test/workers/branch/get-updated.spec.js index f1766028c3..19294d0b76 100644 --- a/test/workers/branch/get-updated.spec.js +++ b/test/workers/branch/get-updated.spec.js @@ -49,12 +49,14 @@ describe('workers/branch/get-updated', () => { manager: 'composer', }); composer.updateDependency.mockReturnValue('some new content'); - composer.getArtifacts.mockReturnValue({ - file: { - name: 'composer.json', - contents: 'some contents', + composer.getArtifacts.mockReturnValue([ + { + file: { + name: 'composer.json', + contents: 'some contents', + }, }, - }); + ]); const res = await getUpdatedPackageFiles(config); expect(res).toMatchSnapshot(); }); @@ -64,12 +66,14 @@ describe('workers/branch/get-updated', () => { manager: 'composer', }); composer.updateDependency.mockReturnValue('some new content'); - composer.getArtifacts.mockReturnValue({ - artifactError: { - name: 'composer.lock', - stderr: 'some error', + composer.getArtifacts.mockReturnValue([ + { + artifactError: { + name: 'composer.lock', + stderr: 'some error', + }, }, - }); + ]); const res = await getUpdatedPackageFiles(config); expect(res).toMatchSnapshot(); }); -- GitLab