From 184c8877c99a4d2338e82cd1be8bed72eb9c4784 Mon Sep 17 00:00:00 2001 From: David Roberts Date: Mon, 12 Feb 2024 16:49:47 +0000 Subject: [PATCH] throw if we are passed the empty string - we know this won't work Signed-off-by: David Roberts --- plugins/azure-devops-backend/src/service/router.test.ts | 8 ++++++++ plugins/azure-devops-backend/src/service/router.ts | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/plugins/azure-devops-backend/src/service/router.test.ts b/plugins/azure-devops-backend/src/service/router.test.ts index 7bf558612f..c12b13a5aa 100644 --- a/plugins/azure-devops-backend/src/service/router.test.ts +++ b/plugins/azure-devops-backend/src/service/router.test.ts @@ -572,6 +572,14 @@ describe('createRouter', () => { expect(response.status).toEqual(400); }); }); + + describe('GET /readme/:projectName/:repoName with a bad readme path (empty string)', () => { + it('throws InputError', async () => { + const response = await request(app).get('/readme/myProject/myRepo?path='); + expect(azureDevOpsApi.getReadme).not.toHaveBeenCalled(); + expect(response.status).toEqual(400); + }); + }); }); function getReadmeMock() { diff --git a/plugins/azure-devops-backend/src/service/router.ts b/plugins/azure-devops-backend/src/service/router.ts index 230ff08c8b..bc13a4eee2 100644 --- a/plugins/azure-devops-backend/src/service/router.ts +++ b/plugins/azure-devops-backend/src/service/router.ts @@ -228,6 +228,10 @@ export async function createRouter( throw new InputError('Invalid path param'); } + if (path === '') { + throw new InputError('If present, the path param should not be empty'); + } + const { projectName, repoName } = req.params; const readme = await azureDevOpsApi.getReadme( host,