diff --git a/lib/config/common.ts b/lib/config/common.ts index e8b0ec27c0f20c88acc13a03c5c57222c7f376ec..808756b354d3ee8509d507035442c0e533d255b9 100644 --- a/lib/config/common.ts +++ b/lib/config/common.ts @@ -52,6 +52,10 @@ export interface RenovateConfig description?: string[]; dryRun?: boolean; errors?: ValidationMessage[]; + + /** TODO: Type? */ + global?: Record<string, any>; + includeForks?: boolean; isFork?: boolean; onboarding?: boolean; diff --git a/lib/workers/repository/init/apis.js b/lib/workers/repository/init/apis.js deleted file mode 100644 index a6b26845f82f400e629dd30973ed95174e2b9319..0000000000000000000000000000000000000000 --- a/lib/workers/repository/init/apis.js +++ /dev/null @@ -1,23 +0,0 @@ -const npmApi = require('../../../datasource/npm'); -const { platform } = require('../../../platform'); - -async function getPlatformConfig(config) { - const platformConfig = await platform.initRepo(config); - return { - ...config, - ...platformConfig, - }; -} - -async function initApis(input) { - let config = { ...input }; - config = await getPlatformConfig(config); - npmApi.resetMemCache(); - npmApi.setNpmrc(config.npmrc); - delete config.gitPrivateKey; - return config; -} - -module.exports = { - initApis, -}; diff --git a/lib/workers/repository/init/apis.ts b/lib/workers/repository/init/apis.ts new file mode 100644 index 0000000000000000000000000000000000000000..53f99fa8a26b956b18db01c3938830778005f77a --- /dev/null +++ b/lib/workers/repository/init/apis.ts @@ -0,0 +1,29 @@ +import * as npmApi from '../../../datasource/npm'; +import { platform, RepoConfig } from '../../../platform'; +import { RenovateConfig } from '../../../config'; + +// TODO: fix types +export type WorkerPlatformConfig = RepoConfig & + RenovateConfig & + Record<string, any>; + +// TODO: fix types +async function getPlatformConfig(config): Promise<WorkerPlatformConfig> { + const platformConfig = await platform.initRepo(config); + return { + ...config, + ...platformConfig, + }; +} + +// TODO: fix types +export async function initApis( + input: RenovateConfig +): Promise<WorkerPlatformConfig> { + let config: WorkerPlatformConfig = { ...input } as never; + config = await getPlatformConfig(config); + npmApi.resetMemCache(); + npmApi.setNpmrc(config.npmrc); + delete config.gitPrivateKey; + return config; +} diff --git a/lib/workers/repository/init/base.js b/lib/workers/repository/init/base.ts similarity index 74% rename from lib/workers/repository/init/base.js rename to lib/workers/repository/init/base.ts index 5137a5821cbac531bbff4095708ab74f22b9017a..d9b12ff1828d10b6989fcdfa4386fdef84d4c2cd 100644 --- a/lib/workers/repository/init/base.js +++ b/lib/workers/repository/init/base.ts @@ -1,7 +1,10 @@ -const { logger } = require('../../../logger'); -const { platform } = require('../../../platform'); +import { logger } from '../../../logger'; +import { platform } from '../../../platform'; +import { RenovateConfig } from '../../../config'; -async function checkBaseBranch(config) { +export async function checkBaseBranch( + config: RenovateConfig +): Promise<RenovateConfig> { logger.debug('checkBaseBranch()'); logger.debug(`config.repoIsOnboarded=${config.repoIsOnboarded}`); let error = []; @@ -23,7 +26,3 @@ async function checkBaseBranch(config) { } return { ...config, errors: config.errors.concat(error) }; } - -module.exports = { - checkBaseBranch, -}; diff --git a/lib/workers/repository/init/config.js b/lib/workers/repository/init/config.ts similarity index 87% rename from lib/workers/repository/init/config.js rename to lib/workers/repository/init/config.ts index 558e9647e2babd9773c72aa0dac8c37141d8bea9..06f5422cb90919d4e3cad172369effc85bba63c4 100644 --- a/lib/workers/repository/init/config.js +++ b/lib/workers/repository/init/config.ts @@ -1,23 +1,25 @@ -const jsonValidator = require('json-dup-key-validator'); -const JSON5 = require('json5'); -const path = require('path'); +import jsonValidator from 'json-dup-key-validator'; +import JSON5 from 'json5'; +import path from 'path'; -const { logger } = require('../../../logger'); -const { mergeChildConfig } = require('../../../config'); -const { migrateAndValidate } = require('../../../config/migrate-validate'); -const { decryptConfig } = require('../../../config/decrypt'); -const presets = require('../../../config/presets'); -const npmApi = require('../../../datasource/npm'); -const { flattenPackageRules } = require('./flatten'); -const hostRules = require('../../../util/host-rules'); -const { configFileNames } = require('../../../config/app-strings'); -const { platform } = require('../../../platform'); +import { logger } from '../../../logger'; +import { mergeChildConfig, RenovateConfig } from '../../../config'; +import { migrateAndValidate } from '../../../config/migrate-validate'; +import { decryptConfig } from '../../../config/decrypt'; +import * as presets from '../../../config/presets'; +import * as npmApi from '../../../datasource/npm'; +import { flattenPackageRules } from './flatten'; +import * as hostRules from '../../../util/host-rules'; +import { configFileNames } from '../../../config/app-strings'; +import { platform } from '../../../platform'; // Check for repository config -async function mergeRenovateConfig(config) { +export async function mergeRenovateConfig( + config: RenovateConfig +): Promise<RenovateConfig> { let returnConfig = { ...config }; const fileList = await platform.getFileList(); - async function detectConfigFile() { + async function detectConfigFile(): Promise<string | null> { for (const fileName of configFileNames) { if (fileName === 'package.json') { try { @@ -180,7 +182,3 @@ async function mergeRenovateConfig(config) { } return returnConfig; } - -module.exports = { - mergeRenovateConfig, -}; diff --git a/lib/workers/repository/init/flatten.js b/lib/workers/repository/init/flatten.ts similarity index 67% rename from lib/workers/repository/init/flatten.js rename to lib/workers/repository/init/flatten.ts index e52af19fef2f06810e818c1791f058c59c805c15..fed4e685e41726ff588d6e1cbe285914efc39672 100644 --- a/lib/workers/repository/init/flatten.js +++ b/lib/workers/repository/init/flatten.ts @@ -1,8 +1,10 @@ -const { logger } = require('../../../logger'); -const { mergeChildConfig } = require('../../../config'); +import { logger } from '../../../logger'; +import { mergeChildConfig, PackageRule } from '../../../config'; -function flattenPackageRules(packageRules) { - const res = []; +export function flattenPackageRules( + packageRules: PackageRule[] +): PackageRule[] { + const res: PackageRule[] = []; if (!(packageRules && packageRules.length)) { return res; } @@ -20,7 +22,3 @@ function flattenPackageRules(packageRules) { } return res; } - -module.exports = { - flattenPackageRules, -}; diff --git a/lib/workers/repository/init/index.js b/lib/workers/repository/init/index.ts similarity index 52% rename from lib/workers/repository/init/index.js rename to lib/workers/repository/init/index.ts index 68eb56c234f3446320be20d952bf54911b2fa1a6..2f8d8dc970cbbd2b2f5026c28817f01bc5f73859 100644 --- a/lib/workers/repository/init/index.js +++ b/lib/workers/repository/init/index.ts @@ -1,16 +1,17 @@ -const { logger } = require('../../../logger'); -const { checkOnboardingBranch } = require('../onboarding/branch'); -const { checkIfConfigured } = require('../configured'); -const { initApis } = require('../init/apis'); -const { checkBaseBranch } = require('./base'); -const { mergeRenovateConfig } = require('./config'); -const { detectSemanticCommits } = require('./semantic'); -const { detectVulnerabilityAlerts } = require('./vulnerability'); -const { platform } = require('../../../platform'); +import { logger } from '../../../logger'; +import { checkOnboardingBranch } from '../onboarding/branch'; +import { checkIfConfigured } from '../configured'; +import { initApis } from './apis'; +import { checkBaseBranch } from './base'; +import { mergeRenovateConfig } from './config'; +import { detectSemanticCommits } from './semantic'; +import { detectVulnerabilityAlerts } from './vulnerability'; +import { platform } from '../../../platform'; +import { RenovateConfig } from '../../../config'; -async function initRepo(input) { +export async function initRepo(input: RenovateConfig): Promise<RenovateConfig> { global.repoCache = {}; - let config = { + let config: RenovateConfig = { ...input, errors: [], warnings: [], @@ -31,7 +32,3 @@ async function initRepo(input) { } return config; } - -module.exports = { - initRepo, -}; diff --git a/lib/workers/repository/init/semantic.js b/lib/workers/repository/init/semantic.ts similarity index 71% rename from lib/workers/repository/init/semantic.js rename to lib/workers/repository/init/semantic.ts index d39dc4a3505c1a8758b19a194f286cda0d7d84a2..98b3697d122da3b8a32d1ecbc028aa6c23668909 100644 --- a/lib/workers/repository/init/semantic.js +++ b/lib/workers/repository/init/semantic.ts @@ -1,8 +1,11 @@ -const conventionalCommitsDetector = require('conventional-commits-detector'); -const { logger } = require('../../../logger'); -const { platform } = require('../../../platform'); +import conventionalCommitsDetector from 'conventional-commits-detector'; +import { logger } from '../../../logger'; +import { platform } from '../../../platform'; +import { RenovateConfig } from '../../../config'; -async function detectSemanticCommits(config) { +export async function detectSemanticCommits( + config: RenovateConfig +): Promise<boolean> { logger.debug('detectSemanticCommits()'); logger.trace({ config }); if (config.semanticCommits !== null) { @@ -26,7 +29,3 @@ async function detectSemanticCommits(config) { logger.debug('No semantic commits detected'); return false; } - -module.exports = { - detectSemanticCommits, -}; diff --git a/lib/workers/repository/init/vulnerability.js b/lib/workers/repository/init/vulnerability.ts similarity index 94% rename from lib/workers/repository/init/vulnerability.js rename to lib/workers/repository/init/vulnerability.ts index ef08ed45fecfc0f6cd2ceb897291cd5eebf2d450..6ccb90a5860cad558458a6f3180e59363523a5f6 100644 --- a/lib/workers/repository/init/vulnerability.js +++ b/lib/workers/repository/init/vulnerability.ts @@ -1,12 +1,11 @@ -const { logger } = require('../../../logger'); -const versioning = require('../../../versioning'); -const { platform } = require('../../../platform'); +import { logger } from '../../../logger'; +import * as versioning from '../../../versioning'; +import { platform } from '../../../platform'; +import { RenovateConfig } from '../../../config'; -module.exports = { - detectVulnerabilityAlerts, -}; - -async function detectVulnerabilityAlerts(input) { +export async function detectVulnerabilityAlerts( + input: RenovateConfig +): Promise<RenovateConfig> { if (!(input && input.vulnerabilityAlerts)) { return input; } diff --git a/test/util.ts b/test/util.ts index 69d8ec1e606753ff7b7f15bcc2443e18ea819c25..b1272e4a9d3ea60390d45fd0fa83df4f615c5316 100644 --- a/test/util.ts +++ b/test/util.ts @@ -1,5 +1,6 @@ import { platform as _platform } from '../lib/platform'; import { getConfig } from '../lib/config/defaults'; +import { RenovateConfig as _RenovateConfig } from '../lib/config'; /** * Simple wrapper for getting mocked version of a module @@ -11,4 +12,9 @@ export function mocked<T>(module: T): jest.Mocked<T> { export const platform = mocked(_platform); +// Required because of isolatedModules +export type RenovateConfig = _RenovateConfig; + export const defaultConfig = getConfig(); + +export { getConfig }; diff --git a/test/workers/repository/init/__snapshots__/config.spec.js.snap b/test/workers/repository/init/__snapshots__/config.spec.ts.snap similarity index 100% rename from test/workers/repository/init/__snapshots__/config.spec.js.snap rename to test/workers/repository/init/__snapshots__/config.spec.ts.snap diff --git a/test/workers/repository/init/__snapshots__/flatten.spec.js.snap b/test/workers/repository/init/__snapshots__/flatten.spec.ts.snap similarity index 100% rename from test/workers/repository/init/__snapshots__/flatten.spec.js.snap rename to test/workers/repository/init/__snapshots__/flatten.spec.ts.snap diff --git a/test/workers/repository/init/__snapshots__/vulnerability.spec.js.snap b/test/workers/repository/init/__snapshots__/vulnerability.spec.ts.snap similarity index 100% rename from test/workers/repository/init/__snapshots__/vulnerability.spec.js.snap rename to test/workers/repository/init/__snapshots__/vulnerability.spec.ts.snap diff --git a/test/workers/repository/init/apis.spec.js b/test/workers/repository/init/apis.spec.ts similarity index 62% rename from test/workers/repository/init/apis.spec.js rename to test/workers/repository/init/apis.spec.ts index 7bf16e3ebd9c664ae2348aaad5161b8b6eb0158d..408faff326e4791de9735cbb511c67d0bb0bb002 100644 --- a/test/workers/repository/init/apis.spec.js +++ b/test/workers/repository/init/apis.spec.ts @@ -1,13 +1,13 @@ -const { initApis } = require('../../../../lib/workers/repository/init/apis'); +import { initApis } from '../../../../lib/workers/repository/init/apis'; +import { RenovateConfig, getConfig } from '../../../util'; jest.mock('../../../../lib/platform/github'); describe('workers/repository/init/apis', () => { describe('initApis', () => { - /** @type any */ - let config; + let config: RenovateConfig; beforeEach(() => { - config = require('../../../config/config/_fixtures'); + config = { ...getConfig() }; config.errors = []; config.warnings = []; config.token = 'some-token'; diff --git a/test/workers/repository/init/base.spec.js b/test/workers/repository/init/base.spec.ts similarity index 66% rename from test/workers/repository/init/base.spec.js rename to test/workers/repository/init/base.spec.ts index 36fca20aadd02f6b45aba7914f98193a16a86161..a5801ea37f6cd2760cf2ca8ef64268b9c4cc3d1a 100644 --- a/test/workers/repository/init/base.spec.js +++ b/test/workers/repository/init/base.spec.ts @@ -1,19 +1,14 @@ -/** @type any */ -let config; +import { checkBaseBranch } from '../../../../lib/workers/repository/init/base'; +import { platform, getConfig, RenovateConfig } from '../../../util'; + +let config: RenovateConfig; beforeEach(() => { jest.resetAllMocks(); - config = require('../../../config/config/_fixtures'); + config = { ...getConfig() }; config.errors = []; config.warnings = []; }); -const { - checkBaseBranch, -} = require('../../../../lib/workers/repository/init/base'); - -/** @type any */ -const { platform } = require('../../../../lib/platform'); - describe('workers/repository/init/base', () => { describe('checkBaseBranch()', () => { it('errors', async () => { @@ -23,7 +18,7 @@ describe('workers/repository/init/base', () => { }); it('sets baseBranch', async () => { config.baseBranch = 'ssome-base'; - platform.branchExists.mockReturnValue(true); + platform.branchExists.mockResolvedValue(true); const res = await checkBaseBranch(config); expect(res.errors).toHaveLength(0); expect(platform.setBaseBranch).toHaveBeenCalledTimes(1); diff --git a/test/workers/repository/init/config.spec.js b/test/workers/repository/init/config.spec.ts similarity index 59% rename from test/workers/repository/init/config.spec.js rename to test/workers/repository/init/config.spec.ts index 5cf425d211fe65250269438b9e468c0806d64350..e3a273b2bb56ca8b56b95b8dbc14dbc68dac479e 100644 --- a/test/workers/repository/init/config.spec.js +++ b/test/workers/repository/init/config.spec.ts @@ -1,50 +1,47 @@ -/** @type any */ -let config; +import { mergeRenovateConfig } from '../../../../lib/workers/repository/init/config'; +import * as _migrateAndValidate from '../../../../lib/config/migrate-validate'; +import { platform, mocked, getConfig, RenovateConfig } from '../../../util'; + +const migrateAndValidate = mocked(_migrateAndValidate); + +let config: RenovateConfig; beforeEach(() => { jest.resetAllMocks(); - config = require('../../../config/config/_fixtures'); + config = getConfig(); config.errors = []; config.warnings = []; }); -const { - mergeRenovateConfig, -} = require('../../../../lib/workers/repository/init/config'); -/** @type any */ -const migrateValidate = require('../../../../lib/config/migrate-validate'); -/** @type any */ -const { platform } = require('../../../../lib/platform'); - jest.mock('../../../../lib/config/migrate-validate'); describe('workers/repository/init/config', () => { describe('mergeRenovateConfig()', () => { beforeEach(() => { - migrateValidate.migrateAndValidate.mockReturnValue({ + migrateAndValidate.migrateAndValidate.mockResolvedValue({ warnings: [], errors: [], }); }); it('returns config if not found', async () => { - platform.getFileList.mockReturnValue(['package.json']); - platform.getFile.mockReturnValue('{}'); + platform.getFileList.mockResolvedValue(['package.json']); + platform.getFile.mockResolvedValue('{}'); const res = await mergeRenovateConfig(config); expect(res).toMatchObject(config); }); it('uses package.json config if found', async () => { - platform.getFileList.mockReturnValue(['package.json']); + platform.getFileList.mockResolvedValue(['package.json']); const pJson = JSON.stringify({ name: 'something', renovate: { prHourlyLimit: 10, }, }); - platform.getFile.mockReturnValue(pJson); + platform.getFile.mockResolvedValue(pJson); await mergeRenovateConfig(config); }); it('returns error if cannot parse', async () => { - platform.getFileList.mockReturnValue(['package.json', 'renovate.json']); - platform.getFile.mockReturnValue('cannot parse'); + platform.getFileList.mockResolvedValue(['package.json', 'renovate.json']); + platform.getFile.mockResolvedValue('cannot parse'); let e; try { await mergeRenovateConfig(config); @@ -57,8 +54,10 @@ describe('workers/repository/init/config', () => { expect(e.validationMessage).toMatchSnapshot(); }); it('throws error if duplicate keys', async () => { - platform.getFileList.mockReturnValue(['package.json', '.renovaterc']); - platform.getFile.mockReturnValue('{ "enabled": true, "enabled": false }'); + platform.getFileList.mockResolvedValue(['package.json', '.renovaterc']); + platform.getFile.mockResolvedValue( + '{ "enabled": true, "enabled": false }' + ); let e; try { await mergeRenovateConfig(config); @@ -71,38 +70,41 @@ describe('workers/repository/init/config', () => { expect(e.validationMessage).toMatchSnapshot(); }); it('finds and parse renovate.json5', async () => { - platform.getFileList.mockReturnValue(['package.json', 'renovate.json5']); - platform.getFile.mockReturnValue(`{ + platform.getFileList.mockResolvedValue([ + 'package.json', + 'renovate.json5', + ]); + platform.getFile.mockResolvedValue(`{ // this is json5 format }`); await mergeRenovateConfig(config); }); it('finds .github/renovate.json', async () => { - platform.getFileList.mockReturnValue([ + platform.getFileList.mockResolvedValue([ 'package.json', '.github/renovate.json', ]); - platform.getFile.mockReturnValue('{}'); + platform.getFile.mockResolvedValue('{}'); await mergeRenovateConfig(config); }); it('finds .renovaterc.json', async () => { - platform.getFileList.mockReturnValue([ + platform.getFileList.mockResolvedValue([ 'package.json', '.renovaterc.json', ]); - platform.getFile.mockReturnValue('{}'); + platform.getFile.mockResolvedValue('{}'); await mergeRenovateConfig(config); }); it('throws error if misconfigured', async () => { - platform.getFileList.mockReturnValue([ + platform.getFileList.mockResolvedValue([ 'package.json', '.renovaterc.json', ]); - platform.getFile.mockReturnValue('{}'); - migrateValidate.migrateAndValidate.mockReturnValueOnce({ - errors: [{}], + platform.getFile.mockResolvedValue('{}'); + migrateAndValidate.migrateAndValidate.mockResolvedValueOnce({ + errors: [{ depName: 'dep', message: 'test error' }], }); - let e; + let e: Error; try { await mergeRenovateConfig(config); } catch (err) { diff --git a/test/workers/repository/init/flatten.spec.js b/test/workers/repository/init/flatten.spec.ts similarity index 86% rename from test/workers/repository/init/flatten.spec.js rename to test/workers/repository/init/flatten.spec.ts index 63a920e534b58cae4434a94706a00352dd742546..2d55e0c59970c0ec032e713c89d47b3163a4b5dc 100644 --- a/test/workers/repository/init/flatten.spec.js +++ b/test/workers/repository/init/flatten.spec.ts @@ -1,11 +1,9 @@ -const { - flattenPackageRules, -} = require('../../../../lib/workers/repository/init/flatten'); +import { flattenPackageRules } from '../../../../lib/workers/repository/init/flatten'; describe('workers/repository/init/flatten', () => { describe('flattenPackageRules()', () => { it('returns empty', () => { - expect(flattenPackageRules({})).toEqual([]); + expect(flattenPackageRules([])).toEqual([]); }); it('flattens some and returns others', () => { const packageRules = [ diff --git a/test/workers/repository/init/index.spec.js b/test/workers/repository/init/index.spec.ts similarity index 55% rename from test/workers/repository/init/index.spec.js rename to test/workers/repository/init/index.spec.ts index 8972907ecd1d13e3c28563c084419f61cf9a3a1b..c3408fb8a5a654c7b1414612511939b690ce6412 100644 --- a/test/workers/repository/init/index.spec.js +++ b/test/workers/repository/init/index.spec.ts @@ -1,8 +1,7 @@ -/** @type any */ -const base = require('../../../../lib/workers/repository/init/base'); -/** @type any */ -const apis = require('../../../../lib/workers/repository/init/apis'); -const { initRepo } = require('../../../../lib/workers/repository/init'); +import * as _base from '../../../../lib/workers/repository/init/base'; +import * as _apis from '../../../../lib/workers/repository/init/apis'; +import { initRepo } from '../../../../lib/workers/repository/init'; +import { mocked } from '../../../util'; jest.mock('../../../../lib/workers/repository/onboarding/branch'); jest.mock('../../../../lib/workers/repository/configured'); @@ -11,11 +10,14 @@ jest.mock('../../../../lib/workers/repository/init/base'); jest.mock('../../../../lib/workers/repository/init/config'); jest.mock('../../../../lib/workers/repository/init/semantic'); +const base = mocked(_base); +const apis = mocked(_apis); + describe('workers/repository/init', () => { describe('initRepo', () => { it('runs', async () => { - base.checkBaseBranch.mockReturnValue({}); - apis.initApis.mockReturnValue({}); + base.checkBaseBranch.mockResolvedValue({}); + apis.initApis.mockResolvedValue({} as never); await initRepo({}); }); }); diff --git a/test/workers/repository/init/semantic.spec.js b/test/workers/repository/init/semantic.spec.ts similarity index 64% rename from test/workers/repository/init/semantic.spec.js rename to test/workers/repository/init/semantic.spec.ts index 5867ab583076ba8909df2af0c4b2b98d29fa8e25..72c43954a8ce4fb0f0eaae0f8409375129c4602b 100644 --- a/test/workers/repository/init/semantic.spec.js +++ b/test/workers/repository/init/semantic.spec.ts @@ -1,19 +1,14 @@ -/** @type any */ -let config; +import { detectSemanticCommits } from '../../../../lib/workers/repository/init/semantic'; +import { platform, getConfig, RenovateConfig } from '../../../util'; + +let config: RenovateConfig; beforeEach(() => { jest.resetAllMocks(); - config = require('../../../config/config/_fixtures'); + config = getConfig(); config.errors = []; config.warnings = []; }); -const { - detectSemanticCommits, -} = require('../../../../lib/workers/repository/init/semantic'); - -/** @type any */ -const { platform } = require('../../../../lib/platform'); - describe('workers/repository/init/semantic', () => { describe('detectSemanticCommits()', () => { it('returns config if already set', async () => { @@ -23,13 +18,16 @@ describe('workers/repository/init/semantic', () => { }); it('detects false if unknown', async () => { config.semanticCommits = null; - platform.getCommitMessages.mockReturnValue(['foo', 'bar']); + platform.getCommitMessages.mockResolvedValue(['foo', 'bar']); const res = await detectSemanticCommits(config); expect(res).toBe(false); }); it('detects true if known', async () => { config.semanticCommits = null; - platform.getCommitMessages.mockReturnValue(['fix: foo', 'refactor: bar']); + platform.getCommitMessages.mockResolvedValue([ + 'fix: foo', + 'refactor: bar', + ]); const res = await detectSemanticCommits(config); expect(res).toBe(true); }); diff --git a/test/workers/repository/init/vulnerability.spec.js b/test/workers/repository/init/vulnerability.spec.ts similarity index 96% rename from test/workers/repository/init/vulnerability.spec.js rename to test/workers/repository/init/vulnerability.spec.ts index 764beb40b2c30172ed2d8e8610382c067aac13b2..715af5e5e032050306536744988219fb439a3342 100644 --- a/test/workers/repository/init/vulnerability.spec.js +++ b/test/workers/repository/init/vulnerability.spec.ts @@ -1,18 +1,12 @@ -let config; +import { detectVulnerabilityAlerts } from '../../../../lib/workers/repository/init/vulnerability'; +import { platform, defaultConfig, RenovateConfig } from '../../../util'; + +let config: RenovateConfig; beforeEach(() => { jest.resetAllMocks(); - config = JSON.parse( - JSON.stringify(require('../../../config/config/_fixtures')) - ); + config = JSON.parse(JSON.stringify(defaultConfig)); }); -const { - detectVulnerabilityAlerts, -} = require('../../../../lib/workers/repository/init/vulnerability'); - -/** @type any */ -const { platform } = require('../../../../lib/platform'); - describe('workers/repository/init/vulnerability', () => { describe('detectVulnerabilityAlerts()', () => { it('returns if alerts are missing', async () => { @@ -25,19 +19,19 @@ describe('workers/repository/init/vulnerability', () => { }); it('returns if no alerts', async () => { delete config.vulnerabilityAlerts.enabled; - platform.getVulnerabilityAlerts.mockReturnValue([]); + platform.getVulnerabilityAlerts.mockResolvedValue([]); expect(await detectVulnerabilityAlerts(config)).toEqual(config); }); it('throws if no alerts and vulnerabilityAlertsOnly', async () => { config.vulnerabilityAlertsOnly = true; - platform.getVulnerabilityAlerts.mockReturnValue([]); + platform.getVulnerabilityAlerts.mockResolvedValue([]); await expect(detectVulnerabilityAlerts(config)).rejects.toThrow( /no-vulnerability-alerts/ ); }); it('returns alerts', async () => { delete config.vulnerabilityAlerts.enabled; - platform.getVulnerabilityAlerts.mockReturnValue([ + platform.getVulnerabilityAlerts.mockResolvedValue([ {}, { dismissReason: null,