From e1c45881565147aa26db6535243accc6c6ac6c66 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Wed, 20 Jan 2021 11:05:57 +0300 Subject: [PATCH] Extracting dummy pods into mock file Signed-off-by: Alex Andreev --- .../__test__/log-resource-selector.test.tsx | 113 ++---------- .../dock/__test__/log-tab.store.test.ts | 161 +----------------- .../components/dock/__test__/pod.mock.ts | 155 +++++++++++++++++ 3 files changed, 169 insertions(+), 260 deletions(-) create mode 100644 src/renderer/components/dock/__test__/pod.mock.ts diff --git a/src/renderer/components/dock/__test__/log-resource-selector.test.tsx b/src/renderer/components/dock/__test__/log-resource-selector.test.tsx index 1c8111657e..254b40502a 100644 --- a/src/renderer/components/dock/__test__/log-resource-selector.test.tsx +++ b/src/renderer/components/dock/__test__/log-resource-selector.test.tsx @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react"; import "@testing-library/jest-dom/extend-expect"; import { render } from "@testing-library/react"; @@ -6,102 +10,7 @@ import selectEvent from "react-select-event"; import { Pod } from "../../../api/endpoints"; import { LogResourceSelector } from "../log-resource-selector"; import { LogTabData } from "../log-tab.store"; - -const dummyPod = { - apiVersion: "v1", - kind: "dummy", - metadata: { - uid: "dummyPod", - name: "dummyPod", - creationTimestamp: "dummy", - resourceVersion: "dummy", - namespace: "default" - }, - spec: { - initContainers: [] as any, - containers: [ - { - name: "docker-exporter", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - } - ], - serviceAccountName: "dummy", - serviceAccount: "dummy", - }, - status: { - phase: "Running", - conditions: [{ - type: "Running", - status: "Running", - lastProbeTime: 1, - lastTransitionTime: "Some time", - }], - hostIP: "dummy", - podIP: "dummy", - startTime: "dummy", - } -}; - -const anotherDummyPod = { - apiVersion: "v1", - kind: "dummy", - metadata: { - uid: "anotherDummyPod", - name: "anotherDummyPod", - creationTimestamp: "dummy", - resourceVersion: "dummy", - namespace: "default", - ownerReferences: [{ - apiVersion: "v1", - kind: "Deployment", - name: "super-deployment", - uid: "uuid", - controller: true, - blockOwnerDeletion: true, - }] - }, - spec: { - initContainers: [ - { - name: "init-node-exporter", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - }, - { - name: "init-node-exporter-1", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - } - ], - containers: [ - { - name: "node-exporter", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - }, - { - name: "node-exporter-1", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - } - ], - serviceAccountName: "dummy", - serviceAccount: "dummy", - }, - status: { - phase: "Running", - conditions: [{ - type: "Running", - status: "Running", - lastProbeTime: 1, - lastTransitionTime: "Some time", - }], - hostIP: "dummy", - podIP: "dummy", - startTime: "dummy", - } -}; +import { dockerPod, deploymentPod1 } from "./pod.mock"; const getComponent = (tabData: LogTabData) => { return ( @@ -115,7 +24,7 @@ const getComponent = (tabData: LogTabData) => { }; const getOnePodTabData = (): LogTabData => { - const selectedPod = new Pod(dummyPod); + const selectedPod = new Pod(dockerPod); return { pods: [] as Pod[], @@ -127,8 +36,8 @@ const getOnePodTabData = (): LogTabData => { }; const getFewPodsTabData = (): LogTabData => { - const selectedPod = new Pod(anotherDummyPod); - const anotherPod = new Pod(dummyPod); + const selectedPod = new Pod(deploymentPod1); + const anotherPod = new Pod(dockerPod); return { pods: [anotherPod], @@ -159,7 +68,7 @@ describe("", () => { const tabData = getOnePodTabData(); const { getByText } = render(getComponent(tabData)); - expect(getByText("dummyPod")).toBeInTheDocument(); + expect(getByText("dockerExporter")).toBeInTheDocument(); expect(getByText("docker-exporter")).toBeInTheDocument(); }); @@ -170,8 +79,8 @@ describe("", () => { selectEvent.openMenu(podSelector); - expect(getByText("dummyPod")).toBeInTheDocument(); - expect(getByText("anotherDummyPod")).toBeInTheDocument(); + expect(getByText("dockerExporter")).toBeInTheDocument(); + expect(getByText("deploymentPod1")).toBeInTheDocument(); }); it("renders sibling containers in dropdown", () => { diff --git a/src/renderer/components/dock/__test__/log-tab.store.test.ts b/src/renderer/components/dock/__test__/log-tab.store.test.ts index 3357e3e273..6c8d9b3251 100644 --- a/src/renderer/components/dock/__test__/log-tab.store.test.ts +++ b/src/renderer/components/dock/__test__/log-tab.store.test.ts @@ -6,166 +6,11 @@ import { podsStore } from "../../+workloads-pods/pods.store"; import { Pod } from "../../../api/endpoints"; import { dockStore } from "../dock.store"; import { LogTabStore } from "../log-tab.store"; +import { deploymentPod1, deploymentPod2, dockerPod } from "./pod.mock"; let logTabStore: LogTabStore = null; -const dummyPod = { - apiVersion: "v1", - kind: "dummy", - metadata: { - uid: "dummyPod", - name: "dummyPod", - creationTimestamp: "dummy", - resourceVersion: "dummy", - namespace: "default" - }, - spec: { - initContainers: [] as any, - containers: [ - { - name: "docker-exporter", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - } - ], - serviceAccountName: "dummy", - serviceAccount: "dummy", - }, - status: { - phase: "Running", - conditions: [{ - type: "Running", - status: "Running", - lastProbeTime: 1, - lastTransitionTime: "Some time", - }], - hostIP: "dummy", - podIP: "dummy", - startTime: "dummy", - } -}; - -const deploymentPod1 = { - apiVersion: "v1", - kind: "dummy", - metadata: { - uid: "deploymentPod1", - name: "deploymentPod1", - creationTimestamp: "dummy", - resourceVersion: "dummy", - namespace: "default", - ownerReferences: [{ - apiVersion: "v1", - kind: "Deployment", - name: "super-deployment", - uid: "uuid", - controller: true, - blockOwnerDeletion: true, - }] - }, - spec: { - initContainers: [ - { - name: "init-node-exporter", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - }, - { - name: "init-node-exporter-1", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - } - ], - containers: [ - { - name: "node-exporter", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - }, - { - name: "node-exporter-1", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - } - ], - serviceAccountName: "dummy", - serviceAccount: "dummy", - }, - status: { - phase: "Running", - conditions: [{ - type: "Running", - status: "Running", - lastProbeTime: 1, - lastTransitionTime: "Some time", - }], - hostIP: "dummy", - podIP: "dummy", - startTime: "dummy", - } -}; - -const deploymentPod2 = { - apiVersion: "v1", - kind: "dummy", - metadata: { - uid: "deploymentPod2", - name: "deploymentPod2", - creationTimestamp: "dummy", - resourceVersion: "dummy", - namespace: "default", - ownerReferences: [{ - apiVersion: "v1", - kind: "Deployment", - name: "super-deployment", - uid: "uuid", - controller: true, - blockOwnerDeletion: true, - }] - }, - spec: { - initContainers: [ - { - name: "init-node-exporter", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - }, - { - name: "init-node-exporter-1", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - } - ], - containers: [ - { - name: "node-exporter", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - }, - { - name: "node-exporter-1", - image: "docker.io/prom/node-exporter:v1.0.0-rc.0", - imagePullPolicy: "pull" - } - ], - serviceAccountName: "dummy", - serviceAccount: "dummy", - }, - status: { - phase: "Running", - conditions: [{ - type: "Running", - status: "Running", - lastProbeTime: 1, - lastTransitionTime: "Some time", - }], - hostIP: "dummy", - podIP: "dummy", - startTime: "dummy", - } -}; - -podsStore.items.push(new Pod(dummyPod)); +podsStore.items.push(new Pod(dockerPod)); podsStore.items.push(new Pod(deploymentPod1)); podsStore.items.push(new Pod(deploymentPod2)); @@ -175,7 +20,7 @@ describe("log tab store", () => { }); it("creates log tab without sibling pods", () => { - const selectedPod = new Pod(dummyPod); + const selectedPod = new Pod(dockerPod); const selectedContainer = selectedPod.getAllContainers()[0]; logTabStore.createPodTab({ diff --git a/src/renderer/components/dock/__test__/pod.mock.ts b/src/renderer/components/dock/__test__/pod.mock.ts new file mode 100644 index 0000000000..d6f0757e06 --- /dev/null +++ b/src/renderer/components/dock/__test__/pod.mock.ts @@ -0,0 +1,155 @@ +export const dockerPod = { + apiVersion: "v1", + kind: "dummy", + metadata: { + uid: "dockerExporter", + name: "dockerExporter", + creationTimestamp: "dummy", + resourceVersion: "dummy", + namespace: "default" + }, + spec: { + initContainers: [] as any, + containers: [ + { + name: "docker-exporter", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + } + ], + serviceAccountName: "dummy", + serviceAccount: "dummy", + }, + status: { + phase: "Running", + conditions: [{ + type: "Running", + status: "Running", + lastProbeTime: 1, + lastTransitionTime: "Some time", + }], + hostIP: "dummy", + podIP: "dummy", + startTime: "dummy", + } +}; + +export const deploymentPod1 = { + apiVersion: "v1", + kind: "dummy", + metadata: { + uid: "deploymentPod1", + name: "deploymentPod1", + creationTimestamp: "dummy", + resourceVersion: "dummy", + namespace: "default", + ownerReferences: [{ + apiVersion: "v1", + kind: "Deployment", + name: "super-deployment", + uid: "uuid", + controller: true, + blockOwnerDeletion: true, + }] + }, + spec: { + initContainers: [ + { + name: "init-node-exporter", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + }, + { + name: "init-node-exporter-1", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + } + ], + containers: [ + { + name: "node-exporter", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + }, + { + name: "node-exporter-1", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + } + ], + serviceAccountName: "dummy", + serviceAccount: "dummy", + }, + status: { + phase: "Running", + conditions: [{ + type: "Running", + status: "Running", + lastProbeTime: 1, + lastTransitionTime: "Some time", + }], + hostIP: "dummy", + podIP: "dummy", + startTime: "dummy", + } +}; + +export const deploymentPod2 = { + apiVersion: "v1", + kind: "dummy", + metadata: { + uid: "deploymentPod2", + name: "deploymentPod2", + creationTimestamp: "dummy", + resourceVersion: "dummy", + namespace: "default", + ownerReferences: [{ + apiVersion: "v1", + kind: "Deployment", + name: "super-deployment", + uid: "uuid", + controller: true, + blockOwnerDeletion: true, + }] + }, + spec: { + initContainers: [ + { + name: "init-node-exporter", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + }, + { + name: "init-node-exporter-1", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + } + ], + containers: [ + { + name: "node-exporter", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + }, + { + name: "node-exporter-1", + image: "docker.io/prom/node-exporter:v1.0.0-rc.0", + imagePullPolicy: "pull" + } + ], + serviceAccountName: "dummy", + serviceAccount: "dummy", + }, + status: { + phase: "Running", + conditions: [{ + type: "Running", + status: "Running", + lastProbeTime: 1, + lastTransitionTime: "Some time", + }], + hostIP: "dummy", + podIP: "dummy", + startTime: "dummy", + } +}; \ No newline at end of file