diff --git a/lib/manager/bazel/index.js b/lib/manager/bazel/index.js index dfab0a11b5f1fc4a91a47ab5c7b97b8092fd3b6b..2b8661f14ce4f034952e684d47b0fa0298f916c6 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 fb729cfb557fad166b304e866d0d2cbe3167d0cf..ff577a30a6caf5a6246f82951f23e4f030980775 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 c08734125c72483b2e1435662b79f20d85172554..12f9387763b3988e3dc84201c1683b05c79982ca 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 99b5a093d34ce1c3aaa66c05d58b50749a1401ae..ae29c6e6b09a6f3bd971759481ed76839521b57e 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 a87d498c2014a23daf1a9b6a1cb8364098f209ba..a496cca16848ad94f5f66ed03a1481eca485de53 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 6a48f092a85216de6d3cd156a032aec5d8a18d03..424b060fa0a67f4d80b65c79a465ca7fbb4edca3 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 e29d5de6509bc98f717860091da39da60d6efa82..2e4b1e325896da566159658d65ff5d01ea41c746 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 6d39255587014855cbeee7f175190b5c50f5b861..811a1340a0bd1dfc6a60438f8ab45509d72b972b 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 2ed87bdb6c55fdd14ee45a3ad594704f7c13c312..295c9037474b5ee26276fdda673b9ceaf0ddca24 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 ef29e697ce3f8cf265019f8e4c5c1d6a5a559734..fab391044a9fda1abb0c22dc40b662a4d54e0204 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 f77dd9f03ee033cedb3afd586fb28c2c19d04906..f3fda1a0632a7dca0eb3cd022688996bde0aa084 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 58f7fe187f1a04946eb6d018d5a8dfa58c5019c1..a50788a2b4c39cab84f131a89795ac635fd96a1d 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 d8c330452e66ff8dd880a63030721d538fd567d7..0f6096f23a8b3ffd6ffcb32e6ad4e73f9f2f3fe3 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 3e0c887284602673d868bd145c4a1fe41c35ad24..91e5d8175f1ed2af2be39d9fb2882b41f46a5370 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 3d371c5a8ca319c413361e82a560731c9b73b616..565b78085f8a8bbe58a923743f5a20d623ac0128 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 a5fcaccadd598a698ab094e81e6700f70e38e973..243cfe117a6c97825a2a7308986d72b3ae7ba035 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 8fd639dc6199afcea1c260f72c1af1d98a713940..baf64d5b00cb8df812d9005596da65fc1da93548 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 891446e83a7949c5b455ae375251f9d6065caaba..320ce83850af2520c8332fc8cef38c3e0fb5214f 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 25d2421d1a0d4756c5a53a7d702453c9fd24145d..c394909ff38f3bad34737a4d543124715aa2db7d 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 1ba3bd84593884a4060ff5e2e2405d666f630f95..9337c55ed150e75842de09af00d99d0cad4303ed 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 8c5bc5c570f4479876be94426e0d4c67710d84c9..1e4508d85b0b0fcf2df7e7213bfb0ed4279e83dc 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 ad3f847b219a8c9f102b4c82b04b902acef450eb..04dac8051fdfbc36c11e141470f85d6b19f5a3f4 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 10f3e59c1a7c7c9f28b800fd2f8ca011814e61ef..bacf2481981c1fd72b8d241a6f4df619fc64cf95 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 a2242c805430f2c3a8445092b62cb8d861348e81..1f3791523171cba4af807e51fe3ebdce26baf149 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 3eceb243994de811789ae1c515912c1ea12953b2..9c1d0b7749a6a78a578c68dc692b41392352df24 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 885ffd61b095aa7c6f050c108027cd7900a27b92..4494f231a25d53a8981bd61349682e971566882c 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 e938db537a6e2efde93d1459c9eeba39f1df6e80..104c1cac2fd62eaa5314cd230d7bdf0d91b36b58 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 529499f6007895949c9188f5277ed7e782f07bcc..91e62042d3f96703d8f8273501554d621052f286 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 f54c61241b202e691aa38d04f047072496ebcd2f..75446f3b542a8d2a20d739f459b0e21060f0694b 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 b69e51f2b9a64a9da1fe9d43ef1fbc7e40c6496f..064a35b1f6c6a25cea37ae8a8b2e54322426d34e 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); }); });