From e37c71b5a4654d6843abfce2248268f2061120bb Mon Sep 17 00:00:00 2001 From: Joao Paulo Moreira Antunes Date: Mon, 30 May 2022 18:57:48 -0300 Subject: [PATCH] catalog azure server 2020 for use with old tfs Signed-off-by: Joao Paulo Moreira Antunes --- .changeset/shy-geese-judge.md | 5 ++++ .../integration/src/azure/AzureUrl.test.ts | 24 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 .changeset/shy-geese-judge.md diff --git a/.changeset/shy-geese-judge.md b/.changeset/shy-geese-judge.md new file mode 100644 index 0000000000..8012b78c8f --- /dev/null +++ b/.changeset/shy-geese-judge.md @@ -0,0 +1,5 @@ +--- +'@backstage/integration': patch +--- + +Updated to support deployments of Azure DevOps Server under TFS or similar subpath diff --git a/packages/integration/src/azure/AzureUrl.test.ts b/packages/integration/src/azure/AzureUrl.test.ts index 2f22dd13da..a56f800133 100644 --- a/packages/integration/src/azure/AzureUrl.test.ts +++ b/packages/integration/src/azure/AzureUrl.test.ts @@ -142,6 +142,30 @@ describe('AzureUrl', () => { ); }); + it('should work with the old tfs long URL', () => { + const url = AzureUrl.fromRepoUrl( + 'http://my-host/tfs/projects/my-project/_git/my-repo', + ); + + expect(url.getOwner()).toBe('tfs/projects'); + expect(url.getProject()).toBe('my-project'); + expect(url.getRepo()).toBe('my-repo'); + expect(url.getRef()).toBeUndefined(); + expect(url.getPath()).toBeUndefined(); + }); + + it('should work with the old tfs long URL form with a path and ref', () => { + const url = AzureUrl.fromRepoUrl( + 'http://my-host/tfs/projects/my-project/_git/my-repo?path=%2Ffolder&version=GBtest-branch', + ); + + expect(url.getOwner()).toBe('tfs/projects'); + expect(url.getProject()).toBe('my-project'); + expect(url.getRepo()).toBe('my-repo'); + expect(url.getRef()).toBe('test-branch'); + expect(url.getPath()).toBe('/folder'); + }); + it('should reject non-branch refs', () => { expect(() => AzureUrl.fromRepoUrl(