From 9a36bdcf1b58842858cb9a0f1924618e1df75b7e Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Fri, 30 Mar 2018 06:05:00 +0200 Subject: [PATCH] refactor: rename setNewValue to updateDependency --- lib/manager/bazel/index.js | 4 +-- lib/manager/bazel/update.js | 8 +++--- lib/manager/circleci/index.js | 4 +-- lib/manager/circleci/update.js | 10 +++---- lib/manager/docker-compose/index.js | 4 +-- lib/manager/docker-compose/update.js | 10 +++---- lib/manager/docker/index.js | 4 +-- lib/manager/docker/update.js | 8 +++--- lib/manager/index.js | 2 +- lib/manager/meteor/index.js | 4 +-- lib/manager/meteor/update.js | 8 +++--- lib/manager/npm/index.js | 4 +-- lib/manager/npm/update.js | 27 +++++++++--------- lib/manager/nvm/index.js | 4 +-- lib/manager/nvm/update.js | 6 ++-- lib/manager/travis/index.js | 4 +-- lib/manager/travis/update.js | 15 ++++------ test/manager/bazel/update.spec.js | 8 +++--- test/manager/circleci/update.spec.js | 10 +++---- test/manager/docker-compose/update.spec.js | 10 +++---- .../docker/__snapshots__/update.spec.js.snap | 8 +++--- test/manager/docker/update.spec.js | 25 ++++++++--------- test/manager/index.spec.js | 28 +++++++++---------- .../meteor/__snapshots__/update.spec.js.snap | 4 +-- test/manager/meteor/update.spec.js | 17 ++++++++--- test/manager/npm/update.spec.js | 14 +++++----- .../nvm/__snapshots__/update.spec.js.snap | 2 +- test/manager/nvm/update.spec.js | 4 +-- .../travis/__snapshots__/update.spec.js.snap | 4 +-- test/manager/travis/update.spec.js | 8 +++--- 30 files changed, 136 insertions(+), 132 deletions(-) diff --git a/lib/manager/bazel/index.js b/lib/manager/bazel/index.js index dfab0a11b5..2b8661f14c 100644 --- a/lib/manager/bazel/index.js +++ b/lib/manager/bazel/index.js @@ -1,7 +1,7 @@ const { extractDependencies } = require('./extract'); const { getPackageUpdates } = require('./package'); const { resolvePackageFile } = require('./resolve'); -const { setNewValue } = require('./update'); +const { updateDependency } = require('./update'); const filePattern = new RegExp('(^|/)WORKSPACE$'); const contentPattern = new RegExp('(^|\\n)git_repository\\('); @@ -12,5 +12,5 @@ module.exports = { filePattern, getPackageUpdates, resolvePackageFile, - setNewValue, + updateDependency, }; diff --git a/lib/manager/bazel/update.js b/lib/manager/bazel/update.js index fb729cfb55..ff577a30a6 100644 --- a/lib/manager/bazel/update.js +++ b/lib/manager/bazel/update.js @@ -2,12 +2,12 @@ const crypto = require('crypto'); const got = require('got'); module.exports = { - setNewValue, + updateDependency, }; -async function setNewValue(currentFileContent, upgrade) { +async function updateDependency(fileContent, upgrade) { try { - logger.debug(`bazel.setNewValue: ${upgrade.newVersion}`); + logger.debug(`bazel.updateDependency(): ${upgrade.newVersion}`); let newDef; if (upgrade.depType === 'git_repository') { newDef = upgrade.def.replace( @@ -31,7 +31,7 @@ async function setNewValue(currentFileContent, upgrade) { const existingDef = new RegExp( `${upgrade.depType}\\([^\\)]+name = "${upgrade.depName}"[^\\)]+\\)\n` ); - return currentFileContent.replace(existingDef, newDef); + return fileContent.replace(existingDef, newDef); } catch (err) { logger.info({ err }, 'Error setting new bazel WORKSPACE version'); return null; diff --git a/lib/manager/circleci/index.js b/lib/manager/circleci/index.js index c08734125c..12f9387763 100644 --- a/lib/manager/circleci/index.js +++ b/lib/manager/circleci/index.js @@ -1,7 +1,7 @@ const { extractDependencies } = require('./extract'); const { getPackageUpdates } = require('../docker/package'); const { resolvePackageFile } = require('./resolve'); -const { setNewValue } = require('./update'); +const { updateDependency } = require('./update'); const filePattern = new RegExp('^.circleci/config.yml$'); const contentPattern = new RegExp('(^|\\n)\\s*- image: '); @@ -12,5 +12,5 @@ module.exports = { filePattern, getPackageUpdates, resolvePackageFile, - setNewValue, + updateDependency, }; diff --git a/lib/manager/circleci/update.js b/lib/manager/circleci/update.js index 99b5a093d3..ae29c6e6b0 100644 --- a/lib/manager/circleci/update.js +++ b/lib/manager/circleci/update.js @@ -1,11 +1,11 @@ module.exports = { - setNewValue, + updateDependency, }; -function setNewValue(currentFileContent, upgrade) { +function updateDependency(fileContent, upgrade) { try { - logger.debug(`circleci.setNewValue: ${upgrade.newFrom}`); - const lines = currentFileContent.split('\n'); + logger.debug(`circleci.updateDependency(): ${upgrade.newFrom}`); + const lines = fileContent.split('\n'); const lineToChange = lines[upgrade.lineNumber]; const imageLine = new RegExp(/^(\s*- image:\s*'?"?)[^\s'"]+('?"?\s*)$/); if (!lineToChange.match(imageLine)) { @@ -15,7 +15,7 @@ function setNewValue(currentFileContent, upgrade) { const newLine = lineToChange.replace(imageLine, `$1${upgrade.newFrom}$2`); if (newLine === lineToChange) { logger.debug('No changes necessary'); - return currentFileContent; + return fileContent; } lines[upgrade.lineNumber] = newLine; return lines.join('\n'); diff --git a/lib/manager/docker-compose/index.js b/lib/manager/docker-compose/index.js index a87d498c20..a496cca168 100644 --- a/lib/manager/docker-compose/index.js +++ b/lib/manager/docker-compose/index.js @@ -1,7 +1,7 @@ const { extractDependencies } = require('./extract'); const { getPackageUpdates } = require('../docker/package'); const { resolvePackageFile } = require('./resolve'); -const { setNewValue } = require('./update'); +const { updateDependency } = require('./update'); const filePattern = new RegExp('(^|/)docker-compose[^/]*\\.ya?ml$'); const contentPattern = new RegExp('(^|\\n)\\s*image:'); @@ -12,5 +12,5 @@ module.exports = { filePattern, getPackageUpdates, resolvePackageFile, - setNewValue, + updateDependency, }; diff --git a/lib/manager/docker-compose/update.js b/lib/manager/docker-compose/update.js index 6a48f092a8..424b060fa0 100644 --- a/lib/manager/docker-compose/update.js +++ b/lib/manager/docker-compose/update.js @@ -1,11 +1,11 @@ module.exports = { - setNewValue, + updateDependency, }; -function setNewValue(currentFileContent, upgrade) { +function updateDependency(fileContent, upgrade) { try { - logger.debug(`setNewValue: ${upgrade.newFrom}`); - const lines = currentFileContent.split('\n'); + logger.debug(`docker-compose.updateDependency(): ${upgrade.newFrom}`); + const lines = fileContent.split('\n'); const lineToChange = lines[upgrade.lineNumber]; const imageLine = new RegExp(/^(\s*image:\s*'?"?)[^\s'"]+('?"?\s*)$/); if (!lineToChange.match(imageLine)) { @@ -15,7 +15,7 @@ function setNewValue(currentFileContent, upgrade) { const newLine = lineToChange.replace(imageLine, `$1${upgrade.newFrom}$2`); if (newLine === lineToChange) { logger.debug('No changes necessary'); - return currentFileContent; + return fileContent; } lines[upgrade.lineNumber] = newLine; return lines.join('\n'); diff --git a/lib/manager/docker/index.js b/lib/manager/docker/index.js index e29d5de650..2e4b1e3258 100644 --- a/lib/manager/docker/index.js +++ b/lib/manager/docker/index.js @@ -1,7 +1,7 @@ const { extractDependencies } = require('./extract'); const { getPackageUpdates } = require('./package'); const { resolvePackageFile } = require('./resolve'); -const { setNewValue } = require('./update'); +const { updateDependency } = require('./update'); const filePattern = new RegExp('(^|/)Dockerfile$'); const contentPattern = new RegExp('(^|\\n)FROM .+\\n', 'i'); @@ -12,5 +12,5 @@ module.exports = { filePattern, getPackageUpdates, resolvePackageFile, - setNewValue, + updateDependency, }; diff --git a/lib/manager/docker/update.js b/lib/manager/docker/update.js index 6d39255587..811a1340a0 100644 --- a/lib/manager/docker/update.js +++ b/lib/manager/docker/update.js @@ -1,10 +1,10 @@ module.exports = { - setNewValue, + updateDependency, }; -function setNewValue(currentFileContent, upgrade) { +function updateDependency(fileContent, upgrade) { try { - logger.debug(`setNewValue: ${upgrade.newFrom}`); + logger.debug(`docker.updateDependency(): ${upgrade.newFrom}`); const oldLine = new RegExp( `(^|\\n)${upgrade.fromPrefix}(\\s+)${ upgrade.dockerRegistry ? upgrade.dockerRegistry + '/' : '' @@ -13,7 +13,7 @@ function setNewValue(currentFileContent, upgrade) { const newLine = `$1${upgrade.fromPrefix}$2${upgrade.newFrom}$3${ upgrade.fromSuffix }\n`; - const newFileContent = currentFileContent.replace(oldLine, newLine); + const newFileContent = fileContent.replace(oldLine, newLine); return newFileContent; } catch (err) { logger.info({ err }, 'Error setting new Dockerfile value'); diff --git a/lib/manager/index.js b/lib/manager/index.js index 2ed87bdb6c..295c903747 100644 --- a/lib/manager/index.js +++ b/lib/manager/index.js @@ -105,7 +105,7 @@ async function getUpdatedPackageFiles(config) { updatedPackageFiles[upgrade.packageFile] || (await platform.getFile(upgrade.packageFile, config.parentBranch)); let newContent = existingContent; - newContent = await managers[manager].setNewValue( + newContent = await managers[manager].updateDependency( existingContent, upgrade ); diff --git a/lib/manager/meteor/index.js b/lib/manager/meteor/index.js index ef29e697ce..fab391044a 100644 --- a/lib/manager/meteor/index.js +++ b/lib/manager/meteor/index.js @@ -1,7 +1,7 @@ const { extractDependencies } = require('./extract'); const { getPackageUpdates } = require('../npm/package'); const { resolvePackageFile } = require('./resolve'); -const { setNewValue } = require('./update'); +const { updateDependency } = require('./update'); const filePattern = new RegExp('(^|/)package.js$'); const contentPattern = new RegExp('(^|\\n)\\s*Npm.depends\\(\\s*{'); @@ -12,5 +12,5 @@ module.exports = { filePattern, getPackageUpdates, resolvePackageFile, - setNewValue, + updateDependency, }; diff --git a/lib/manager/meteor/update.js b/lib/manager/meteor/update.js index f77dd9f03e..f3fda1a063 100644 --- a/lib/manager/meteor/update.js +++ b/lib/manager/meteor/update.js @@ -1,14 +1,14 @@ module.exports = { - setNewValue, + updateDependency, }; -function setNewValue(currentFileContent, upgrade) { +function updateDependency(fileContent, upgrade) { const { depName, currentVersion, newVersion } = upgrade; - logger.debug(`setNewValue: ${depName} = ${newVersion}`); + logger.debug(`meteor.updateDependency(): ${depName} = ${newVersion}`); const regexReplace = new RegExp( `('|")(${depName})('|"):(\\s+)('|")${currentVersion}('|")` ); - const newFileContent = currentFileContent.replace( + const newFileContent = fileContent.replace( regexReplace, `$1$2$3:$4$5${newVersion}$6` ); diff --git a/lib/manager/npm/index.js b/lib/manager/npm/index.js index 58f7fe187f..a50788a2b4 100644 --- a/lib/manager/npm/index.js +++ b/lib/manager/npm/index.js @@ -2,7 +2,7 @@ const { detectPackageFiles } = require('./detect'); const { extractDependencies } = require('./extract'); const { getPackageUpdates } = require('./package'); const { resolvePackageFile } = require('./resolve'); -const { setNewValue } = require('./update'); +const { updateDependency } = require('./update'); const filePattern = new RegExp('(^|/)package.json$'); @@ -12,5 +12,5 @@ module.exports = { filePattern, getPackageUpdates, resolvePackageFile, - setNewValue, + updateDependency, }; diff --git a/lib/manager/npm/update.js b/lib/manager/npm/update.js index d8c330452e..0f6096f23a 100644 --- a/lib/manager/npm/update.js +++ b/lib/manager/npm/update.js @@ -2,20 +2,20 @@ const _ = require('lodash'); const semver = require('semver'); module.exports = { - setNewValue, + updateDependency, bumpPackageVersion, }; -function setNewValue(currentFileContent, upgrade) { +function updateDependency(fileContent, upgrade) { const { depType, depName, newVersion } = upgrade; - logger.debug(`setNewValue: ${depType}.${depName} = ${newVersion}`); + logger.debug(`npm.updateDependency(): ${depType}.${depName} = ${newVersion}`); try { - const parsedContents = JSON.parse(currentFileContent); + const parsedContents = JSON.parse(fileContent); // Save the old version const oldVersion = parsedContents[depType][depName]; if (oldVersion === newVersion) { logger.debug('Version is already updated'); - return currentFileContent; + return fileContent; } // Update the file = this is what we want parsedContents[depType][depName] = newVersion; @@ -24,17 +24,16 @@ function setNewValue(currentFileContent, upgrade) { const newString = `"${newVersion}"`; let newFileContent = null; // Skip ahead to depType section - let searchIndex = - currentFileContent.indexOf(`"${depType}"`) + depType.length; + let searchIndex = fileContent.indexOf(`"${depType}"`) + depType.length; logger.debug(`Starting search at index ${searchIndex}`); // Iterate through the rest of the file - for (; searchIndex < currentFileContent.length; searchIndex += 1) { + for (; searchIndex < fileContent.length; searchIndex += 1) { // First check if we have a hit for the old version - if (matchAt(currentFileContent, searchIndex, searchString)) { + if (matchAt(fileContent, searchIndex, searchString)) { logger.debug(`Found match at index ${searchIndex}`); // Now test if the result matches const testContent = replaceAt( - currentFileContent, + fileContent, searchIndex, searchString, newString @@ -49,10 +48,10 @@ function setNewValue(currentFileContent, upgrade) { // istanbul ignore if if (!newFileContent) { logger.info( - { currentFileContent, parsedContents, depType, depName, newVersion }, - 'Warning: setNewValue error' + { fileContent, parsedContents, depType, depName, newVersion }, + 'Warning: updateDependency error' ); - return currentFileContent; + return fileContent; } if ( parsedContents && @@ -101,7 +100,7 @@ function setNewValue(currentFileContent, upgrade) { upgrade.bumpVersion ); } catch (err) { - logger.info({ err }, 'setNewValue error'); + logger.info({ err }, 'updateDependency error'); return null; } } diff --git a/lib/manager/nvm/index.js b/lib/manager/nvm/index.js index 3e0c887284..91e5d8175f 100644 --- a/lib/manager/nvm/index.js +++ b/lib/manager/nvm/index.js @@ -1,7 +1,7 @@ const { extractDependencies } = require('./extract'); const { getPackageUpdates } = require('./package'); const { resolvePackageFile } = require('./resolve'); -const { setNewValue } = require('./update'); +const { updateDependency } = require('./update'); const filePattern = new RegExp('^.nvmrc$'); @@ -10,5 +10,5 @@ module.exports = { filePattern, getPackageUpdates, resolvePackageFile, - setNewValue, + updateDependency, }; diff --git a/lib/manager/nvm/update.js b/lib/manager/nvm/update.js index 3d371c5a8c..565b78085f 100644 --- a/lib/manager/nvm/update.js +++ b/lib/manager/nvm/update.js @@ -1,8 +1,8 @@ module.exports = { - setNewValue, + updateDependency, }; -function setNewValue(currentFileContent, upgrade) { - logger.debug(`nvm.setNewValue: ${upgrade.newVersions}`); +function updateDependency(fileContent, upgrade) { + logger.debug(`nvm.updateDependency(): ${upgrade.newVersions}`); return `${upgrade.newVersion}\n`; } diff --git a/lib/manager/travis/index.js b/lib/manager/travis/index.js index a5fcaccadd..243cfe117a 100644 --- a/lib/manager/travis/index.js +++ b/lib/manager/travis/index.js @@ -1,7 +1,7 @@ const { extractDependencies } = require('./extract'); const { getPackageUpdates } = require('./package'); const { resolvePackageFile } = require('./resolve'); -const { setNewValue } = require('./update'); +const { updateDependency } = require('./update'); const filePattern = new RegExp('^.travis.yml$'); const contentPattern = new RegExp('(^|\\n)node_js:\\n'); @@ -12,5 +12,5 @@ module.exports = { filePattern, getPackageUpdates, resolvePackageFile, - setNewValue, + updateDependency, }; diff --git a/lib/manager/travis/update.js b/lib/manager/travis/update.js index 8fd639dc61..baf64d5b00 100644 --- a/lib/manager/travis/update.js +++ b/lib/manager/travis/update.js @@ -1,23 +1,20 @@ const detectIndent = require('detect-indent'); module.exports = { - setNewValue, + updateDependency, }; -function setNewValue(currentFileContent, upgrade) { +function updateDependency(fileContent, upgrade) { try { - logger.debug(`node.setNewValue: ${upgrade.newVersion}`); - const indent = detectIndent(currentFileContent).indent || ' '; + logger.debug(`travis.updateDependency(): ${upgrade.newVersion}`); + const indent = detectIndent(fileContent).indent || ' '; const quote = - currentFileContent.split(`'`).length > - currentFileContent.split(`"`).length - ? `'` - : `"`; + fileContent.split(`'`).length > fileContent.split(`"`).length ? `'` : `"`; let newString = `node_js:\n`; upgrade.newVersion.forEach(version => { newString += `${indent}- ${quote}${version}${quote}\n`; }); - return currentFileContent.replace(/node_js:(\n\s+[^\n]+)+\n/, newString); + return fileContent.replace(/node_js:(\n\s+[^\n]+)+\n/, newString); } catch (err) { logger.info({ err }, 'Error setting new .travis.yml node versions'); return null; diff --git a/test/manager/bazel/update.spec.js b/test/manager/bazel/update.spec.js index 891446e83a..320ce83850 100644 --- a/test/manager/bazel/update.spec.js +++ b/test/manager/bazel/update.spec.js @@ -19,7 +19,7 @@ git_repository( */ describe('manager/bazel/update', () => { - describe('setNewValue', () => { + describe('updateDependency', () => { it('updates tag', async () => { const upgrade = { depName: 'build_bazel_rules_nodejs', @@ -27,7 +27,7 @@ describe('manager/bazel/update', () => { def: `git_repository(\n name = "build_bazel_rules_nodejs",\n remote = "https://github.com/bazelbuild/rules_nodejs.git",\n tag = "0.1.8",\n)`, newVersion: '0.2.0', }; - const res = await bazelfile.setNewValue(content, upgrade); + const res = await bazelfile.updateDependency(content, upgrade); expect(res).not.toEqual(content); }); it('updates http archive', async () => { @@ -39,7 +39,7 @@ describe('manager/bazel/update', () => { newVersion: '0.8.1', }; got.mockReturnValueOnce({ body: '' }); - const res = await bazelfile.setNewValue(content, upgrade); + const res = await bazelfile.updateDependency(content, upgrade); expect(res).not.toEqual(content); expect(res.indexOf('0.8.1')).not.toBe(-1); }); @@ -54,7 +54,7 @@ describe('manager/bazel/update', () => { got.mockImplementationOnce(() => { throw new Error('some error'); }); - const res = await bazelfile.setNewValue(content, upgrade); + const res = await bazelfile.updateDependency(content, upgrade); expect(res).toBe(null); }); }); diff --git a/test/manager/circleci/update.spec.js b/test/manager/circleci/update.spec.js index 25d2421d1a..c394909ff3 100644 --- a/test/manager/circleci/update.spec.js +++ b/test/manager/circleci/update.spec.js @@ -4,13 +4,13 @@ const dcUpdate = require('../../../lib/manager/circleci/update'); const yamlFile = fs.readFileSync('test/_fixtures/circleci/config.yml', 'utf8'); describe('manager/circleci/update', () => { - describe('setNewValue', () => { + describe('updateDependency', () => { it('replaces existing value', () => { const upgrade = { lineNumber: 65, newFrom: 'node:8.10.0@sha256:abcdefghijklmnop', }; - const res = dcUpdate.setNewValue(yamlFile, upgrade); + const res = dcUpdate.updateDependency(yamlFile, upgrade); expect(res).not.toEqual(yamlFile); expect(res.includes(upgrade.newFrom)).toBe(true); }); @@ -19,7 +19,7 @@ describe('manager/circleci/update', () => { lineNumber: 12, newFrom: 'node', }; - const res = dcUpdate.setNewValue(yamlFile, upgrade); + const res = dcUpdate.updateDependency(yamlFile, upgrade); expect(res).toEqual(yamlFile); }); it('returns null if mismatch', () => { @@ -27,11 +27,11 @@ describe('manager/circleci/update', () => { lineNumber: 17, newFrom: 'postgres:9.6.8@sha256:abcdefghijklmnop', }; - const res = dcUpdate.setNewValue(yamlFile, upgrade); + const res = dcUpdate.updateDependency(yamlFile, upgrade); expect(res).toBe(null); }); it('returns null if error', () => { - const res = dcUpdate.setNewValue(null, null); + const res = dcUpdate.updateDependency(null, null); expect(res).toBe(null); }); }); diff --git a/test/manager/docker-compose/update.spec.js b/test/manager/docker-compose/update.spec.js index 1ba3bd8459..9337c55ed1 100644 --- a/test/manager/docker-compose/update.spec.js +++ b/test/manager/docker-compose/update.spec.js @@ -7,13 +7,13 @@ const yamlFile = fs.readFileSync( ); describe('manager/docker-compose/update', () => { - describe('setNewValue', () => { + describe('updateDependency', () => { it('replaces existing value', () => { const upgrade = { lineNumber: 18, newFrom: 'postgres:9.6.8@sha256:abcdefghijklmnop', }; - const res = dcUpdate.setNewValue(yamlFile, upgrade); + const res = dcUpdate.updateDependency(yamlFile, upgrade); expect(res).not.toEqual(yamlFile); expect(res.includes(upgrade.newFrom)).toBe(true); }); @@ -22,7 +22,7 @@ describe('manager/docker-compose/update', () => { lineNumber: 4, newFrom: 'quay.io/something/redis:alpine', }; - const res = dcUpdate.setNewValue(yamlFile, upgrade); + const res = dcUpdate.updateDependency(yamlFile, upgrade); expect(res).toEqual(yamlFile); }); it('returns null if mismatch', () => { @@ -30,11 +30,11 @@ describe('manager/docker-compose/update', () => { lineNumber: 17, newFrom: 'postgres:9.6.8@sha256:abcdefghijklmnop', }; - const res = dcUpdate.setNewValue(yamlFile, upgrade); + const res = dcUpdate.updateDependency(yamlFile, upgrade); expect(res).toBe(null); }); it('returns null if error', () => { - const res = dcUpdate.setNewValue(null, null); + const res = dcUpdate.updateDependency(null, null); expect(res).toBe(null); }); }); diff --git a/test/manager/docker/__snapshots__/update.spec.js.snap b/test/manager/docker/__snapshots__/update.spec.js.snap index 8c5bc5c570..1e4508d85b 100644 --- a/test/manager/docker/__snapshots__/update.spec.js.snap +++ b/test/manager/docker/__snapshots__/update.spec.js.snap @@ -1,27 +1,27 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`workers/branch/dockerfile setNewValue handles similar FROM 1`] = ` +exports[`workers/branch/dockerfile updateDependency handles similar FROM 1`] = ` "FROM debian:wheezy@sha256:abcdefghijklmnop as stage-1 RUN something FROM debian:wheezy@sha256:abcdefghijklmnop RUN something else" `; -exports[`workers/branch/dockerfile setNewValue handles strange whitespace 1`] = ` +exports[`workers/branch/dockerfile updateDependency handles strange whitespace 1`] = ` "# comment FROM node:8 FROM node:8@sha256:abcdefghijklmnop as base RUN something " `; -exports[`workers/branch/dockerfile setNewValue replaces existing value 1`] = ` +exports[`workers/branch/dockerfile updateDependency replaces existing value 1`] = ` "# comment FROM node:8 FROM node:8@sha256:abcdefghijklmnop RUN something " `; -exports[`workers/branch/dockerfile setNewValue replaces existing value with suffix 1`] = ` +exports[`workers/branch/dockerfile updateDependency replaces existing value with suffix 1`] = ` "# comment FROM node:8 FROM node:8@sha256:abcdefghijklmnop as base RUN something diff --git a/test/manager/docker/update.spec.js b/test/manager/docker/update.spec.js index ad3f847b21..04dac8051f 100644 --- a/test/manager/docker/update.spec.js +++ b/test/manager/docker/update.spec.js @@ -1,10 +1,9 @@ const dockerfile = require('../../../lib/manager/docker/update'); describe('workers/branch/dockerfile', () => { - describe('setNewValue', () => { + describe('updateDependency', () => { it('replaces existing value', () => { - const currentFileContent = - '# comment FROM node:8\nFROM node:8\nRUN something\n'; + const fileContent = '# comment FROM node:8\nFROM node:8\nRUN something\n'; const upgrade = { depName: 'node', currentVersion: 'node:8', @@ -12,11 +11,11 @@ describe('workers/branch/dockerfile', () => { fromSuffix: '', newFrom: 'node:8@sha256:abcdefghijklmnop', }; - const res = dockerfile.setNewValue(currentFileContent, upgrade); + const res = dockerfile.updateDependency(fileContent, upgrade); expect(res).toMatchSnapshot(); }); it('replaces existing value with suffix', () => { - const currentFileContent = + const fileContent = '# comment FROM node:8\nFROM node:8 as base\nRUN something\n'; const upgrade = { depName: 'node', @@ -25,11 +24,11 @@ describe('workers/branch/dockerfile', () => { fromSuffix: 'as base', newFrom: 'node:8@sha256:abcdefghijklmnop', }; - const res = dockerfile.setNewValue(currentFileContent, upgrade); + const res = dockerfile.updateDependency(fileContent, upgrade); expect(res).toMatchSnapshot(); }); it('handles strange whitespace', () => { - const currentFileContent = + const fileContent = '# comment FROM node:8\nFROM node:8 as base\nRUN something\n'; const upgrade = { depName: 'node', @@ -38,11 +37,11 @@ describe('workers/branch/dockerfile', () => { fromSuffix: 'as base', newFrom: 'node:8@sha256:abcdefghijklmnop', }; - const res = dockerfile.setNewValue(currentFileContent, upgrade); + const res = dockerfile.updateDependency(fileContent, upgrade); expect(res).toMatchSnapshot(); }); it('returns null on error', () => { - const currentFileContent = null; + const fileContent = null; const upgrade = { depName: 'node', currentVersion: 'node:8', @@ -50,11 +49,11 @@ describe('workers/branch/dockerfile', () => { fromSuffix: '', newFrom: 'node:8@sha256:abcdefghijklmnop', }; - const res = dockerfile.setNewValue(currentFileContent, upgrade); + const res = dockerfile.updateDependency(fileContent, upgrade); expect(res).toBe(null); }); it('handles similar FROM', () => { - const currentFileContent = + const fileContent = 'FROM debian:wheezy as stage-1\nRUN something\nFROM debian:wheezy\nRUN something else'; const upgrade1 = { depName: 'debian', @@ -70,8 +69,8 @@ describe('workers/branch/dockerfile', () => { fromSuffix: '', newFrom: 'debian:wheezy@sha256:abcdefghijklmnop', }; - let res = dockerfile.setNewValue(currentFileContent, upgrade1); - res = dockerfile.setNewValue(res, upgrade2); + let res = dockerfile.updateDependency(fileContent, upgrade1); + res = dockerfile.updateDependency(res, upgrade2); expect(res).toMatchSnapshot(); expect(res.includes('as stage-1')).toBe(true); }); diff --git a/test/manager/index.spec.js b/test/manager/index.spec.js index 10f3e59c1a..bacf248198 100644 --- a/test/manager/index.spec.js +++ b/test/manager/index.spec.js @@ -151,23 +151,23 @@ describe('manager', () => { ...defaultConfig, parentBranch: 'some-branch', }; - npm.setNewValue = jest.fn(); - docker.setNewValue = jest.fn(); - meteor.setNewValue = jest.fn(); - node.setNewValue = jest.fn(); - bazel.setNewValue = jest.fn(); + npm.updateDependency = jest.fn(); + docker.updateDependency = jest.fn(); + meteor.updateDependency = jest.fn(); + node.updateDependency = jest.fn(); + bazel.updateDependency = jest.fn(); }); it('returns empty if lock file maintenance', async () => { config.upgrades = [{ type: 'lockFileMaintenance' }]; const res = await getUpdatedPackageFiles(config); expect(res.updatedPackageFiles).toHaveLength(0); }); - it('recurses if setNewValue error', async () => { + it('recurses if updateDependency error', async () => { config.parentBranch = 'some-branch'; config.canRebase = true; config.upgrades = [{ packageFile: 'package.json', manager: 'npm' }]; - npm.setNewValue.mockReturnValueOnce(null); - npm.setNewValue.mockReturnValueOnce('some content'); + npm.updateDependency.mockReturnValueOnce(null); + npm.updateDependency.mockReturnValueOnce('some content'); const res = await getUpdatedPackageFiles(config); expect(res.updatedPackageFiles).toHaveLength(1); }); @@ -197,12 +197,12 @@ describe('manager', () => { platform.getFile.mockReturnValueOnce('old content 3'); platform.getFile.mockReturnValueOnce('old travis'); platform.getFile.mockReturnValueOnce('old WORKSPACE'); - npm.setNewValue.mockReturnValueOnce('new content 1'); - npm.setNewValue.mockReturnValueOnce('new content 1+'); - docker.setNewValue.mockReturnValueOnce('new content 2'); - meteor.setNewValue.mockReturnValueOnce('old content 3'); - node.setNewValue.mockReturnValueOnce('old travis'); - bazel.setNewValue.mockReturnValueOnce('old WORKSPACE'); + npm.updateDependency.mockReturnValueOnce('new content 1'); + npm.updateDependency.mockReturnValueOnce('new content 1+'); + docker.updateDependency.mockReturnValueOnce('new content 2'); + meteor.updateDependency.mockReturnValueOnce('old content 3'); + node.updateDependency.mockReturnValueOnce('old travis'); + bazel.updateDependency.mockReturnValueOnce('old WORKSPACE'); const res = await getUpdatedPackageFiles(config); expect(res.updatedPackageFiles).toHaveLength(2); }); diff --git a/test/manager/meteor/__snapshots__/update.spec.js.snap b/test/manager/meteor/__snapshots__/update.spec.js.snap index a2242c8054..1f37915231 100644 --- a/test/manager/meteor/__snapshots__/update.spec.js.snap +++ b/test/manager/meteor/__snapshots__/update.spec.js.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`workers/branch/package-js .setNewValue(currentFileContent, depName, currentVersion, newVersion) handles alternative quotes and white space 1`] = ` +exports[`workers/branch/package-js .updateDependency(fileContent, depName, currentVersion, newVersion) handles alternative quotes and white space 1`] = ` "Package.describe({ \\"name\\": \\"steffo:meteor-accounts-saml\\", \\"summary\\": \\"SAML Login (SP) for Meteor. Works with OpenAM, OpenIDP and provides Single Logout.\\", @@ -30,7 +30,7 @@ Npm.depends({ " `; -exports[`workers/branch/package-js .setNewValue(currentFileContent, depName, currentVersion, newVersion) replaces a dependency value 1`] = ` +exports[`workers/branch/package-js .updateDependency(fileContent, depName, currentVersion, newVersion) replaces a dependency value 1`] = ` "Package.describe({ 'name': 'steffo:meteor-accounts-saml', 'summary': 'SAML Login (SP) for Meteor. Works with OpenAM, OpenIDP and provides Single Logout.', diff --git a/test/manager/meteor/update.spec.js b/test/manager/meteor/update.spec.js index 3eceb24399..9c1d0b7749 100644 --- a/test/manager/meteor/update.spec.js +++ b/test/manager/meteor/update.spec.js @@ -13,14 +13,17 @@ const input01Content = readFixture('package-1.js'); const input02Content = readFixture('package-2.js'); describe('workers/branch/package-js', () => { - describe('.setNewValue(currentFileContent, depName, currentVersion, newVersion)', () => { + describe('.updateDependency(fileContent, depName, currentVersion, newVersion)', () => { it('replaces a dependency value', () => { const upgrade = { depName: 'xmldom', currentVersion: '0.1.19', newVersion: '0.22.1', }; - const testContent = meteorUpdater.setNewValue(input01Content, upgrade); + const testContent = meteorUpdater.updateDependency( + input01Content, + upgrade + ); expect(testContent).toMatchSnapshot(); }); it('handles alternative quotes and white space', () => { @@ -29,7 +32,10 @@ describe('workers/branch/package-js', () => { currentVersion: '0.1.19', newVersion: '0.22.1', }; - const testContent = meteorUpdater.setNewValue(input02Content, upgrade); + const testContent = meteorUpdater.updateDependency( + input02Content, + upgrade + ); expect(testContent).toMatchSnapshot(); }); it('handles the case where the desired version is already supported', () => { @@ -38,7 +44,10 @@ describe('workers/branch/package-js', () => { currentVersion: '0.2.0', newVersion: '0.2.0', }; - const testContent = meteorUpdater.setNewValue(input01Content, upgrade); + const testContent = meteorUpdater.updateDependency( + input01Content, + upgrade + ); testContent.should.equal(input01Content); }); }); diff --git a/test/manager/npm/update.spec.js b/test/manager/npm/update.spec.js index 885ffd61b0..4494f231a2 100644 --- a/test/manager/npm/update.spec.js +++ b/test/manager/npm/update.spec.js @@ -13,7 +13,7 @@ function readFixture(fixture) { const input01Content = readFixture('inputs/01.json'); describe('workers/branch/package-json', () => { - describe('.setNewValue(currentFileContent, depType, depName, newVersion)', () => { + describe('.updateDependency(fileContent, depType, depName, newVersion)', () => { it('replaces a dependency value', () => { const upgrade = { depType: 'dependencies', @@ -21,7 +21,7 @@ describe('workers/branch/package-json', () => { newVersion: '0.22.1', }; const outputContent = readFixture('outputs/011.json'); - const testContent = npmUpdater.setNewValue(input01Content, upgrade); + const testContent = npmUpdater.updateDependency(input01Content, upgrade); testContent.should.equal(outputContent); }); it('updates resolutions too', () => { @@ -30,7 +30,7 @@ describe('workers/branch/package-json', () => { depName: 'config', newVersion: '1.22.0', }; - const testContent = npmUpdater.setNewValue(input01Content, upgrade); + const testContent = npmUpdater.updateDependency(input01Content, upgrade); expect(JSON.parse(testContent).dependencies.config).toEqual('1.22.0'); expect(JSON.parse(testContent).resolutions.config).toEqual('1.22.0'); }); @@ -41,7 +41,7 @@ describe('workers/branch/package-json', () => { newVersion: '1.6.1', }; const outputContent = readFixture('outputs/012.json'); - const testContent = npmUpdater.setNewValue(input01Content, upgrade); + const testContent = npmUpdater.updateDependency(input01Content, upgrade); testContent.should.equal(outputContent); }); it('replaces only the second instance of a value', () => { @@ -51,7 +51,7 @@ describe('workers/branch/package-json', () => { newVersion: '1.6.1', }; const outputContent = readFixture('outputs/013.json'); - const testContent = npmUpdater.setNewValue(input01Content, upgrade); + const testContent = npmUpdater.updateDependency(input01Content, upgrade); testContent.should.equal(outputContent); }); it('handles the case where the desired version is already supported', () => { @@ -60,7 +60,7 @@ describe('workers/branch/package-json', () => { depName: 'angular-touch', newVersion: '1.5.8', }; - const testContent = npmUpdater.setNewValue(input01Content, upgrade); + const testContent = npmUpdater.updateDependency(input01Content, upgrade); testContent.should.equal(input01Content); }); it('returns null if throws error', () => { @@ -69,7 +69,7 @@ describe('workers/branch/package-json', () => { depName: 'angular-touch-not', newVersion: '1.5.8', }; - const testContent = npmUpdater.setNewValue(input01Content, upgrade); + const testContent = npmUpdater.updateDependency(input01Content, upgrade); expect(testContent).toBe(null); }); }); diff --git a/test/manager/nvm/__snapshots__/update.spec.js.snap b/test/manager/nvm/__snapshots__/update.spec.js.snap index e938db537a..104c1cac2f 100644 --- a/test/manager/nvm/__snapshots__/update.spec.js.snap +++ b/test/manager/nvm/__snapshots__/update.spec.js.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`manager/nvm/update setNewValue updates values 1`] = ` +exports[`manager/nvm/update updateDependency updates values 1`] = ` "8.9.1 " `; diff --git a/test/manager/nvm/update.spec.js b/test/manager/nvm/update.spec.js index 529499f600..91e62042d3 100644 --- a/test/manager/nvm/update.spec.js +++ b/test/manager/nvm/update.spec.js @@ -1,12 +1,12 @@ const nodefile = require('../../../lib/manager/nvm/update'); describe('manager/nvm/update', () => { - describe('setNewValue', () => { + describe('updateDependency', () => { it('updates values', () => { const upgrade = { newVersion: '8.9.1', }; - const res = nodefile.setNewValue('8.9.0\n', upgrade); + const res = nodefile.updateDependency('8.9.0\n', upgrade); expect(res).toMatchSnapshot(); }); }); diff --git a/test/manager/travis/__snapshots__/update.spec.js.snap b/test/manager/travis/__snapshots__/update.spec.js.snap index f54c61241b..75446f3b54 100644 --- a/test/manager/travis/__snapshots__/update.spec.js.snap +++ b/test/manager/travis/__snapshots__/update.spec.js.snap @@ -1,8 +1,8 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`manager/travis/update setNewValue falls back to 2 spaces 1`] = `"hello: world"`; +exports[`manager/travis/update updateDependency falls back to 2 spaces 1`] = `"hello: world"`; -exports[`manager/travis/update setNewValue updates values 1`] = ` +exports[`manager/travis/update updateDependency updates values 1`] = ` "dist: trusty language: node_js node_js: diff --git a/test/manager/travis/update.spec.js b/test/manager/travis/update.spec.js index b69e51f2b9..064a35b1f6 100644 --- a/test/manager/travis/update.spec.js +++ b/test/manager/travis/update.spec.js @@ -8,26 +8,26 @@ const content = fs.readFileSync( ); describe('manager/travis/update', () => { - describe('setNewValue', () => { + describe('updateDependency', () => { it('updates values', () => { const upgrade = { newVersion: ['6', '8'], }; - const res = nodefile.setNewValue(content, upgrade); + const res = nodefile.updateDependency(content, upgrade); expect(res).toMatchSnapshot(); }); it('falls back to 2 spaces', () => { const upgrade = { newVersion: ['6', '8'], }; - const res = nodefile.setNewValue('hello: world', upgrade); + const res = nodefile.updateDependency('hello: world', upgrade); expect(res).toMatchSnapshot(); }); it('returns null if error', () => { const upgrade = { newVersion: '6', }; - const res = nodefile.setNewValue(content, upgrade); + const res = nodefile.updateDependency(content, upgrade); expect(res).toBe(null); }); }); -- GitLab