From c8cc375129d0ddce4c00010de586fcd2eb04f3b1 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Fri, 19 Jun 2020 10:15:16 +0200 Subject: [PATCH] fix(gitlab-tags): use URL.resolve --- lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap | 6 +++--- lib/datasource/gitlab-tags/index.spec.ts | 4 ++-- lib/datasource/gitlab-tags/index.ts | 6 +++++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap b/lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap index c7a78215e4fc9c..c9d0cb843bc48c 100644 --- a/lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap +++ b/lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`datasource/gitlab-tags getReleases returns tags 1`] = ` +exports[`datasource/gitlab-tags getReleases returns tags from custom registry 1`] = ` Object { "releases": Array [ Object { @@ -21,7 +21,7 @@ Object { } `; -exports[`datasource/gitlab-tags getReleases returns tags 2`] = ` +exports[`datasource/gitlab-tags getReleases returns tags from custom registry 2`] = ` Array [ Object { "headers": Object { @@ -31,7 +31,7 @@ Array [ "user-agent": "https://github.com/renovatebot/renovate", }, "method": "GET", - "url": "https://gitlab.company.com/api/v4/api/v4/projects/some%2Fdep2/repository/tags?per_page=100", + "url": "https://gitlab.company.com/api/v4/projects/some%2Fdep2/repository/tags?per_page=100", }, ] `; diff --git a/lib/datasource/gitlab-tags/index.spec.ts b/lib/datasource/gitlab-tags/index.spec.ts index 5b049589a1954d..bff683fed81a21 100644 --- a/lib/datasource/gitlab-tags/index.spec.ts +++ b/lib/datasource/gitlab-tags/index.spec.ts @@ -8,7 +8,7 @@ describe('datasource/gitlab-tags', () => { httpMock.setup(); }); describe('getReleases', () => { - it('returns tags', async () => { + it('returns tags from custom registry', async () => { const body = [ { name: 'v1.0.0', @@ -26,7 +26,7 @@ describe('datasource/gitlab-tags', () => { ]; httpMock .scope('https://gitlab.company.com') - .get('/api/v4/api/v4/projects/some%2Fdep2/repository/tags?per_page=100') + .get('/api/v4/projects/some%2Fdep2/repository/tags?per_page=100') .reply(200, body); const res = await getPkgReleases({ datasource, diff --git a/lib/datasource/gitlab-tags/index.ts b/lib/datasource/gitlab-tags/index.ts index 15411d83cf8c0c..0ddd79e73c679a 100644 --- a/lib/datasource/gitlab-tags/index.ts +++ b/lib/datasource/gitlab-tags/index.ts @@ -1,3 +1,4 @@ +import URL from 'url'; import is from '@sindresorhus/is'; import { logger } from '../../logger'; import * as globalCache from '../../util/cache/global'; @@ -43,7 +44,10 @@ export async function getReleases({ try { // tag - const url = `${depHost}/api/v4/projects/${urlEncodedRepo}/repository/tags?per_page=100`; + const url = URL.resolve( + depHost, + `/api/v4/projects/${urlEncodedRepo}/repository/tags?per_page=100` + ); gitlabTags = ( await gitlabApi.getJson(url, {