From 7f65f1ea0682cebb23a6cbdecb947ee90ffc2376 Mon Sep 17 00:00:00 2001 From: Lauri Nevala Date: Fri, 31 Jul 2020 16:50:57 +0300 Subject: [PATCH] Fix CRD api parsing (#622) Signed-off-by: Lauri Nevala --- src/renderer/api/kube-api-parse.ts | 3 +++ src/renderer/api/kube-api-parse_test.ts | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/renderer/api/kube-api-parse.ts b/src/renderer/api/kube-api-parse.ts index 0745dc71eb..97a7875322 100644 --- a/src/renderer/api/kube-api-parse.ts +++ b/src/renderer/api/kube-api-parse.ts @@ -40,6 +40,9 @@ export function parseApi(path: string): IKubeApiLinkBase { apiGroup = left.join("/"); } else { switch (left.length) { + case 4: + [apiGroup, apiVersion, resource, name] = left + break; case 2: resource = left.pop(); // fallthrough diff --git a/src/renderer/api/kube-api-parse_test.ts b/src/renderer/api/kube-api-parse_test.ts index 03f53ae34d..1fda8c3e53 100644 --- a/src/renderer/api/kube-api-parse_test.ts +++ b/src/renderer/api/kube-api-parse_test.ts @@ -6,6 +6,19 @@ interface KubeApi_Parse_Test { } const tests: KubeApi_Parse_Test[] = [ + { + url: "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/prometheuses.monitoring.coreos.com", + expected: { + apiBase: "/apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions", + apiPrefix: "/apis", + apiGroup: "apiextensions.k8s.io", + apiVersion: "v1beta1", + apiVersionWithGroup: "apiextensions.k8s.io/v1beta1", + namespace: undefined, + resource: "customresourcedefinitions", + name: "prometheuses.monitoring.coreos.com" + }, + }, { url: "/api/v1/namespaces/kube-system/pods/coredns-6955765f44-v8p27", expected: {