diff --git a/packages/integration/src/gerrit/core.test.ts b/packages/integration/src/gerrit/core.test.ts index 3226c7bf3e..19bddcf518 100644 --- a/packages/integration/src/gerrit/core.test.ts +++ b/packages/integration/src/gerrit/core.test.ts @@ -47,6 +47,7 @@ describe('gerrit core', () => { }; const configWithDedicatedGitiles: GerritIntegrationConfig = { host: 'gerrit.com', + baseUrl: 'https://gerrit.com/gerrit', gitilesBaseUrl: 'https://dedicated-gitiles-server.com/gerrit/gitiles', }; it('can create an archive url for a branch', () => { diff --git a/packages/integration/src/gerrit/core.ts b/packages/integration/src/gerrit/core.ts index b69aca429d..4b7242730e 100644 --- a/packages/integration/src/gerrit/core.ts +++ b/packages/integration/src/gerrit/core.ts @@ -157,10 +157,15 @@ export function getAuthenticationPrefix( export function getGitilesAuthenticationUrl( config: GerritIntegrationConfig, ): string { - if (config.gitilesBaseUrl!.startsWith(config.baseUrl!)) { - return config.gitilesBaseUrl!.replace( - config.baseUrl!.concat('/'), - config.baseUrl!.concat(getAuthenticationPrefix(config)), + if (!config.baseUrl || !config.gitilesBaseUrl) { + throw new Error( + 'Unexpected Gerrit config values. baseUrl or gitilesBaseUrl not set.', + ); + } + if (config.gitilesBaseUrl.startsWith(config.baseUrl)) { + return config.gitilesBaseUrl.replace( + config.baseUrl.concat('/'), + config.baseUrl.concat(getAuthenticationPrefix(config)), ); } if (config.password) {