From ac59df7c7e4909f3f88b4e70a29af58428517420 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Sat, 4 Jul 2020 13:52:33 +0200 Subject: [PATCH] refactor: remove getRepoStatus from platform (#6672) --- lib/manager/bundler/artifacts.spec.ts | 21 ++++++++------- lib/manager/bundler/artifacts.ts | 4 +-- lib/manager/cocoapods/artifacts.spec.ts | 15 +++++------ lib/manager/cocoapods/artifacts.ts | 4 +-- lib/manager/composer/artifacts.spec.ts | 13 ++++----- lib/manager/composer/artifacts.ts | 4 +-- lib/manager/gomod/artifacts.spec.ts | 15 ++++++----- lib/manager/gomod/artifacts.ts | 6 ++--- .../gradle-wrapper/artifacts-real.spec.ts | 14 +++++----- lib/manager/gradle-wrapper/artifacts.spec.ts | 9 ++++--- lib/manager/gradle-wrapper/artifacts.ts | 4 +-- lib/manager/npm/post-update/index.ts | 3 ++- lib/manager/pipenv/artifacts.spec.ts | 9 ++++--- lib/manager/pipenv/artifacts.ts | 4 +-- lib/platform/__snapshots__/index.spec.ts.snap | 4 --- lib/platform/azure/index.spec.ts | 7 ----- lib/platform/azure/index.ts | 6 ----- lib/platform/bitbucket-server/index.ts | 6 ----- .../__snapshots__/index.spec.ts.snap | 18 ------------- lib/platform/bitbucket/index.spec.ts | 8 ------ lib/platform/bitbucket/index.ts | 5 ---- lib/platform/common.ts | 2 -- lib/platform/gitea/index.spec.ts | 9 ------- lib/platform/gitea/index.ts | 5 ---- lib/platform/github/index.ts | 5 ---- .../gitlab/__snapshots__/index.spec.ts.snap | 27 ------------------- lib/platform/gitlab/index.spec.ts | 8 ------ lib/platform/gitlab/index.ts | 5 ---- lib/workers/branch/index.spec.ts | 5 ++-- lib/workers/branch/index.ts | 3 ++- 30 files changed, 71 insertions(+), 177 deletions(-) diff --git a/lib/manager/bundler/artifacts.spec.ts b/lib/manager/bundler/artifacts.spec.ts index 7e1260f4499f28..e0cb5a3f1f65be 100644 --- a/lib/manager/bundler/artifacts.spec.ts +++ b/lib/manager/bundler/artifacts.spec.ts @@ -2,7 +2,7 @@ import { exec as _exec } from 'child_process'; import Git from 'simple-git/promise'; import { join } from 'upath'; import { envMock, mockExecAll } from '../../../test/execUtil'; -import { fs, mocked, platform } from '../../../test/util'; +import { fs, git, mocked } from '../../../test/util'; import * as _datasource from '../../datasource'; import { setUtilConfig } from '../../util'; import { BinarySource } from '../../util/exec/common'; @@ -21,6 +21,7 @@ jest.mock('child_process'); jest.mock('../../../lib/util/exec/env'); jest.mock('../../../lib/datasource'); jest.mock('../../../lib/util/fs'); +jest.mock('../../../lib/util/git'); jest.mock('../../../lib/util/host-rules'); jest.mock('./host-rules'); @@ -60,7 +61,7 @@ describe('bundler.updateArtifacts()', () => { fs.readLocalFile.mockResolvedValueOnce('Current Gemfile.lock'); fs.writeLocalFile.mockResolvedValueOnce(null as never); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: [], } as Git.StatusResult); fs.readLocalFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); @@ -79,7 +80,7 @@ describe('bundler.updateArtifacts()', () => { fs.writeLocalFile.mockResolvedValueOnce(null as never); fs.readLocalFile.mockResolvedValueOnce(null); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Gemfile.lock'], } as Git.StatusResult); fs.readLocalFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); @@ -98,7 +99,7 @@ describe('bundler.updateArtifacts()', () => { fs.writeLocalFile.mockResolvedValueOnce(null as never); fs.readLocalFile.mockResolvedValueOnce(null); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Gemfile.lock'], } as Git.StatusResult); fs.readLocalFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); @@ -132,7 +133,7 @@ describe('bundler.updateArtifacts()', () => { ], }); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Gemfile.lock'], } as Git.StatusResult); fs.readLocalFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); @@ -160,7 +161,7 @@ describe('bundler.updateArtifacts()', () => { ], }); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Gemfile.lock'], } as Git.StatusResult); fs.readLocalFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); @@ -193,7 +194,7 @@ describe('bundler.updateArtifacts()', () => { ], }); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Gemfile.lock'], } as Git.StatusResult); fs.readLocalFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); @@ -240,7 +241,7 @@ describe('bundler.updateArtifacts()', () => { 'some-user:some-password' ); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Gemfile.lock'], } as Git.StatusResult); fs.readLocalFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); @@ -265,7 +266,7 @@ describe('bundler.updateArtifacts()', () => { fs.readLocalFile.mockResolvedValueOnce('Current Gemfile.lock'); fs.writeLocalFile.mockResolvedValueOnce(null as never); const execSnapshots = mockExecAll(exec, execError); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Gemfile.lock'], } as Git.StatusResult); expect( @@ -285,7 +286,7 @@ describe('bundler.updateArtifacts()', () => { fs.readLocalFile.mockResolvedValueOnce('Current Gemfile.lock'); fs.writeLocalFile.mockResolvedValueOnce(null as never); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Gemfile.lock'], } as Git.StatusResult); fs.readLocalFile.mockResolvedValueOnce('Updated Gemfile.lock' as any); diff --git a/lib/manager/bundler/artifacts.ts b/lib/manager/bundler/artifacts.ts index 661c7f119514b0..9d8389ed94bd3f 100644 --- a/lib/manager/bundler/artifacts.ts +++ b/lib/manager/bundler/artifacts.ts @@ -1,7 +1,6 @@ import { quote } from 'shlex'; import { BUNDLER_INVALID_CREDENTIALS } from '../../constants/error-messages'; import { logger } from '../../logger'; -import { platform } from '../../platform'; import { HostRule } from '../../types'; import * as memCache from '../../util/cache/memory'; import { ExecOptions, exec } from '../../util/exec'; @@ -11,6 +10,7 @@ import { readLocalFile, writeLocalFile, } from '../../util/fs'; +import { getRepoStatus } from '../../util/git'; import { isValid } from '../../versioning/ruby'; import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { @@ -139,7 +139,7 @@ export async function updateArtifacts( }, }; await exec(cmd, execOptions); - const status = await platform.getRepoStatus(); + const status = await getRepoStatus(); if (!status.modified.includes(lockFileName)) { return null; } diff --git a/lib/manager/cocoapods/artifacts.spec.ts b/lib/manager/cocoapods/artifacts.spec.ts index 0b47245645d292..d6284b75ed0f65 100644 --- a/lib/manager/cocoapods/artifacts.spec.ts +++ b/lib/manager/cocoapods/artifacts.spec.ts @@ -3,9 +3,8 @@ import _fs from 'fs-extra'; import Git from 'simple-git/promise'; import { join } from 'upath'; import { envMock, mockExecAll } from '../../../test/execUtil'; -import { mocked } from '../../../test/util'; +import { git, mocked } from '../../../test/util'; import * as _datasource from '../../datasource'; -import { platform as _platform } from '../../platform'; import { setExecConfig } from '../../util/exec'; import { BinarySource } from '../../util/exec/common'; import * as _env from '../../util/exec/env'; @@ -14,13 +13,13 @@ import { updateArtifacts } from '.'; jest.mock('fs-extra'); jest.mock('child_process'); jest.mock('../../util/exec/env'); +jest.mock('../../util/git'); jest.mock('../../platform'); jest.mock('../../datasource'); const fs: jest.Mocked = _fs as any; const exec: jest.Mock = _exec as any; const env = mocked(_env); -const platform = mocked(_platform); const datasource = mocked(_datasource); delete process.env.CP_HOME_DIR; @@ -101,7 +100,7 @@ describe('.updateArtifacts()', () => { it('returns null if unchanged', async () => { const execSnapshots = mockExecAll(exec); fs.readFile.mockResolvedValueOnce('Current Podfile' as any); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: [], } as Git.StatusResult); fs.readFile.mockResolvedValueOnce('Current Podfile' as any); @@ -119,7 +118,7 @@ describe('.updateArtifacts()', () => { const execSnapshots = mockExecAll(exec); await setExecConfig({ ...config, binarySource: BinarySource.Docker }); fs.readFile.mockResolvedValueOnce('Old Podfile' as any); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Podfile.lock'], } as Git.StatusResult); fs.readFile.mockResolvedValueOnce('New Podfile' as any); @@ -139,7 +138,7 @@ describe('.updateArtifacts()', () => { fs.readFile.mockResolvedValueOnce('Old Manifest.lock' as any); fs.readFile.mockResolvedValueOnce('New Podfile' as any); fs.readFile.mockResolvedValueOnce('Pods manifest' as any); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ not_added: ['Pods/New'], modified: ['Podfile.lock', 'Pods/Manifest.lock'], deleted: ['Pods/Deleted'], @@ -198,7 +197,7 @@ describe('.updateArtifacts()', () => { fs.readFile.mockResolvedValueOnce('New Podfile' as any); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Podfile.lock'], } as Git.StatusResult); @@ -226,7 +225,7 @@ describe('.updateArtifacts()', () => { fs.readFile.mockResolvedValueOnce('New Podfile' as any); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['Podfile.lock'], } as Git.StatusResult); diff --git a/lib/manager/cocoapods/artifacts.ts b/lib/manager/cocoapods/artifacts.ts index 2436c02f383e97..4490a2cab3a34c 100644 --- a/lib/manager/cocoapods/artifacts.ts +++ b/lib/manager/cocoapods/artifacts.ts @@ -1,13 +1,13 @@ import { quote } from 'shlex'; import { dirname, join } from 'upath'; import { logger } from '../../logger'; -import { platform } from '../../platform'; import { ExecOptions, exec } from '../../util/exec'; import { getSiblingFileName, readLocalFile, writeLocalFile, } from '../../util/fs'; +import { getRepoStatus } from '../../util/git'; import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { getCocoaPodsHome } from './utils'; @@ -93,7 +93,7 @@ export async function updateArtifacts({ ]; } - const status = await platform.getRepoStatus(); + const status = await getRepoStatus(); if (!status.modified.includes(lockFileName)) { return null; } diff --git a/lib/manager/composer/artifacts.spec.ts b/lib/manager/composer/artifacts.spec.ts index 799fa1e9940619..150ac4955ab0ff 100644 --- a/lib/manager/composer/artifacts.spec.ts +++ b/lib/manager/composer/artifacts.spec.ts @@ -1,7 +1,7 @@ import { exec as _exec } from 'child_process'; import { join } from 'upath'; import { envMock, mockExecAll } from '../../../test/execUtil'; -import { fs, mocked, platform } from '../../../test/util'; +import { fs, git, mocked } from '../../../test/util'; import { setUtilConfig } from '../../util'; import { BinarySource } from '../../util/exec/common'; import * as docker from '../../util/exec/docker'; @@ -12,6 +12,7 @@ import * as composer from './artifacts'; jest.mock('child_process'); jest.mock('../../util/exec/env'); jest.mock('../../util/fs'); +jest.mock('../../util/git'); jest.mock('../../util/host-rules'); const hostRules = require('../../util/host-rules'); @@ -49,7 +50,7 @@ describe('.updateArtifacts()', () => { fs.readLocalFile.mockResolvedValueOnce('Current composer.lock' as any); const execSnapshots = mockExecAll(exec); fs.readLocalFile.mockReturnValueOnce('Current composer.lock' as any); - platform.getRepoStatus.mockResolvedValue({ modified: [] } as StatusResult); + git.getRepoStatus.mockResolvedValue({ modified: [] } as StatusResult); expect( await composer.updateArtifacts({ packageFileName: 'composer.json', @@ -72,7 +73,7 @@ describe('.updateArtifacts()', () => { username: 'some-username', password: 'some-password', }); - platform.getRepoStatus.mockResolvedValue({ modified: [] } as StatusResult); + git.getRepoStatus.mockResolvedValue({ modified: [] } as StatusResult); expect( await composer.updateArtifacts({ packageFileName: 'composer.json', @@ -87,7 +88,7 @@ describe('.updateArtifacts()', () => { fs.readLocalFile.mockResolvedValueOnce('Current composer.lock' as any); const execSnapshots = mockExecAll(exec); fs.readLocalFile.mockReturnValueOnce('New composer.lock' as any); - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: ['composer.lock'], } as StatusResult); expect( @@ -104,7 +105,7 @@ describe('.updateArtifacts()', () => { fs.readLocalFile.mockResolvedValueOnce('Current composer.lock' as any); const execSnapshots = mockExecAll(exec); fs.readLocalFile.mockReturnValueOnce('New composer.lock' as any); - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: ['composer.lock'], } as StatusResult); expect( @@ -205,7 +206,7 @@ describe('.updateArtifacts()', () => { fs.readLocalFile.mockResolvedValueOnce('Current composer.lock' as any); const execSnapshots = mockExecAll(exec); fs.readLocalFile.mockReturnValueOnce('New composer.lock' as any); - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: ['composer.lock'], } as StatusResult); expect( diff --git a/lib/manager/composer/artifacts.ts b/lib/manager/composer/artifacts.ts index 1b1ad2286f9636..e3b11930ee48e9 100644 --- a/lib/manager/composer/artifacts.ts +++ b/lib/manager/composer/artifacts.ts @@ -9,7 +9,6 @@ import { } from '../../constants/platforms'; import * as datasourcePackagist from '../../datasource/packagist'; import { logger } from '../../logger'; -import { platform } from '../../platform'; import { ExecOptions, exec } from '../../util/exec'; import { deleteLocalFile, @@ -19,6 +18,7 @@ import { readLocalFile, writeLocalFile, } from '../../util/fs'; +import { getRepoStatus } from '../../util/git'; import * as hostRules from '../../util/host-rules'; import { UpdateArtifact, UpdateArtifactsResult } from '../common'; @@ -131,7 +131,7 @@ export async function updateArtifacts({ } logger.debug({ cmd, args }, 'composer command'); await exec(`${cmd} ${args}`, execOptions); - const status = await platform.getRepoStatus(); + const status = await getRepoStatus(); if (!status.modified.includes(lockFileName)) { return null; } diff --git a/lib/manager/gomod/artifacts.spec.ts b/lib/manager/gomod/artifacts.spec.ts index 2e28dade2e793d..255a15ccc8d87d 100644 --- a/lib/manager/gomod/artifacts.spec.ts +++ b/lib/manager/gomod/artifacts.spec.ts @@ -2,7 +2,7 @@ import { exec as _exec } from 'child_process'; import _fs from 'fs-extra'; import { join } from 'upath'; import { envMock, mockExecAll } from '../../../test/execUtil'; -import { mocked, platform } from '../../../test/util'; +import { git, mocked } from '../../../test/util'; import { setUtilConfig } from '../../util'; import { BinarySource } from '../../util/exec/common'; import * as docker from '../../util/exec/docker'; @@ -14,6 +14,7 @@ import * as gomod from './artifacts'; jest.mock('fs-extra'); jest.mock('child_process'); jest.mock('../../util/exec/env'); +jest.mock('../../util/git'); jest.mock('../../util/host-rules'); jest.mock('../../util/http'); @@ -73,7 +74,7 @@ describe('.updateArtifacts()', () => { it('returns null if unchanged', async () => { fs.readFile.mockResolvedValueOnce('Current go.sum' as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: [], } as StatusResult); expect( @@ -89,7 +90,7 @@ describe('.updateArtifacts()', () => { it('returns updated go.sum', async () => { fs.readFile.mockResolvedValueOnce('Current go.sum' as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['go.sum'], } as StatusResult); fs.readFile.mockReturnValueOnce('New go.sum' as any); @@ -108,7 +109,7 @@ describe('.updateArtifacts()', () => { await setUtilConfig({ ...config, binarySource: BinarySource.Docker }); fs.readFile.mockResolvedValueOnce('Current go.sum' as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['go.sum'], } as StatusResult); fs.readFile.mockReturnValueOnce('New go.sum' as any); @@ -128,7 +129,7 @@ describe('.updateArtifacts()', () => { it('supports global mode', async () => { fs.readFile.mockResolvedValueOnce('Current go.sum' as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['go.sum'], } as StatusResult); fs.readFile.mockReturnValueOnce('New go.sum' as any); @@ -153,7 +154,7 @@ describe('.updateArtifacts()', () => { }); fs.readFile.mockResolvedValueOnce('Current go.sum' as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['go.sum'], } as StatusResult); fs.readFile.mockReturnValueOnce('New go.sum' as any); @@ -178,7 +179,7 @@ describe('.updateArtifacts()', () => { }); fs.readFile.mockResolvedValueOnce('Current go.sum' as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['go.sum'], } as StatusResult); fs.readFile.mockResolvedValueOnce('New go.sum 1' as any); diff --git a/lib/manager/gomod/artifacts.ts b/lib/manager/gomod/artifacts.ts index 48f219aba92abf..899627b176f07f 100644 --- a/lib/manager/gomod/artifacts.ts +++ b/lib/manager/gomod/artifacts.ts @@ -3,10 +3,10 @@ import { quote } from 'shlex'; import { dirname, join } from 'upath'; import { PLATFORM_TYPE_GITHUB } from '../../constants/platforms'; import { logger } from '../../logger'; -import { platform } from '../../platform'; import { ExecOptions, exec } from '../../util/exec'; import { BinarySource } from '../../util/exec/common'; import { readLocalFile, writeLocalFile } from '../../util/fs'; +import { getRepoStatus } from '../../util/git'; import { find } from '../../util/host-rules'; import { UpdateArtifact, UpdateArtifactsResult } from '../common'; @@ -84,7 +84,7 @@ export async function updateArtifacts({ await exec(`${cmd} ${args}`, execOptions); } const res = []; - let status = await platform.getRepoStatus(); + let status = await getRepoStatus(); if (!status.modified.includes(sumFileName)) { return null; } @@ -113,7 +113,7 @@ export async function updateArtifacts({ logger.debug({ cmd, args }, 'go mod tidy command'); await exec(`${cmd} ${args}`, execOptions); } - status = await platform.getRepoStatus(); + status = await getRepoStatus(); for (const f of status.modified.concat(status.not_added)) { if (f.startsWith(vendorDir)) { res.push({ diff --git a/lib/manager/gradle-wrapper/artifacts-real.spec.ts b/lib/manager/gradle-wrapper/artifacts-real.spec.ts index 21791dbc8af094..43924275d5618e 100644 --- a/lib/manager/gradle-wrapper/artifacts-real.spec.ts +++ b/lib/manager/gradle-wrapper/artifacts-real.spec.ts @@ -2,11 +2,13 @@ import { resolve } from 'path'; import { readFile, readFileSync } from 'fs-extra'; import Git from 'simple-git/promise'; import * as httpMock from '../../../test/httpMock'; -import { getName, partial, platform } from '../../../test/util'; +import { getName, git, partial } from '../../../test/util'; import { setUtilConfig } from '../../util'; import { ifSystemSupportsGradle } from '../gradle/__testutil__/gradle'; import * as dcUpdate from '.'; +jest.mock('../../util/git'); + const fixtures = resolve(__dirname, './__fixtures__'); const config = { localDir: resolve(fixtures, './testFiles'), @@ -43,7 +45,7 @@ describe(getName(__filename), () => { }); it('replaces existing value', async () => { - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: [ 'gradle/wrapper/gradle-wrapper.properties', 'gradle/wrapper/gradle-wrapper.jar', @@ -88,7 +90,7 @@ describe(getName(__filename), () => { }); it('updates from version', async () => { - platform.getRepoStatus.mockResolvedValueOnce( + git.getRepoStatus.mockResolvedValueOnce( partial({ modified: ['gradle/wrapper/gradle-wrapper.properties'], }) @@ -108,7 +110,7 @@ describe(getName(__filename), () => { }); it('up to date', async () => { - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: [], } as Git.StatusResult); @@ -132,7 +134,7 @@ describe(getName(__filename), () => { }); it('getRepoStatus fails', async () => { - platform.getRepoStatus.mockImplementation(() => { + git.getRepoStatus.mockImplementation(() => { throw new Error('failed'); }); @@ -203,7 +205,7 @@ describe(getName(__filename), () => { '038794feef1f4745c6347107b6726279d1c824f3fc634b60f86ace1e9fbd1768' ); - platform.getRepoStatus.mockResolvedValueOnce( + git.getRepoStatus.mockResolvedValueOnce( partial({ modified: ['gradle/wrapper/gradle-wrapper.properties'], }) diff --git a/lib/manager/gradle-wrapper/artifacts.spec.ts b/lib/manager/gradle-wrapper/artifacts.spec.ts index d343734a36e4ce..ef72548d969791 100644 --- a/lib/manager/gradle-wrapper/artifacts.spec.ts +++ b/lib/manager/gradle-wrapper/artifacts.spec.ts @@ -10,8 +10,8 @@ import { env, fs, getName, + git, partial, - platform, } from '../../../test/util'; import { setUtilConfig } from '../../util'; import { BinarySource } from '../../util/exec/common'; @@ -20,6 +20,7 @@ import * as dcUpdate from '.'; jest.mock('child_process'); jest.mock('../../util/fs'); +jest.mock('../../util/git'); jest.mock('../../util/exec/env'); const exec: jest.Mock = _exec as any; @@ -59,7 +60,7 @@ describe(getName(__filename), () => { }); it('replaces existing value', async () => { - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: [ 'gradle/wrapper/gradle-wrapper.properties', 'gradlew', @@ -110,7 +111,7 @@ describe(getName(__filename), () => { it('gradlew failed', async () => { const execSnapshots = mockExecAll(exec, new Error('failed')); - platform.getRepoStatus.mockResolvedValueOnce( + git.getRepoStatus.mockResolvedValueOnce( partial({ modified: [], }) @@ -135,7 +136,7 @@ describe(getName(__filename), () => { '038794feef1f4745c6347107b6726279d1c824f3fc634b60f86ace1e9fbd1768' ); - platform.getRepoStatus.mockResolvedValueOnce( + git.getRepoStatus.mockResolvedValueOnce( partial({ modified: ['gradle/wrapper/gradle-wrapper.properties'], }) diff --git a/lib/manager/gradle-wrapper/artifacts.ts b/lib/manager/gradle-wrapper/artifacts.ts index 3b26dc7670f59a..6cd9bbf4189c83 100644 --- a/lib/manager/gradle-wrapper/artifacts.ts +++ b/lib/manager/gradle-wrapper/artifacts.ts @@ -2,9 +2,9 @@ import { resolve } from 'path'; import { stat } from 'fs-extra'; import Git from 'simple-git/promise'; import { logger } from '../../logger'; -import { platform } from '../../platform'; import { ExecOptions, exec } from '../../util/exec'; import { readLocalFile, writeLocalFile } from '../../util/fs'; +import { getRepoStatus } from '../../util/git'; import { Http } from '../../util/http'; import { UpdateArtifact, UpdateArtifactsResult } from '../common'; import { gradleWrapperFileName, prepareGradleCommand } from '../gradle/index'; @@ -94,7 +94,7 @@ export async function updateArtifacts({ 'Error executing gradle wrapper update command. It can be not a critical one though.' ); } - const status = await platform.getRepoStatus(); + const status = await getRepoStatus(); const artifactFileNames = [ 'gradle/wrapper/gradle-wrapper.properties', 'gradle/wrapper/gradle-wrapper.jar', diff --git a/lib/manager/npm/post-update/index.ts b/lib/manager/npm/post-update/index.ts index a0494329ef7b0c..e045777b4fa4b9 100644 --- a/lib/manager/npm/post-update/index.ts +++ b/lib/manager/npm/post-update/index.ts @@ -16,6 +16,7 @@ import { platform } from '../../../platform'; import { ExternalHostError } from '../../../types/errors/external-host-error'; import { getChildProcessEnv } from '../../../util/exec/env'; import { deleteLocalFile } from '../../../util/fs'; +import { getRepoStatus } from '../../../util/git'; import * as hostRules from '../../../util/host-rules'; import { PackageFile, PostUpdateConfig, Upgrade } from '../../common'; import * as lerna from './lerna'; @@ -541,7 +542,7 @@ export async function getAdditionalFiles( .replace(/\/?$/, '/'); const resolvedPath = upath.join(lockFileDir, mirrorPath); logger.debug('Found yarn offline mirror: ' + resolvedPath); - const status = await platform.getRepoStatus(); + const status = await getRepoStatus(); for (const f of status.modified.concat(status.not_added)) { if (f.startsWith(resolvedPath)) { const localModified = upath.join(config.localDir, f); diff --git a/lib/manager/pipenv/artifacts.spec.ts b/lib/manager/pipenv/artifacts.spec.ts index e806ae87cebacc..40dd136d33856e 100644 --- a/lib/manager/pipenv/artifacts.spec.ts +++ b/lib/manager/pipenv/artifacts.spec.ts @@ -2,7 +2,7 @@ import { exec as _exec } from 'child_process'; import _fs from 'fs-extra'; import { join } from 'upath'; import { envMock, mockExecAll } from '../../../test/execUtil'; -import { mocked, platform } from '../../../test/util'; +import { git, mocked } from '../../../test/util'; import { setUtilConfig } from '../../util'; import { BinarySource } from '../../util/exec/common'; import * as docker from '../../util/exec/docker'; @@ -13,6 +13,7 @@ import * as pipenv from './artifacts'; jest.mock('fs-extra'); jest.mock('child_process'); jest.mock('../../util/exec/env'); +jest.mock('../../util/git'); jest.mock('../../util/host-rules'); jest.mock('../../util/http'); @@ -87,7 +88,7 @@ describe('.updateArtifacts()', () => { it('returns updated Pipfile.lock', async () => { fs.readFile.mockResolvedValueOnce('current pipfile.lock' as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: ['Pipfile.lock'], } as StatusResult); fs.readFile.mockReturnValueOnce('New Pipfile.lock' as any); @@ -107,7 +108,7 @@ describe('.updateArtifacts()', () => { pipFileLock._meta.requires.python_version = '3.7'; fs.readFile.mockResolvedValueOnce(JSON.stringify(pipFileLock) as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: ['Pipfile.lock'], } as StatusResult); fs.readFile.mockReturnValueOnce('new lock' as any); @@ -138,7 +139,7 @@ describe('.updateArtifacts()', () => { it('returns updated Pipenv.lock when doing lockfile maintenance', async () => { fs.readFile.mockResolvedValueOnce('Current Pipfile.lock' as any); const execSnapshots = mockExecAll(exec); - platform.getRepoStatus.mockResolvedValue({ + git.getRepoStatus.mockResolvedValue({ modified: ['Pipfile.lock'], } as StatusResult); fs.readFile.mockReturnValueOnce('New Pipfile.lock' as any); diff --git a/lib/manager/pipenv/artifacts.ts b/lib/manager/pipenv/artifacts.ts index 8b775874344cad..89e098f0f311e2 100644 --- a/lib/manager/pipenv/artifacts.ts +++ b/lib/manager/pipenv/artifacts.ts @@ -1,9 +1,9 @@ import { ensureDir } from 'fs-extra'; import { join } from 'upath'; import { logger } from '../../logger'; -import { platform } from '../../platform'; import { ExecOptions, exec } from '../../util/exec'; import { deleteLocalFile, readLocalFile, writeLocalFile } from '../../util/fs'; +import { getRepoStatus } from '../../util/git'; import { UpdateArtifact, UpdateArtifactsConfig, @@ -74,7 +74,7 @@ export async function updateArtifacts({ }; logger.debug({ cmd }, 'pipenv lock command'); await exec(cmd, execOptions); - const status = await platform.getRepoStatus(); + const status = await getRepoStatus(); if (!(status && status.modified.includes(lockFileName))) { return null; } diff --git a/lib/platform/__snapshots__/index.spec.ts.snap b/lib/platform/__snapshots__/index.spec.ts.snap index 4c5460a19eb90f..c14467a75f03cf 100644 --- a/lib/platform/__snapshots__/index.spec.ts.snap +++ b/lib/platform/__snapshots__/index.spec.ts.snap @@ -31,7 +31,6 @@ Array [ "getPrFiles", "getPrList", "getRepoForceRebase", - "getRepoStatus", "getRepos", "getVulnerabilityAlerts", "initPlatform", @@ -75,7 +74,6 @@ Array [ "getPrFiles", "getPrList", "getRepoForceRebase", - "getRepoStatus", "getRepos", "getVulnerabilityAlerts", "initPlatform", @@ -119,7 +117,6 @@ Array [ "getPrFiles", "getPrList", "getRepoForceRebase", - "getRepoStatus", "getRepos", "getVulnerabilityAlerts", "initPlatform", @@ -163,7 +160,6 @@ Array [ "getPrFiles", "getPrList", "getRepoForceRebase", - "getRepoStatus", "getRepos", "getVulnerabilityAlerts", "initPlatform", diff --git a/lib/platform/azure/index.spec.ts b/lib/platform/azure/index.spec.ts index 8646b4be1ee515..5412f3585fddb0 100644 --- a/lib/platform/azure/index.spec.ts +++ b/lib/platform/azure/index.spec.ts @@ -159,13 +159,6 @@ describe('platform/azure', () => { } as any); } - describe('getRepoStatus()', () => { - it('exists', async () => { - await initRepo(); - expect(await azure.getRepoStatus()).toBeUndefined(); - }); - }); - describe('initRepo', () => { it(`should initialise the config for a repo`, async () => { const config = await initRepo({ diff --git a/lib/platform/azure/index.ts b/lib/platform/azure/index.ts index 855fad559d6afe..14b50d0acd2629 100644 --- a/lib/platform/azure/index.ts +++ b/lib/platform/azure/index.ts @@ -374,12 +374,6 @@ export /* istanbul ignore next */ function getBranchLastCommitTime( return git.getBranchLastCommitTime(branchName); } -export /* istanbul ignore next */ function getRepoStatus(): Promise< - git.StatusResult -> { - return git.getRepoStatus(); -} - export /* istanbul ignore next */ function mergeBranch( branchName: string ): Promise { diff --git a/lib/platform/bitbucket-server/index.ts b/lib/platform/bitbucket-server/index.ts index 6b389ec2841c23..100f159e3e1d4a 100644 --- a/lib/platform/bitbucket-server/index.ts +++ b/lib/platform/bitbucket-server/index.ts @@ -483,12 +483,6 @@ export function getBranchLastCommitTime(branchName: string): Promise { return git.getBranchLastCommitTime(branchName); } -export /* istanbul ignore next */ function getRepoStatus(): Promise< - git.StatusResult -> { - return git.getRepoStatus(); -} - async function getStatus( branchName: string, useCache = true diff --git a/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap b/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap index 3dd3d8aed5f321..486fdd173b8835 100644 --- a/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap +++ b/lib/platform/bitbucket/__snapshots__/index.spec.ts.snap @@ -1253,24 +1253,6 @@ Array [ exports[`platform/bitbucket getPrBody() returns diff files 1`] = `"**foo**bartext"`; -exports[`platform/bitbucket getRepoStatus() sends to gitFs 1`] = `undefined`; - -exports[`platform/bitbucket getRepoStatus() sends to gitFs 2`] = ` -Array [ - Object { - "headers": Object { - "accept": "application/json", - "accept-encoding": "gzip, deflate", - "authorization": "Basic YWJjOjEyMw==", - "host": "api.bitbucket.org", - "user-agent": "https://github.com/renovatebot/renovate", - }, - "method": "GET", - "url": "https://api.bitbucket.org/2.0/repositories/some/repo", - }, -] -`; - exports[`platform/bitbucket getRepos() returns repos 1`] = ` Array [ Object { diff --git a/lib/platform/bitbucket/index.spec.ts b/lib/platform/bitbucket/index.spec.ts index fc81fd40022965..63059d005d57aa 100644 --- a/lib/platform/bitbucket/index.spec.ts +++ b/lib/platform/bitbucket/index.spec.ts @@ -447,14 +447,6 @@ describe('platform/bitbucket', () => { }); }); - describe('getRepoStatus()', () => { - it('sends to gitFs', async () => { - await initRepoMock(); - expect(await bitbucket.getRepoStatus()).toMatchSnapshot(); - expect(httpMock.getTrace()).toMatchSnapshot(); - }); - }); - describe('deleteBranch()', () => { it('sends to gitFs', async () => { await initRepoMock(); diff --git a/lib/platform/bitbucket/index.ts b/lib/platform/bitbucket/index.ts index fd695abe395a24..4e12052e5c5863 100644 --- a/lib/platform/bitbucket/index.ts +++ b/lib/platform/bitbucket/index.ts @@ -289,11 +289,6 @@ export function getBranchLastCommitTime(branchName: string): Promise { return git.getBranchLastCommitTime(branchName); } -// istanbul ignore next -export function getRepoStatus(): Promise { - return git.getRepoStatus(); -} - export function mergeBranch(branchName: string): Promise { return git.mergeBranch(branchName); } diff --git a/lib/platform/common.ts b/lib/platform/common.ts index e05e3f7f93768c..5c13b201834e99 100644 --- a/lib/platform/common.ts +++ b/lib/platform/common.ts @@ -1,5 +1,4 @@ import got from 'got'; -import Git from 'simple-git/promise'; import { RenovateConfig } from '../config/common'; import { BranchStatus, @@ -232,7 +231,6 @@ export interface Platform { requiredStatusChecks?: string[] | null ): Promise; getBranchPr(branchName: string): Promise; - getRepoStatus(): Promise; getFile(lockFileName: string, branchName?: string): Promise; initPlatform(config: RenovateConfig): Promise; } diff --git a/lib/platform/gitea/index.spec.ts b/lib/platform/gitea/index.spec.ts index 101938707abf5d..91768cd9ad2f8f 100644 --- a/lib/platform/gitea/index.spec.ts +++ b/lib/platform/gitea/index.spec.ts @@ -1424,15 +1424,6 @@ describe('platform/gitea', () => { }); }); - describe('getRepoStatus', () => { - it('should propagate call to storage class', async () => { - await initFakeRepo(); - await gitea.getRepoStatus(); - - expect(gitvcs.getRepoStatus).toHaveBeenCalledTimes(1); - }); - }); - describe('getFileList', () => { it('propagates call to storage class', async () => { await initFakeRepo(); diff --git a/lib/platform/gitea/index.ts b/lib/platform/gitea/index.ts index 6a7c9146b67be5..8aebee95c0455a 100644 --- a/lib/platform/gitea/index.ts +++ b/lib/platform/gitea/index.ts @@ -882,10 +882,6 @@ const platform: Platform = { return git.getFile(lockFileName, branchName); }, - getRepoStatus(): Promise { - return git.getRepoStatus(); - }, - getFileList(): Promise { return git.getFileList(); }, @@ -931,7 +927,6 @@ export const { getPrList, getPrFiles, getRepoForceRebase, - getRepoStatus, getRepos, getVulnerabilityAlerts, initPlatform, diff --git a/lib/platform/github/index.ts b/lib/platform/github/index.ts index 04bdd79ad3d2df..2302bf6f3dde16 100644 --- a/lib/platform/github/index.ts +++ b/lib/platform/github/index.ts @@ -540,11 +540,6 @@ export function getBranchLastCommitTime(branchName: string): Promise { return git.getBranchLastCommitTime(branchName); } -// istanbul ignore next -export function getRepoStatus(): Promise { - return git.getRepoStatus(); -} - // istanbul ignore next export function mergeBranch(branchName: string): Promise { if (config.pushProtection) { diff --git a/lib/platform/gitlab/__snapshots__/index.spec.ts.snap b/lib/platform/gitlab/__snapshots__/index.spec.ts.snap index cc5febdaceae55..6fe7bf60c6e5a3 100644 --- a/lib/platform/gitlab/__snapshots__/index.spec.ts.snap +++ b/lib/platform/gitlab/__snapshots__/index.spec.ts.snap @@ -1766,33 +1766,6 @@ Array [ ] `; -exports[`platform/gitlab getRepoStatus() exists 1`] = ` -Array [ - Object { - "headers": Object { - "accept": "application/json", - "accept-encoding": "gzip, deflate", - "host": "gitlab.com", - "private-token": "abc123", - "user-agent": "https://github.com/renovatebot/renovate", - }, - "method": "GET", - "url": "https://gitlab.com/api/v4/projects/some%2Frepo", - }, - Object { - "headers": Object { - "accept": "application/json", - "accept-encoding": "gzip, deflate", - "host": "gitlab.com", - "private-token": "abc123", - "user-agent": "https://github.com/renovatebot/renovate", - }, - "method": "GET", - "url": "https://gitlab.com/api/v4/user", - }, -] -`; - exports[`platform/gitlab getRepos should return an array of repos 1`] = ` Array [ "a/b", diff --git a/lib/platform/gitlab/index.spec.ts b/lib/platform/gitlab/index.spec.ts index b109d5f89525e2..438e1873ff3cb2 100644 --- a/lib/platform/gitlab/index.spec.ts +++ b/lib/platform/gitlab/index.spec.ts @@ -154,14 +154,6 @@ describe('platform/gitlab', () => { return scope; } - describe('getRepoStatus()', () => { - it('exists', async () => { - await initRepo(); - await gitlab.getRepoStatus(); - expect(httpMock.getTrace()).toMatchSnapshot(); - }); - }); - describe('initRepo', () => { it(`should throw error if disabled in renovate.json`, async () => { httpMock diff --git a/lib/platform/gitlab/index.ts b/lib/platform/gitlab/index.ts index 93437ee303678d..739b43b945affe 100644 --- a/lib/platform/gitlab/index.ts +++ b/lib/platform/gitlab/index.ts @@ -661,11 +661,6 @@ export function getBranchLastCommitTime(branchName: string): Promise { return git.getBranchLastCommitTime(branchName); } -// istanbul ignore next -export function getRepoStatus(): Promise { - return git.getRepoStatus(); -} - export async function getBranchStatusCheck( branchName: string, context: string diff --git a/lib/workers/branch/index.spec.ts b/lib/workers/branch/index.spec.ts index f4d16a2f4c7864..8dc9ba82e272fa 100644 --- a/lib/workers/branch/index.spec.ts +++ b/lib/workers/branch/index.spec.ts @@ -1,5 +1,5 @@ import * as _fs from 'fs-extra'; -import { defaultConfig, mocked, platform } from '../../../test/util'; +import { defaultConfig, git, mocked, platform } from '../../../test/util'; import { MANAGER_LOCKFILE_ERROR, REPOSITORY_CHANGED, @@ -34,6 +34,7 @@ jest.mock('./automerge'); jest.mock('./commit'); jest.mock('../pr'); jest.mock('../../util/exec'); +jest.mock('../../util/git'); jest.mock('fs-extra'); const getUpdated = mocked(_getUpdated); @@ -638,7 +639,7 @@ describe('workers/branch', () => { body: `- [x] `, isModified: true, } as never); - platform.getRepoStatus.mockResolvedValueOnce({ + git.getRepoStatus.mockResolvedValueOnce({ modified: ['modified_file'], not_added: [], deleted: ['deleted_file'], diff --git a/lib/workers/branch/index.ts b/lib/workers/branch/index.ts index ce865f3cc70c46..e5c0cdcf43ad14 100644 --- a/lib/workers/branch/index.ts +++ b/lib/workers/branch/index.ts @@ -25,6 +25,7 @@ import { ExternalHostError } from '../../types/errors/external-host-error'; import { emojify } from '../../util/emoji'; import { exec } from '../../util/exec'; import { readLocalFile, writeLocalFile } from '../../util/fs'; +import { getRepoStatus } from '../../util/git'; import { regEx } from '../../util/regex'; import { BranchConfig, PrResult, ProcessBranchResult } from '../common'; import { checkAutoMerge, ensurePr } from '../pr'; @@ -380,7 +381,7 @@ export async function processBranch( } } - const status = await platform.getRepoStatus(); + const status = await getRepoStatus(); for (const relativePath of status.modified.concat(status.not_added)) { for (const pattern of fileFilters) {