mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
chore: Simplify KubeObject tests to use stub data
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
723e8452cf
commit
e7b030e2cd
@ -1,83 +1,53 @@
|
|||||||
import { KubeObject } from "./kube-object";
|
import { KubeObject } from "./kube-object";
|
||||||
|
|
||||||
|
const getStubData = () => ({
|
||||||
|
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: "123" as string | undefined,
|
||||||
|
resourceVersion: "foobar" as string | undefined,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
describe("kube object tests", () => {
|
describe("kube object tests", () => {
|
||||||
it("should allow an object to be created when missing uid", () => {
|
it("should allow an object to be created when missing uid", () => {
|
||||||
expect(
|
const data = getStubData();
|
||||||
() =>
|
|
||||||
new KubeObject({
|
delete data.metadata.uid;
|
||||||
apiVersion: "metrics.k8s.io/v1beta1",
|
expect(() => new KubeObject(data)).not.toThrow();
|
||||||
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: "123",
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
).not.toThrow();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should allow an object to be created when missing resourceVersion", () => {
|
it("should allow an object to be created when missing resourceVersion", () => {
|
||||||
expect(
|
const data = getStubData();
|
||||||
() =>
|
|
||||||
new KubeObject({
|
delete data.metadata.resourceVersion;
|
||||||
apiVersion: "metrics.k8s.io/v1beta1",
|
expect(() => new KubeObject(data)).not.toThrow();
|
||||||
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: "123",
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
).not.toThrow();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should allow an object to be created when missing resourceVersion and uid", () => {
|
it("should allow an object to be created when missing resourceVersion and uid", () => {
|
||||||
expect(
|
const data = getStubData();
|
||||||
() =>
|
|
||||||
new KubeObject({
|
delete data.metadata.uid;
|
||||||
apiVersion: "metrics.k8s.io/v1beta1",
|
delete data.metadata.resourceVersion;
|
||||||
kind: "PodMetrics",
|
expect(() => new KubeObject(data)).not.toThrow();
|
||||||
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",
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
).not.toThrow();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("KubeObject.getId() should return the uid if present", () => {
|
it("KubeObject.getId() should return the uid if present", () => {
|
||||||
const obj = new KubeObject({
|
const data = getStubData();
|
||||||
apiVersion: "metrics.k8s.io/v1beta1",
|
const obj = new KubeObject(data);
|
||||||
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");
|
expect(obj.getId()).toEqual("123");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("KubeObject.getId() should return the selfLink if uid is missing", () => {
|
it("KubeObject.getId() should return the selfLink if uid is missing", () => {
|
||||||
const obj = new KubeObject({
|
const data = getStubData();
|
||||||
apiVersion: "metrics.k8s.io/v1beta1",
|
|
||||||
kind: "PodMetrics",
|
delete data.metadata.uid;
|
||||||
metadata: {
|
const obj = new KubeObject(data);
|
||||||
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(
|
expect(obj.getId()).toEqual(
|
||||||
"/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
|
"/apis/metrics.k8s.io/v1beta1/namespaces/cert-manager/pods/cert-manager-54cbdfb45c-n4kp9",
|
||||||
@ -85,32 +55,17 @@ describe("kube object tests", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("KubeObject.getResourceVersion() should return the resourceVersion if it is present", () => {
|
it("KubeObject.getResourceVersion() should return the resourceVersion if it is present", () => {
|
||||||
const obj = new KubeObject({
|
const data = getStubData();
|
||||||
apiVersion: "metrics.k8s.io/v1beta1",
|
const obj = new KubeObject(data);
|
||||||
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");
|
expect(obj.getResourceVersion()).toEqual("foobar");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("KubeObject.getResourceVersion() should return '' if the resourceVersion is missing", () => {
|
it("KubeObject.getResourceVersion() should return '' if the resourceVersion is missing", () => {
|
||||||
const obj = new KubeObject({
|
const data = getStubData();
|
||||||
apiVersion: "metrics.k8s.io/v1beta1",
|
|
||||||
kind: "PodMetrics",
|
delete data.metadata.resourceVersion;
|
||||||
metadata: {
|
const obj = new KubeObject(data);
|
||||||
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("");
|
expect(obj.getResourceVersion()).toEqual("");
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user