From a1f587c8614adc9d3b81089b28e60595875c7f9e Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Thu, 14 Jan 2021 01:01:37 -0500 Subject: [PATCH 1/3] Support HTTP 400 Bad Request --- plugins/kubernetes-backend/src/service/KubernetesFetcher.ts | 2 ++ plugins/kubernetes-backend/src/types/types.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts b/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts index d9c6ee6d1a..991174e78a 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFetcher.ts @@ -74,6 +74,8 @@ function fetchResultsToResponseWrapper( const statusCodeToErrorType = (statusCode: number): KubernetesErrorTypes => { switch (statusCode) { + case 400: + return 'BAD_REQUEST'; case 401: return 'UNAUTHORIZED_ERROR'; case 500: diff --git a/plugins/kubernetes-backend/src/types/types.ts b/plugins/kubernetes-backend/src/types/types.ts index 9f0b90c032..cf6576153b 100644 --- a/plugins/kubernetes-backend/src/types/types.ts +++ b/plugins/kubernetes-backend/src/types/types.ts @@ -135,6 +135,7 @@ export interface KubernetesClustersSupplier { } export type KubernetesErrorTypes = + | 'BAD_REQUEST' | 'UNAUTHORIZED_ERROR' | 'SYSTEM_ERROR' | 'UNKNOWN_ERROR'; From 38545afbfa36606d964847eba0929dcf6f591b8a Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Thu, 14 Jan 2021 10:30:55 -0500 Subject: [PATCH 2/3] Add Bad Request test --- .../src/service/KubernetesFetcher.test.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/plugins/kubernetes-backend/src/service/KubernetesFetcher.test.ts b/plugins/kubernetes-backend/src/service/KubernetesFetcher.test.ts index 29233cf7fd..8d29439539 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesFetcher.test.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesFetcher.test.ts @@ -197,6 +197,27 @@ describe('KubernetesClientProvider', () => { }); // they're in testErrorResponse // eslint-disable-next-line jest/expect-expect + it('should return pods, bad request error', async () => { + await testErrorResponse( + { + response: { + statusCode: 400, + request: { + uri: { + pathname: '/some/path', + }, + }, + }, + }, + { + errorType: 'BAD_REQUEST', + resourcePath: '/some/path', + statusCode: 400, + }, + ); + }); + // they're in testErrorResponse + // eslint-disable-next-line jest/expect-expect it('should return pods, unauthorized error', async () => { await testErrorResponse( { From d54857099dfcb49e2aa3664cd1efb96c611bbfcb Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Thu, 14 Jan 2021 10:52:53 -0500 Subject: [PATCH 3/3] Add changeset --- .changeset/bright-icons-repair.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/bright-icons-repair.md diff --git a/.changeset/bright-icons-repair.md b/.changeset/bright-icons-repair.md new file mode 100644 index 0000000000..8c3f43403a --- /dev/null +++ b/.changeset/bright-icons-repair.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +--- + +Support HTTP 400 Bad Request from Kubernetes API