diff --git a/lib/manager/bundler/artifacts.ts b/lib/manager/bundler/artifacts.ts index 152a3b4aa6a91376938ccb99a613e7a74823075e..c4e1131e2b8acd4d90b12e704ae6a0ed86746f0c 100644 --- a/lib/manager/bundler/artifacts.ts +++ b/lib/manager/bundler/artifacts.ts @@ -10,7 +10,7 @@ import { matches, sortVersions, } from '../../versioning/ruby'; -import { UpdateArtifactsConfig, UpdateArtifactsResult } from '../common'; +import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { platform } from '../../platform'; import { BUNDLER_INVALID_CREDENTIALS, @@ -22,12 +22,12 @@ import { BINARY_SOURCE_GLOBAL, } from '../../constants/data-binary-source'; -export async function updateArtifacts( - packageFileName: string, - updatedDeps: string[], - newPackageFileContent: string, - config: UpdateArtifactsConfig -): Promise<UpdateArtifactsResult[] | null> { +export async function updateArtifacts({ + packageFileName, + updatedDeps, + newPackageFileContent, + config, +}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> { logger.debug(`bundler.updateArtifacts(${packageFileName})`); // istanbul ignore if if (global.repoCache.bundlerArtifactsError) { @@ -190,12 +190,12 @@ export async function updateArtifacts( const newUpdatedDeps = [ ...new Set([...updatedDeps, ...resolveMatches]), ]; - return updateArtifacts( + return updateArtifacts({ packageFileName, - newUpdatedDeps, + updatedDeps: newUpdatedDeps, newPackageFileContent, - config - ); + config, + }); } logger.info( { err }, diff --git a/lib/manager/cargo/artifacts.ts b/lib/manager/cargo/artifacts.ts index 61710b6d6db8601d38b31c1b92c0d31a614a3614..3fa234e808574038574d6a59bfea2c436bc1f78e 100644 --- a/lib/manager/cargo/artifacts.ts +++ b/lib/manager/cargo/artifacts.ts @@ -3,16 +3,16 @@ import { outputFile, readFile } from 'fs-extra'; import { exec } from '../../util/exec'; import { getChildProcessEnv } from '../../util/exec/env'; import { logger } from '../../logger'; -import { UpdateArtifactsConfig, UpdateArtifactsResult } from '../common'; +import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { platform } from '../../platform'; import { BINARY_SOURCE_DOCKER } from '../../constants/data-binary-source'; -export async function updateArtifacts( - packageFileName: string, - updatedDeps: string[], - newPackageFileContent: string, - config: UpdateArtifactsConfig -): Promise<UpdateArtifactsResult[] | null> { +export async function updateArtifacts({ + packageFileName, + updatedDeps, + newPackageFileContent, + config, +}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> { logger.debug(`cargo.updateArtifacts(${packageFileName})`); if (updatedDeps === undefined || updatedDeps.length < 1) { logger.debug('No updated cargo deps - returning null'); diff --git a/lib/manager/common.ts b/lib/manager/common.ts index eb819f7e388e0325e2ce72fecb3fa9bb508101d8..2a18a1a927aa24b6585d9223ee2bd88be885c4c4 100644 --- a/lib/manager/common.ts +++ b/lib/manager/common.ts @@ -173,6 +173,12 @@ export interface UpdateArtifactsResult { file?: { name: string; contents: string }; } +export interface UpdateArtifact { + packageFileName: string; + updatedDeps: string[]; + newPackageFileContent: string; + config: UpdateArtifactsConfig; +} export interface ManagerApi { language?: string; supportsLockFileMaintenance?: boolean; @@ -195,10 +201,7 @@ export interface ManagerApi { getRangeStrategy(config: RangeConfig): RangeStrategy; updateArtifacts?( - packageFileName: string, - updatedDeps: string[], - newPackageFileContent: string, - config: UpdateArtifactsConfig + updateArtifact: UpdateArtifact ): Result<UpdateArtifactsResult[] | null>; updateDependency( diff --git a/lib/manager/composer/artifacts.ts b/lib/manager/composer/artifacts.ts index 343c29705aa8378f99942b811f97492241d18e38..cd1bad43ec3d13d676849f32f09008cd9bcb2a37 100644 --- a/lib/manager/composer/artifacts.ts +++ b/lib/manager/composer/artifacts.ts @@ -3,7 +3,7 @@ import URL from 'url'; import fs from 'fs-extra'; import upath from 'upath'; import { exec } from '../../util/exec'; -import { UpdateArtifactsConfig, UpdateArtifactsResult } from '../common'; +import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { logger } from '../../logger'; import * as hostRules from '../../util/host-rules'; import { getChildProcessEnv } from '../../util/exec/env'; @@ -15,12 +15,12 @@ import { BINARY_SOURCE_GLOBAL, } from '../../constants/data-binary-source'; -export async function updateArtifacts( - packageFileName: string, - updatedDeps: string[], - newPackageFileContent: string, - config: UpdateArtifactsConfig -): Promise<UpdateArtifactsResult[] | null> { +export async function updateArtifacts({ + packageFileName, + updatedDeps, + newPackageFileContent, + config, +}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> { logger.debug(`composer.updateArtifacts(${packageFileName})`); const env = getChildProcessEnv(['COMPOSER_CACHE_DIR']); env.COMPOSER_CACHE_DIR = diff --git a/lib/manager/git-submodules/artifacts.ts b/lib/manager/git-submodules/artifacts.ts index 81555ef443c66ef0cb85417453de55df5d3c4e7a..cd0f348e3ee6cbdfeef1514fb118edaa5bdb99a3 100644 --- a/lib/manager/git-submodules/artifacts.ts +++ b/lib/manager/git-submodules/artifacts.ts @@ -1,11 +1,8 @@ -import { UpdateArtifactsConfig, UpdateArtifactsResult } from '../common'; +import { UpdateArtifact, UpdateArtifactsResult } from '../common'; -export default function updateArtifacts( - packageFileName: string, - updatedDeps: string[], - newPackageFileContent: string, - config: UpdateArtifactsConfig -): UpdateArtifactsResult[] | null { +export default function updateArtifacts({ + updatedDeps, +}: UpdateArtifact): UpdateArtifactsResult[] | null { return [ { file: { diff --git a/lib/manager/gomod/artifacts.ts b/lib/manager/gomod/artifacts.ts index 496d1a96ad2302d7f28c212893f32558c750cce2..e0be95857229680483ee274e966ad1368240c5b3 100644 --- a/lib/manager/gomod/artifacts.ts +++ b/lib/manager/gomod/artifacts.ts @@ -4,7 +4,7 @@ import { exec } from '../../util/exec'; import { find } from '../../util/host-rules'; import { getChildProcessEnv } from '../../util/exec/env'; import { logger } from '../../logger'; -import { UpdateArtifactsConfig, UpdateArtifactsResult } from '../common'; +import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { platform } from '../../platform'; import { BINARY_SOURCE_AUTO, @@ -12,12 +12,12 @@ import { BINARY_SOURCE_GLOBAL, } from '../../constants/data-binary-source'; -export async function updateArtifacts( - goModFileName: string, - _updatedDeps: string[], - newGoModContent: string, - config: UpdateArtifactsConfig -): Promise<UpdateArtifactsResult[] | null> { +export async function updateArtifacts({ + packageFileName: goModFileName, + updatedDeps: _updatedDeps, + newPackageFileContent: newGoModContent, + config, +}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> { logger.debug(`gomod.updateArtifacts(${goModFileName})`); const customEnv = ['GOPATH', 'GOPROXY', 'GONOSUMDB']; const env = getChildProcessEnv(customEnv); diff --git a/lib/manager/mix/artifacts.ts b/lib/manager/mix/artifacts.ts index 58701f687ec248b17a527da3d1a6105ddb32e2ae..839ecb1c89dca70e3a44d8fc82196146328d3c32 100644 --- a/lib/manager/mix/artifacts.ts +++ b/lib/manager/mix/artifacts.ts @@ -3,15 +3,15 @@ import fs from 'fs-extra'; import { platform } from '../../platform'; import { exec } from '../../util/exec'; import { logger } from '../../logger'; -import { UpdateArtifactsConfig, UpdateArtifactsResult } from '../common'; +import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { BINARY_SOURCE_DOCKER } from '../../constants/data-binary-source'; -export async function updateArtifacts( - packageFileName: string, - updatedDeps: string[], - newPackageFileContent: string, - config: UpdateArtifactsConfig -): Promise<UpdateArtifactsResult[] | null> { +export async function updateArtifacts({ + packageFileName, + updatedDeps, + newPackageFileContent, + config, +}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> { logger.debug(`mix.getArtifacts(${packageFileName})`); if (updatedDeps.length < 1) { logger.debug('No updated mix deps - returning null'); diff --git a/lib/manager/pipenv/artifacts.ts b/lib/manager/pipenv/artifacts.ts index 99881cf7be8f838577588c47bd3fb2e823178cb8..773b2603c5b496cf9baf21852a2953a80c4ae787 100644 --- a/lib/manager/pipenv/artifacts.ts +++ b/lib/manager/pipenv/artifacts.ts @@ -3,16 +3,16 @@ import { join, dirname } from 'upath'; import { exec } from '../../util/exec'; import { getChildProcessEnv } from '../../util/exec/env'; import { logger } from '../../logger'; -import { UpdateArtifactsResult, UpdateArtifactsConfig } from '../common'; +import { UpdateArtifactsResult, UpdateArtifact } from '../common'; import { platform } from '../../platform'; import { BINARY_SOURCE_DOCKER } from '../../constants/data-binary-source'; -export async function updateArtifacts( - pipfileName: string, - _updatedDeps: string[], - newPipfileContent: string, - config: UpdateArtifactsConfig -): Promise<UpdateArtifactsResult[] | null> { +export async function updateArtifacts({ + packageFileName: pipfileName, + updatedDeps: _updatedDeps, + newPackageFileContent: newPipfileContent, + config, +}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> { logger.debug(`pipenv.updateArtifacts(${pipfileName})`); const env = getChildProcessEnv(['LC_ALL', 'LANG', 'PIPENV_CACHE_DIR']); diff --git a/lib/manager/poetry/artifacts.ts b/lib/manager/poetry/artifacts.ts index d5d6ac08a3e27dff99f89fc772d4fd305cbcaed2..7399753251fd4acb976f04ab3469e94a446ffa1e 100644 --- a/lib/manager/poetry/artifacts.ts +++ b/lib/manager/poetry/artifacts.ts @@ -3,16 +3,16 @@ import { parse, join } from 'upath'; import { outputFile, readFile } from 'fs-extra'; import { exec, ExecOptions } from '../../util/exec'; import { logger } from '../../logger'; -import { UpdateArtifactsConfig, UpdateArtifactsResult } from '../common'; +import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { platform } from '../../platform'; import { BINARY_SOURCE_DOCKER } from '../../constants/data-binary-source'; -export async function updateArtifacts( - packageFileName: string, - updatedDeps: string[], - newPackageFileContent: string, - config: UpdateArtifactsConfig -): Promise<UpdateArtifactsResult[] | null> { +export async function updateArtifacts({ + packageFileName, + updatedDeps, + newPackageFileContent, + config, +}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> { logger.debug(`poetry.updateArtifacts(${packageFileName})`); if (!is.nonEmptyArray(updatedDeps)) { logger.debug('No updated poetry deps - returning null'); diff --git a/lib/workers/branch/get-updated.ts b/lib/workers/branch/get-updated.ts index 7f8994fc85a0b15628d6bfcece6035feeeeae08f..3ef7ee2b9f5823a55b1b396f8ea168f945df951d 100644 --- a/lib/workers/branch/get-updated.ts +++ b/lib/workers/branch/get-updated.ts @@ -91,12 +91,12 @@ export async function getUpdatedPackageFiles( const updatedDeps = packageFileUpdatedDeps[packageFile.name]; const updateArtifacts = get(manager, 'updateArtifacts'); if (updateArtifacts) { - const results = await updateArtifacts( - packageFile.name, + const results = await updateArtifacts({ + packageFileName: packageFile.name, updatedDeps, - packageFile.contents, - config - ); + newPackageFileContent: packageFile.contents, + config, + }); if (is.nonEmptyArray(results)) { for (const res of results) { const { file, artifactError } = res; @@ -118,12 +118,12 @@ export async function getUpdatedPackageFiles( const packageFileContents = updatedFileContents[packageFile] || (await platform.getFile(packageFile, config.parentBranch)); - const results = await updateArtifacts( - packageFile, - [], - packageFileContents, - config - ); + const results = await updateArtifacts({ + packageFileName: packageFile, + updatedDeps: [], + newPackageFileContent: packageFileContents, + config, + }); if (is.nonEmptyArray(results)) { for (const res of results) { const { file, artifactError } = res; diff --git a/test/manager/bundler/artifacts.spec.ts b/test/manager/bundler/artifacts.spec.ts index 6c66a9b4c9ee84ef8e4c601c3e2195c1c1b6f672..442b10e1ed47821fc94790a27cc2685c545ea36f 100644 --- a/test/manager/bundler/artifacts.spec.ts +++ b/test/manager/bundler/artifacts.spec.ts @@ -38,7 +38,14 @@ describe('bundler.updateArtifacts()', () => { env.getChildProcessEnv.mockReturnValue(envMock.basic); }); it('returns null by default', async () => { - expect(await updateArtifacts('', [], '', config)).toBeNull(); + expect( + await updateArtifacts({ + packageFileName: '', + updatedDeps: [], + newPackageFileContent: '', + config, + }) + ).toBeNull(); }); it('returns null if Gemfile.lock was not changed', async () => { platform.getFile.mockResolvedValueOnce('Current Gemfile.lock'); @@ -49,7 +56,12 @@ describe('bundler.updateArtifacts()', () => { } as Git.StatusResult); fs.readFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); expect( - await updateArtifacts('Gemfile', [], 'Updated Gemfile content', config) + await updateArtifacts({ + packageFileName: 'Gemfile', + updatedDeps: [], + newPackageFileContent: 'Updated Gemfile content', + config, + }) ).toMatchSnapshot(); expect(execSnapshots).toMatchSnapshot(); }); @@ -62,7 +74,12 @@ describe('bundler.updateArtifacts()', () => { } as Git.StatusResult); fs.readFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); expect( - await updateArtifacts('Gemfile', [], 'Updated Gemfile content', config) + await updateArtifacts({ + packageFileName: 'Gemfile', + updatedDeps: [], + newPackageFileContent: 'Updated Gemfile content', + config, + }) ).toMatchSnapshot(); expect(execSnapshots).toMatchSnapshot(); }); @@ -75,9 +92,14 @@ describe('bundler.updateArtifacts()', () => { } as Git.StatusResult); fs.readFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); expect( - await updateArtifacts('Gemfile', [], 'Updated Gemfile content', { - ...config, - binarySource: BINARY_SOURCE_GLOBAL, + await updateArtifacts({ + packageFileName: 'Gemfile', + updatedDeps: [], + newPackageFileContent: 'Updated Gemfile content', + config: { + ...config, + binarySource: BINARY_SOURCE_GLOBAL, + }, }) ).toMatchSnapshot(); expect(execSnapshots).toMatchSnapshot(); @@ -100,9 +122,14 @@ describe('bundler.updateArtifacts()', () => { } as Git.StatusResult); fs.readFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); expect( - await updateArtifacts('Gemfile', [], 'Updated Gemfile content', { - ...config, - binarySource: BINARY_SOURCE_DOCKER, + await updateArtifacts({ + packageFileName: 'Gemfile', + updatedDeps: [], + newPackageFileContent: 'Updated Gemfile content', + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + }, }) ).toMatchSnapshot(); expect(execSnapshots).toMatchSnapshot(); @@ -123,13 +150,18 @@ describe('bundler.updateArtifacts()', () => { } as Git.StatusResult); fs.readFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); expect( - await updateArtifacts('Gemfile', [], 'Updated Gemfile content', { - ...config, - binarySource: BINARY_SOURCE_DOCKER, - dockerUser: 'foobar', - compatibility: { - ruby: '1.2.5', - bundler: '3.2.1', + await updateArtifacts({ + packageFileName: 'Gemfile', + updatedDeps: [], + newPackageFileContent: 'Updated Gemfile content', + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + dockerUser: 'foobar', + compatibility: { + ruby: '1.2.5', + bundler: '3.2.1', + }, }, }) ).toMatchSnapshot(); diff --git a/test/manager/cargo/artifacts.spec.ts b/test/manager/cargo/artifacts.spec.ts index 5b6481afbc6b26449f8f13bdf5a5dbca8943a000..d9c788562d14b220593eae0fc9f08a5de535c477 100644 --- a/test/manager/cargo/artifacts.spec.ts +++ b/test/manager/cargo/artifacts.spec.ts @@ -30,12 +30,22 @@ describe('.updateArtifacts()', () => { it('returns null if no Cargo.lock found', async () => { const updatedDeps = ['dep1']; expect( - await cargo.updateArtifacts('Cargo.toml', updatedDeps, '', config) + await cargo.updateArtifacts({ + packageFileName: 'Cargo.toml', + updatedDeps, + newPackageFileContent: '', + config, + }) ).toBeNull(); }); it('returns null if updatedDeps is empty', async () => { expect( - await cargo.updateArtifacts('Cargo.toml', [], '', config) + await cargo.updateArtifacts({ + packageFileName: 'Cargo.toml', + updatedDeps: [], + newPackageFileContent: '', + config, + }) ).toBeNull(); }); it('returns null if unchanged', async () => { @@ -44,7 +54,12 @@ describe('.updateArtifacts()', () => { fs.readFile.mockReturnValueOnce('Current Cargo.lock' as any); const updatedDeps = ['dep1']; expect( - await cargo.updateArtifacts('Cargo.toml', updatedDeps, '', config) + await cargo.updateArtifacts({ + packageFileName: 'Cargo.toml', + updatedDeps, + newPackageFileContent: '', + config, + }) ).toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -54,7 +69,12 @@ describe('.updateArtifacts()', () => { fs.readFile.mockReturnValueOnce('New Cargo.lock' as any); const updatedDeps = ['dep1']; expect( - await cargo.updateArtifacts('Cargo.toml', updatedDeps, '{}', config) + await cargo.updateArtifacts({ + packageFileName: 'Cargo.toml', + updatedDeps, + newPackageFileContent: '{}', + config, + }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -64,10 +84,15 @@ describe('.updateArtifacts()', () => { fs.readFile.mockReturnValueOnce('New Cargo.lock' as any); const updatedDeps = ['dep1']; expect( - await cargo.updateArtifacts('Cargo.toml', updatedDeps, '{}', { - ...config, - binarySource: BINARY_SOURCE_DOCKER, - dockerUser: 'foobar', + await cargo.updateArtifacts({ + packageFileName: 'Cargo.toml', + updatedDeps, + newPackageFileContent: '{}', + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + dockerUser: 'foobar', + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -79,7 +104,12 @@ describe('.updateArtifacts()', () => { }); const updatedDeps = ['dep1']; expect( - await cargo.updateArtifacts('Cargo.toml', updatedDeps, '{}', config) + await cargo.updateArtifacts({ + packageFileName: 'Cargo.toml', + updatedDeps, + newPackageFileContent: '{}', + config, + }) ).toMatchSnapshot(); }); }); diff --git a/test/manager/composer/artifacts.spec.ts b/test/manager/composer/artifacts.spec.ts index cf0de0167f63853a5854bad99192b38a146e75f5..2c70a03f0a7190cdd906d66f0ad3f9f5f1f253ae 100644 --- a/test/manager/composer/artifacts.spec.ts +++ b/test/manager/composer/artifacts.spec.ts @@ -36,7 +36,12 @@ describe('.updateArtifacts()', () => { }); it('returns if no composer.lock found', async () => { expect( - await composer.updateArtifacts('composer.json', [], '{}', config) + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).toBeNull(); }); it('returns null if unchanged', async () => { @@ -45,7 +50,12 @@ describe('.updateArtifacts()', () => { fs.readFile.mockReturnValueOnce('Current composer.lock' as any); platform.getRepoStatus.mockResolvedValue({ modified: [] } as StatusResult); expect( - await composer.updateArtifacts('composer.json', [], '{}', config) + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -63,7 +73,12 @@ describe('.updateArtifacts()', () => { }); platform.getRepoStatus.mockResolvedValue({ modified: [] } as StatusResult); expect( - await composer.updateArtifacts('composer.json', [], '{}', authConfig) + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config: authConfig, + }) ).toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -75,7 +90,12 @@ describe('.updateArtifacts()', () => { modified: ['composer.lock'], } as StatusResult); expect( - await composer.updateArtifacts('composer.json', [], '{}', config) + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -87,9 +107,14 @@ describe('.updateArtifacts()', () => { modified: ['composer.lock'], } as StatusResult); expect( - await composer.updateArtifacts('composer.json', [], '{}', { - ...config, - isLockFileMaintenance: true, + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config: { + ...config, + isLockFileMaintenance: true, + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -101,10 +126,15 @@ describe('.updateArtifacts()', () => { fs.readFile.mockReturnValueOnce('New composer.lock' as any); expect( - await composer.updateArtifacts('composer.json', [], '{}', { - ...config, - binarySource: BINARY_SOURCE_DOCKER, - dockerUser: 'foobar', + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + dockerUser: 'foobar', + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -114,9 +144,14 @@ describe('.updateArtifacts()', () => { const execSnapshots = mockExecAll(exec); fs.readFile.mockReturnValueOnce('New composer.lock' as any); expect( - await composer.updateArtifacts('composer.json', [], '{}', { - ...config, - binarySource: BINARY_SOURCE_GLOBAL, + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config: { + ...config, + binarySource: BINARY_SOURCE_GLOBAL, + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -127,7 +162,12 @@ describe('.updateArtifacts()', () => { throw new Error('not found'); }); expect( - await composer.updateArtifacts('composer.json', [], '{}', config) + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).toMatchSnapshot(); }); it('catches unmet requirements errors', async () => { @@ -138,7 +178,12 @@ describe('.updateArtifacts()', () => { ); }); expect( - await composer.updateArtifacts('composer.json', [], '{}', config) + await composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).toMatchSnapshot(); }); it('throws for disk space', async () => { @@ -149,7 +194,12 @@ describe('.updateArtifacts()', () => { ); }); await expect( - composer.updateArtifacts('composer.json', [], '{}', config) + composer.updateArtifacts({ + packageFileName: 'composer.json', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).rejects.toThrow(); }); }); diff --git a/test/manager/git-submodules/artifact.spec.ts b/test/manager/git-submodules/artifact.spec.ts index 4c845d40ff56553748771379086d2019d14f89df..5df38c961d3b91c105d1daa5d3ebc8a67136df56 100644 --- a/test/manager/git-submodules/artifact.spec.ts +++ b/test/manager/git-submodules/artifact.spec.ts @@ -3,7 +3,14 @@ import updateArtifacts from '../../../lib/manager/git-submodules/artifacts'; describe('lib/manager/gitsubmodules/artifacts', () => { describe('updateArtifacts()', () => { it('returns empty content', () => { - expect(updateArtifacts('', [''], '', {})).toMatchSnapshot(); + expect( + updateArtifacts({ + packageFileName: '', + updatedDeps: [''], + newPackageFileContent: '', + config: {}, + }) + ).toMatchSnapshot(); }); }); }); diff --git a/test/manager/gomod/artifacts.spec.ts b/test/manager/gomod/artifacts.spec.ts index c3813fdf5ef57c53656a089e7df0786cad0a070b..0ab40fc52c73f7c8e444384963f8d21fa924d139 100644 --- a/test/manager/gomod/artifacts.spec.ts +++ b/test/manager/gomod/artifacts.spec.ts @@ -50,7 +50,12 @@ describe('.updateArtifacts()', () => { it('returns if no go.sum found', async () => { const execSnapshots = mockExecAll(exec); expect( - await gomod.updateArtifacts('go.mod', [], gomod1, config) + await gomod.updateArtifacts({ + packageFileName: 'go.mod', + updatedDeps: [], + newPackageFileContent: gomod1, + config, + }) ).toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -61,7 +66,12 @@ describe('.updateArtifacts()', () => { modified: [], } as StatusResult); expect( - await gomod.updateArtifacts('go.mod', [], gomod1, config) + await gomod.updateArtifacts({ + packageFileName: 'go.mod', + updatedDeps: [], + newPackageFileContent: gomod1, + config, + }) ).toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -73,7 +83,12 @@ describe('.updateArtifacts()', () => { } as StatusResult); fs.readFile.mockReturnValueOnce('New go.sum' as any); expect( - await gomod.updateArtifacts('go.mod', [], gomod1, config) + await gomod.updateArtifacts({ + packageFileName: 'go.mod', + updatedDeps: [], + newPackageFileContent: gomod1, + config, + }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -85,10 +100,15 @@ describe('.updateArtifacts()', () => { } as StatusResult); fs.readFile.mockReturnValueOnce('New go.sum' as any); expect( - await gomod.updateArtifacts('go.mod', [], gomod1, { - ...config, - binarySource: BINARY_SOURCE_DOCKER, - dockerUser: 'foobar', + await gomod.updateArtifacts({ + packageFileName: 'go.mod', + updatedDeps: [], + newPackageFileContent: gomod1, + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + dockerUser: 'foobar', + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -101,9 +121,14 @@ describe('.updateArtifacts()', () => { } as StatusResult); fs.readFile.mockReturnValueOnce('New go.sum' as any); expect( - await gomod.updateArtifacts('go.mod', [], gomod1, { - ...config, - binarySource: BINARY_SOURCE_GLOBAL, + await gomod.updateArtifacts({ + packageFileName: 'go.mod', + updatedDeps: [], + newPackageFileContent: gomod1, + config: { + ...config, + binarySource: BINARY_SOURCE_GLOBAL, + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -119,9 +144,14 @@ describe('.updateArtifacts()', () => { } as StatusResult); fs.readFile.mockReturnValueOnce('New go.sum' as any); expect( - await gomod.updateArtifacts('go.mod', [], gomod1, { - ...config, - binarySource: BINARY_SOURCE_DOCKER, + await gomod.updateArtifacts({ + packageFileName: 'go.mod', + updatedDeps: [], + newPackageFileContent: gomod1, + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -141,10 +171,15 @@ describe('.updateArtifacts()', () => { try { global.appMode = true; expect( - await gomod.updateArtifacts('go.mod', [], gomod1, { - ...config, - binarySource: BINARY_SOURCE_DOCKER, - postUpdateOptions: ['gomodTidy'], + await gomod.updateArtifacts({ + packageFileName: 'go.mod', + updatedDeps: [], + newPackageFileContent: gomod1, + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + postUpdateOptions: ['gomodTidy'], + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -159,7 +194,12 @@ describe('.updateArtifacts()', () => { throw new Error('This update totally doesnt work'); }); expect( - await gomod.updateArtifacts('go.mod', [], gomod1, config) + await gomod.updateArtifacts({ + packageFileName: 'go.mod', + updatedDeps: [], + newPackageFileContent: gomod1, + config, + }) ).toMatchSnapshot(); expect(execSnapshots).toMatchSnapshot(); }); diff --git a/test/manager/mix/artifacts.spec.ts b/test/manager/mix/artifacts.spec.ts index 673d4c1b145def90b1001d089823283bfb8db643..e7f19e2b4a2be3c9c90279b73228af237ef1a7dc 100644 --- a/test/manager/mix/artifacts.spec.ts +++ b/test/manager/mix/artifacts.spec.ts @@ -29,27 +29,60 @@ describe('.updateArtifacts()', () => { env.getChildProcessEnv.mockReturnValue(envMock.basic); }); it('returns null if no mix.lock found', async () => { - expect(await updateArtifacts('mix.exs', ['plug'], '', config)).toBeNull(); + expect( + await updateArtifacts({ + packageFileName: 'mix.exs', + updatedDeps: ['plug'], + newPackageFileContent: '', + config, + }) + ).toBeNull(); }); it('returns null if no updatedDeps were provided', async () => { - expect(await updateArtifacts('mix.exs', [], '', config)).toBeNull(); + expect( + await updateArtifacts({ + packageFileName: 'mix.exs', + updatedDeps: [], + newPackageFileContent: '', + config, + }) + ).toBeNull(); }); it('returns null if no local directory found', async () => { const noLocalDirConfig = { localDir: null, }; expect( - await updateArtifacts('mix.exs', ['plug'], '', noLocalDirConfig) + await updateArtifacts({ + packageFileName: 'mix.exs', + updatedDeps: ['plug'], + newPackageFileContent: '', + config: noLocalDirConfig, + }) ).toBeNull(); }); it('returns null if updatedDeps is empty', async () => { - expect(await updateArtifacts('mix.exs', ['plug'], '', config)).toBeNull(); + expect( + await updateArtifacts({ + packageFileName: 'mix.exs', + updatedDeps: ['plug'], + newPackageFileContent: '', + config, + }) + ).toBeNull(); }); it('returns null if unchanged', async () => { platform.getFile.mockResolvedValueOnce('Current mix.lock'); const execSnapshots = mockExecAll(exec); fs.readFile.mockResolvedValueOnce('Current mix.lock' as any); - expect(await updateArtifacts('mix.exs', ['plug'], '', config)).toBeNull(); + expect( + await updateArtifacts({ + packageFileName: 'mix.exs', + updatedDeps: ['plug'], + newPackageFileContent: '', + config, + }) + ).toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); it('returns updated mix.lock', async () => { @@ -57,9 +90,14 @@ describe('.updateArtifacts()', () => { const execSnapshots = mockExecAll(exec); fs.readFile.mockResolvedValueOnce('New mix.lock' as any); expect( - await updateArtifacts('mix.exs', ['plug'], '{}', { - ...config, - binarySource: BINARY_SOURCE_DOCKER, + await updateArtifacts({ + packageFileName: 'mix.exs', + updatedDeps: ['plug'], + newPackageFileContent: '{}', + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + }, }) ).toMatchSnapshot(); expect(execSnapshots).toMatchSnapshot(); @@ -70,7 +108,12 @@ describe('.updateArtifacts()', () => { throw new Error('not found'); }); expect( - await updateArtifacts('mix.exs', ['plug'], '{}', config) + await updateArtifacts({ + packageFileName: 'mix.exs', + updatedDeps: ['plug'], + newPackageFileContent: '{}', + config, + }) ).toMatchSnapshot(); }); }); diff --git a/test/manager/pipenv/artifacts.spec.ts b/test/manager/pipenv/artifacts.spec.ts index 3cad61eea722cabd1d9fb9998b5a741a574a0801..545c873cbe64290f537b6fc21a3c199fccff669e 100644 --- a/test/manager/pipenv/artifacts.spec.ts +++ b/test/manager/pipenv/artifacts.spec.ts @@ -30,14 +30,26 @@ describe('.updateArtifacts()', () => { }); it('returns if no Pipfile.lock found', async () => { - expect(await pipenv.updateArtifacts('Pipfile', [], '', config)).toBeNull(); + expect( + await pipenv.updateArtifacts({ + packageFileName: 'Pipfile', + updatedDeps: [], + newPackageFileContent: '', + config, + }) + ).toBeNull(); }); it('returns null if unchanged', async () => { platform.getFile.mockResolvedValueOnce('Current Pipfile.lock'); const execSnapshots = mockExecAll(exec); fs.readFile.mockReturnValueOnce('Current Pipfile.lock' as any); expect( - await pipenv.updateArtifacts('Pipfile', [], '{}', config) + await pipenv.updateArtifacts({ + packageFileName: 'Pipfile', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -49,7 +61,12 @@ describe('.updateArtifacts()', () => { } as StatusResult); fs.readFile.mockReturnValueOnce('New Pipfile.lock' as any); expect( - await pipenv.updateArtifacts('Pipfile', [], '{}', config) + await pipenv.updateArtifacts({ + packageFileName: 'Pipfile', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -61,10 +78,15 @@ describe('.updateArtifacts()', () => { } as StatusResult); fs.readFile.mockReturnValueOnce('New Pipfile.lock' as any); expect( - await pipenv.updateArtifacts('Pipfile', [], '{}', { - ...config, - binarySource: BINARY_SOURCE_DOCKER, - dockerUser: 'foobar', + await pipenv.updateArtifacts({ + packageFileName: 'Pipfile', + updatedDeps: [], + newPackageFileContent: '{}', + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + dockerUser: 'foobar', + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -75,7 +97,12 @@ describe('.updateArtifacts()', () => { throw new Error('not found'); }); expect( - await pipenv.updateArtifacts('Pipfile', [], '{}', config) + await pipenv.updateArtifacts({ + packageFileName: 'Pipfile', + updatedDeps: [], + newPackageFileContent: '{}', + config, + }) ).toMatchSnapshot(); }); }); diff --git a/test/manager/poetry/artifacts.spec.ts b/test/manager/poetry/artifacts.spec.ts index b7778ecb7a7d591ce636af14dcabb1e564bc55c4..80c8126326a6cbbfc625ed7cd729a1758b4af563 100644 --- a/test/manager/poetry/artifacts.spec.ts +++ b/test/manager/poetry/artifacts.spec.ts @@ -34,11 +34,23 @@ describe('.updateArtifacts()', () => { it('returns null if no poetry.lock found', async () => { const updatedDeps = ['dep1']; expect( - await updateArtifacts('pyproject.toml', updatedDeps, '', config) + await updateArtifacts({ + packageFileName: 'pyproject.toml', + updatedDeps, + newPackageFileContent: '', + config, + }) ).toBeNull(); }); it('returns null if updatedDeps is empty', async () => { - expect(await updateArtifacts('pyproject.toml', [], '', config)).toBeNull(); + expect( + await updateArtifacts({ + packageFileName: 'pyproject.toml', + updatedDeps: [], + newPackageFileContent: '', + config, + }) + ).toBeNull(); }); it('returns null if unchanged', async () => { platform.getFile.mockResolvedValueOnce('Current poetry.lock'); @@ -46,7 +58,12 @@ describe('.updateArtifacts()', () => { fs.readFile.mockReturnValueOnce('Current poetry.lock' as any); const updatedDeps = ['dep1']; expect( - await updateArtifacts('pyproject.toml', updatedDeps, '', config) + await updateArtifacts({ + packageFileName: 'pyproject.toml', + updatedDeps, + newPackageFileContent: '', + config, + }) ).toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -56,7 +73,12 @@ describe('.updateArtifacts()', () => { fs.readFile.mockReturnValueOnce('New poetry.lock' as any); const updatedDeps = ['dep1']; expect( - await updateArtifacts('pyproject.toml', updatedDeps, '{}', config) + await updateArtifacts({ + packageFileName: 'pyproject.toml', + updatedDeps, + newPackageFileContent: '{}', + config, + }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); }); @@ -66,10 +88,15 @@ describe('.updateArtifacts()', () => { fs.readFile.mockReturnValueOnce('New poetry.lock' as any); const updatedDeps = ['dep1']; expect( - await updateArtifacts('pyproject.toml', updatedDeps, '{}', { - ...config, - binarySource: BINARY_SOURCE_DOCKER, - dockerUser: 'foobar', + await updateArtifacts({ + packageFileName: 'pyproject.toml', + updatedDeps, + newPackageFileContent: '{}', + config: { + ...config, + binarySource: BINARY_SOURCE_DOCKER, + dockerUser: 'foobar', + }, }) ).not.toBeNull(); expect(execSnapshots).toMatchSnapshot(); @@ -81,7 +108,12 @@ describe('.updateArtifacts()', () => { }); const updatedDeps = ['dep1']; expect( - await updateArtifacts('pyproject.toml', updatedDeps, '{}', config) + await updateArtifacts({ + packageFileName: 'pyproject.toml', + updatedDeps, + newPackageFileContent: '{}', + config, + }) ).toMatchSnapshot(); }); });