From 7233f57136e6b4445945a691e829c5271d052085 Mon Sep 17 00:00:00 2001 From: Jamie Klassen Date: Fri, 15 Dec 2023 13:12:58 -0500 Subject: [PATCH] fix error message for unsupported serviceLocator Signed-off-by: Jamie Klassen --- .changeset/friendly-cheetahs-rescue.md | 6 ++++++ .../src/service/KubernetesBuilder.test.ts | 21 +++++++++++++++++++ .../src/service/KubernetesBuilder.ts | 2 +- 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 .changeset/friendly-cheetahs-rescue.md diff --git a/.changeset/friendly-cheetahs-rescue.md b/.changeset/friendly-cheetahs-rescue.md new file mode 100644 index 0000000000..4f54a022af --- /dev/null +++ b/.changeset/friendly-cheetahs-rescue.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +--- + +Fixed an issue where a misleading error message would be logged when an +unsupported service locator method was specified. diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts index 77d02a032a..5719a9392a 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.test.ts @@ -206,6 +206,7 @@ describe('KubernetesBuilder', () => { }); }); }); + describe('post /services/:serviceId', () => { it('happy path: lists kubernetes objects without auth in request body', async () => { const response = await request(app).post( @@ -780,4 +781,24 @@ metadata: }); }); }); + + it('fails when an unsupported serviceLocator type is specified', () => { + return expect(() => + startTestBackend({ + features: [ + mockServices.rootConfig.factory({ + data: { + kubernetes: { + serviceLocatorMethod: { type: 'unsupported' }, + clusterLocatorMethods: [{ type: 'config', clusters: [] }], + }, + }, + }), + import('@backstage/plugin-kubernetes-backend/alpha'), + ], + }), + ).rejects.toThrow( + 'Unsupported kubernetes.serviceLocatorMethod "unsupported"', + ); + }); }); diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts index c1ff4688e7..a4a577db85 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts @@ -288,7 +288,7 @@ export class KubernetesBuilder { break; default: throw new Error( - `Unsupported kubernetes.clusterLocatorMethod "${method}"`, + `Unsupported kubernetes.serviceLocatorMethod "${method}"`, ); }