From 76a710edd9f4a70908f6602a1cef2355e64ea075 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 2 Aug 2023 16:52:28 +0200 Subject: [PATCH] proxy-backend: add test for deprecated configuration Signed-off-by: Patrik Oldsberg --- plugins/proxy-backend/package.json | 1 + .../proxy-backend/src/service/router.test.ts | 27 +++++++++++++++++++ yarn.lock | 1 + 3 files changed, 29 insertions(+) diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json index d7eb3ad435..959c946d55 100644 --- a/plugins/proxy-backend/package.json +++ b/plugins/proxy-backend/package.json @@ -48,6 +48,7 @@ "yup": "^0.32.9" }, "devDependencies": { + "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", "@backstage/config-loader": "workspace:^", "@types/http-proxy-middleware": "^0.19.3", diff --git a/plugins/proxy-backend/src/service/router.test.ts b/plugins/proxy-backend/src/service/router.test.ts index f69b0d38b7..2b58e52e94 100644 --- a/plugins/proxy-backend/src/service/router.test.ts +++ b/plugins/proxy-backend/src/service/router.test.ts @@ -15,6 +15,7 @@ */ import { getVoidLogger, SingleHostDiscovery } from '@backstage/backend-common'; +import { mockServices } from '@backstage/backend-test-utils'; import { ConfigReader } from '@backstage/config'; import { Request, Response } from 'express'; import * as http from 'http'; @@ -70,6 +71,32 @@ describe('createRouter', () => { expect(router).toBeDefined(); }); + it('supports deprecated proxy configuration', async () => { + const router = await createRouter({ + config: mockServices.rootConfig({ + data: { + proxy: { + '/test': { + target: 'https://example.com', + headers: { + Authorization: 'Bearer supersecret', + }, + }, + }, + }, + }), + logger, + discovery, + }); + expect(router).toBeDefined(); + expect(mockCreateProxyMiddleware).toHaveBeenCalledWith( + expect.any(Function), + expect.objectContaining({ + target: 'https://example.com', + }), + ); + }); + it('revives request bodies when set', async () => { const router = await createRouter({ config, diff --git a/yarn.lock b/yarn.lock index 33681796da..7256f2b11d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8053,6 +8053,7 @@ __metadata: dependencies: "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" + "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" "@backstage/config-loader": "workspace:^"