From c676c0613cda46a1832aba90985a6aa6338448ea Mon Sep 17 00:00:00 2001 From: Max Morton Date: Fri, 2 Dec 2022 15:45:29 -0800 Subject: [PATCH] add tests to the fix Signed-off-by: Max Morton --- .../src/reading/GitlabUrlReader.test.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/backend-common/src/reading/GitlabUrlReader.test.ts b/packages/backend-common/src/reading/GitlabUrlReader.test.ts index 518e2efadc..31092e7707 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.test.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.test.ts @@ -44,6 +44,7 @@ const gitlabProcessor = new GitlabUrlReader( host: 'gitlab.com', apiBaseUrl: 'https://gitlab.com/api/v4', baseUrl: 'https://gitlab.com', + token: 'gl-dummy-token', }), ), ), @@ -57,6 +58,7 @@ const hostedGitlabProcessor = new GitlabUrlReader( host: 'gitlab.mycompany.com', apiBaseUrl: 'https://gitlab.mycompany.com/api/v4', baseUrl: 'https://gitlab.mycompany.com', + token: 'gl-dummy-token', }), ), ), @@ -656,4 +658,21 @@ describe('GitlabUrlReader', () => { ).rejects.toThrow(/^Unable to translate GitLab artifact URL:/); }); }); + + describe('resolveProjectToId', () => { + it('should resolve the project path to a valid project id', async () => { + worker.use( + rest.get('*/api/v4/projects/some%2Fproject', (req, res, ctx) => { + // the private-token header must be included on API calls + expect(req.headers.get('private-token')).toBe('gl-dummy-token'); + return res(ctx.status(200), ctx.json({ id: 12345 })); + }), + ); + await expect( + (gitlabProcessor as any).resolveProjectToId( + new URL('https://gitlab.com/some/project'), + ), + ).resolves.toEqual(12345); + }); + }); });