diff --git a/lib/workers/global/initialize.spec.ts b/lib/workers/global/initialize.spec.ts index 91547ffdcb06e940c4d016313e609d61e4a1468b..94297b1c10d291ec46bc877b8a39207118f0cdf2 100644 --- a/lib/workers/global/initialize.spec.ts +++ b/lib/workers/global/initialize.spec.ts @@ -1,6 +1,7 @@ import { git, mockedFunction } from '../../../test/util'; import type { AllConfig, RenovateConfig } from '../../config/types'; import { initPlatform as _initPlatform } from '../../modules/platform'; +import * as hostRules from '../../util/host-rules'; import { globalInitialize } from './initialize'; jest.mock('../../util/git'); @@ -39,4 +40,43 @@ describe('workers/global/initialize', () => { await expect(globalInitialize(config)).toResolve(); }); }); + + describe('setGlobalHostRules', () => { + beforeEach(() => { + hostRules.clear(); + }); + + it('should have run before initPlatform', async () => { + const hostRule = { + hostType: 'github', + matchHost: 'https://some.github-enterprise.host', + httpsPrivateKey: 'private-key', + httpsCertificate: 'certificate', + httpsCertificateAuthority: 'certificate-authority', + }; + + initPlatform.mockReset(); + initPlatform.mockImplementationOnce((r) => { + const foundRule = hostRules.find({ + hostType: hostRule.hostType, + url: hostRule.matchHost, + }); + + expect(foundRule.httpsPrivateKey).toEqual(hostRule.httpsPrivateKey); + expect(foundRule.httpsCertificateAuthority).toEqual( + hostRule.httpsCertificateAuthority, + ); + expect(foundRule.httpsCertificate).toEqual(hostRule.httpsCertificate); + + return Promise.resolve(r); + }); + + const config: RenovateConfig = { + hostRules: [hostRule], + }; + + git.validateGitVersion.mockResolvedValueOnce(true); + await expect(globalInitialize(config)).toResolve(); + }); + }); }); diff --git a/lib/workers/global/initialize.ts b/lib/workers/global/initialize.ts index 60a73476c521c692d1eae174fac625184e10e4c5..2773006bd1ca95cdab2faabc11df35b8992e9ca0 100644 --- a/lib/workers/global/initialize.ts +++ b/lib/workers/global/initialize.ts @@ -69,6 +69,7 @@ export async function globalInitialize( ): Promise<RenovateConfig> { let config = config_; await checkVersions(); + setGlobalHostRules(config); config = await initPlatform(config); config = await setDirectories(config); await packageCache.init(config);