1
0
mirror of https://github.com/lensapp/lens.git synced 2024-09-11 09:25:26 +03:00

chore: Improve KubeObject tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-05-25 09:37:28 -04:00
parent 74cf677b1b
commit 723e8452cf

View File

@ -6,35 +6,14 @@ describe("kube object tests", () => {
() =>
new KubeObject({
apiVersion: "metrics.k8s.io/v1beta1",
containers: [
{
name: "cert-manager",
usage: {
cpu: "472721n",
memory: "74404Ki",
},
},
],
kind: "PodMetrics",
metadata: {
creationTimestamp: "2023-05-24T14:17:01Z",
labels: {
app: "cert-manager",
"app.kubernetes.io/component": "controller",
"app.kubernetes.io/instance": "cert-manager",
"app.kubernetes.io/managed-by": "Helm",
"app.kubernetes.io/name": "cert-manager",
"app.kubernetes.io/version": "v1.5.5",
"helm.sh/chart": "cert-manager-v1.5.5",
"pod-template-hash": "54cbdfb45c",
},
name: "cert-manager-54cbdfb45c-n4kp9",
namespace: "cert-manager",
selfLink: "/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
resourceVersion: "123",
},
timestamp: "2023-05-24T14:16:39Z",
window: "16s",
}),
).not.toThrow();
});
@ -44,35 +23,14 @@ describe("kube object tests", () => {
() =>
new KubeObject({
apiVersion: "metrics.k8s.io/v1beta1",
containers: [
{
name: "cert-manager",
usage: {
cpu: "472721n",
memory: "74404Ki",
},
},
],
kind: "PodMetrics",
metadata: {
creationTimestamp: "2023-05-24T14:17:01Z",
labels: {
app: "cert-manager",
"app.kubernetes.io/component": "controller",
"app.kubernetes.io/instance": "cert-manager",
"app.kubernetes.io/managed-by": "Helm",
"app.kubernetes.io/name": "cert-manager",
"app.kubernetes.io/version": "v1.5.5",
"helm.sh/chart": "cert-manager-v1.5.5",
"pod-template-hash": "54cbdfb45c",
},
name: "cert-manager-54cbdfb45c-n4kp9",
namespace: "cert-manager",
selfLink: "/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
uid: "123",
},
timestamp: "2023-05-24T14:16:39Z",
window: "16s",
}),
).not.toThrow();
});
@ -82,35 +40,78 @@ describe("kube object tests", () => {
() =>
new KubeObject({
apiVersion: "metrics.k8s.io/v1beta1",
containers: [
{
name: "cert-manager",
usage: {
cpu: "472721n",
memory: "74404Ki",
},
},
],
kind: "PodMetrics",
metadata: {
creationTimestamp: "2023-05-24T14:17:01Z",
labels: {
app: "cert-manager",
"app.kubernetes.io/component": "controller",
"app.kubernetes.io/instance": "cert-manager",
"app.kubernetes.io/managed-by": "Helm",
"app.kubernetes.io/name": "cert-manager",
"app.kubernetes.io/version": "v1.5.5",
"helm.sh/chart": "cert-manager-v1.5.5",
"pod-template-hash": "54cbdfb45c",
},
name: "cert-manager-54cbdfb45c-n4kp9",
namespace: "cert-manager",
selfLink: "/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
},
timestamp: "2023-05-24T14:16:39Z",
window: "16s",
}),
).not.toThrow();
});
it("KubeObject.getId() should return the uid if present", () => {
const obj = new KubeObject({
apiVersion: "metrics.k8s.io/v1beta1",
kind: "PodMetrics",
metadata: {
creationTimestamp: "2023-05-24T14:17:01Z",
name: "cert-manager-54cbdfb45c-n4kp9",
namespace: "cert-manager",
selfLink: "/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
uid: "foobar",
},
});
expect(obj.getId()).toEqual("foobar");
});
it("KubeObject.getId() should return the selfLink if uid is missing", () => {
const obj = new KubeObject({
apiVersion: "metrics.k8s.io/v1beta1",
kind: "PodMetrics",
metadata: {
creationTimestamp: "2023-05-24T14:17:01Z",
name: "cert-manager-54cbdfb45c-n4kp9",
namespace: "cert-manager",
selfLink: "/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
},
});
expect(obj.getId()).toEqual(
"/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
);
});
it("KubeObject.getResourceVersion() should return the resourceVersion if it is present", () => {
const obj = new KubeObject({
apiVersion: "metrics.k8s.io/v1beta1",
kind: "PodMetrics",
metadata: {
creationTimestamp: "2023-05-24T14:17:01Z",
name: "cert-manager-54cbdfb45c-n4kp9",
namespace: "cert-manager",
selfLink: "/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
resourceVersion: "foobar",
},
});
expect(obj.getResourceVersion()).toEqual("foobar");
});
it("KubeObject.getResourceVersion() should return '' if the resourceVersion is missing", () => {
const obj = new KubeObject({
apiVersion: "metrics.k8s.io/v1beta1",
kind: "PodMetrics",
metadata: {
creationTimestamp: "2023-05-24T14:17:01Z",
name: "cert-manager-54cbdfb45c-n4kp9",
namespace: "cert-manager",
selfLink: "/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
},
});
expect(obj.getResourceVersion()).toEqual("");
});
});