1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Fix tests not using ApplicationBuilder

- Manually set fake certificate

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-01-09 12:08:08 -05:00
parent 3492741b6a
commit 6dd926a0ce
5 changed files with 38 additions and 3 deletions

View File

@ -32,6 +32,7 @@ import type { DiContainer } from "@ogre-tools/injectable";
import deploymentApiInjectable from "../endpoints/deployment.api.injectable";
import podApiInjectable from "../endpoints/pod.api.injectable";
import namespaceApiInjectable from "../endpoints/namespace.api.injectable";
import lensProxyCertificateInjectable from "../../certificate/lens-proxy-certificate.injectable";
// NOTE: this is fine because we are testing something that only exported
// eslint-disable-next-line no-restricted-imports
@ -48,6 +49,12 @@ describe("createKubeApiForRemoteCluster", () => {
di.override(directoryForKubeConfigsInjectable, () => "/some-kube-configs");
di.override(storesAndApisCanBeCreatedInjectable, () => true);
di.inject(lensProxyCertificateInjectable).set({
public: "<public-data>",
private: "<private-data>",
cert: "<ca-data>",
});
const createCluster = di.inject(createClusterInjectable);
di.override(hostedClusterInjectable, () => createCluster({

View File

@ -23,6 +23,7 @@ import pathExistsSyncInjectable from "../../common/fs/path-exists-sync.injectabl
import pathExistsInjectable from "../../common/fs/path-exists.injectable";
import readJsonSyncInjectable from "../../common/fs/read-json-sync.injectable";
import writeJsonSyncInjectable from "../../common/fs/write-json-sync.injectable";
import lensProxyCertificateInjectable from "../../common/certificate/lens-proxy-certificate.injectable";
describe("create clusters", () => {
let cluster: Cluster;
@ -59,6 +60,12 @@ describe("create clusters", () => {
di.override(readJsonSyncInjectable, () => () => { throw new Error("tried call readJsonSync without override"); });
di.override(writeJsonSyncInjectable, () => () => { throw new Error("tried call writeJsonSync without override"); });
di.inject(lensProxyCertificateInjectable).set({
public: "<public-data>",
private: "<private-data>",
cert: "<ca-data>",
});
createCluster = di.inject(createClusterInjectionToken);
jest.spyOn(Kubectl.prototype, "ensureKubectl").mockReturnValue(Promise.resolve(true));

View File

@ -24,9 +24,10 @@ import kubectlBinaryNameInjectable from "../kubectl/binary-name.injectable";
import kubectlDownloadingNormalizedArchInjectable from "../kubectl/normalized-arch.injectable";
import broadcastMessageInjectable from "../../common/ipc/broadcast-message.injectable";
import writeJsonSyncInjectable from "../../common/fs/write-json-sync.injectable";
import ensureDirInjectable from "../../common/fs/ensure-dir.injectable";
import ensureDirectoryInjectable from "../../common/fs/ensure-directory.injectable";
import type { GetBasenameOfPath } from "../../common/path/get-basename.injectable";
import getBasenameOfPathInjectable from "../../common/path/get-basename.injectable";
import lensProxyCertificateInjectable from "../../common/certificate/lens-proxy-certificate.injectable";
const clusterServerUrl = "https://192.168.64.3:8443";
@ -45,7 +46,7 @@ describe("kube auth proxy tests", () => {
di.override(directoryForTempInjectable, () => "/some-directory-for-temp");
const writeJsonSync = di.inject(writeJsonSyncInjectable);
const ensureDir = di.inject(ensureDirInjectable);
const ensureDirectory = di.inject(ensureDirectoryInjectable);
getBasenameOfPath = di.inject(getBasenameOfPathInjectable);
@ -71,7 +72,13 @@ describe("kube auth proxy tests", () => {
kind: "Config",
preferences: {},
});
await ensureDir("/tmp");
await ensureDirectory("/tmp");
di.inject(lensProxyCertificateInjectable).set({
public: "<public-data>",
private: "<private-data>",
cert: "<ca-data>",
});
spawnMock = jest.fn();
di.override(spawnInjectable, () => spawnMock);

View File

@ -34,6 +34,7 @@ import pathExistsSyncInjectable from "../../../common/fs/path-exists-sync.inject
import pathExistsInjectable from "../../../common/fs/path-exists.injectable";
import readJsonSyncInjectable from "../../../common/fs/read-json-sync.injectable";
import writeJsonSyncInjectable from "../../../common/fs/write-json-sync.injectable";
import lensProxyCertificateInjectable from "../../../common/certificate/lens-proxy-certificate.injectable";
describe("kubeconfig-sync.source tests", () => {
let computeKubeconfigDiff: ComputeKubeconfigDiff;
@ -52,6 +53,12 @@ describe("kubeconfig-sync.source tests", () => {
di.override(readJsonSyncInjectable, () => () => { throw new Error("tried call readJsonSync without override"); });
di.override(writeJsonSyncInjectable, () => () => { throw new Error("tried call writeJsonSync without override"); });
di.inject(lensProxyCertificateInjectable).set({
public: "<public-data>",
private: "<private-data>",
cert: "<ca-data>",
});
clusters = new Map();
di.override(getClusterByIdInjectable, () => id => clusters.get(id));

View File

@ -11,6 +11,7 @@ import { fireEvent } from "@testing-library/react";
import React from "react";
import directoryForKubeConfigsInjectable from "../../../common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable";
import directoryForUserDataInjectable from "../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable";
import lensProxyCertificateInjectable from "../../../common/certificate/lens-proxy-certificate.injectable";
import type { Fetch } from "../../../common/fetch/fetch.injectable";
import fetchInjectable from "../../../common/fetch/fetch.injectable";
import { Namespace } from "../../../common/k8s-api/endpoints";
@ -58,6 +59,12 @@ describe("<NamespaceSelectFilter />", () => {
fetchMock = asyncFn();
di.override(fetchInjectable, () => fetchMock);
di.inject(lensProxyCertificateInjectable).set({
public: "<public-data>",
private: "<private-data>",
cert: "<ca-data>",
});
const createCluster = di.inject(createClusterInjectable);
di.override(hostedClusterInjectable, () => createCluster({