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

Improve prometheus handler tests to override less things

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-03-31 15:24:45 -04:00
parent 67da7d7f5b
commit 8639bfb17b

View File

@ -13,8 +13,8 @@ import { runInAction } from "mobx";
import prometheusHandlerInjectable from "../cluster/prometheus-handler/prometheus-handler.injectable"; import prometheusHandlerInjectable from "../cluster/prometheus-handler/prometheus-handler.injectable";
import directoryForTempInjectable from "../../common/app-paths/directory-for-temp/directory-for-temp.injectable"; import directoryForTempInjectable from "../../common/app-paths/directory-for-temp/directory-for-temp.injectable";
import lensProxyPortInjectable from "../lens-proxy/lens-proxy-port.injectable"; import lensProxyPortInjectable from "../lens-proxy/lens-proxy-port.injectable";
import loadProxyKubeconfigInjectable from "../cluster/load-proxy-kubeconfig.injectable"; import createKubeAuthProxyInjectable from "../kube-auth-proxy/create-kube-auth-proxy.injectable";
import { KubeConfig } from "@kubernetes/client-node"; import writeJsonFileInjectable from "../../common/fs/write-json-file.injectable";
enum ServiceResult { enum ServiceResult {
Success, Success,
@ -47,35 +47,46 @@ describe("PrometheusHandler", () => {
let di: DiContainer; let di: DiContainer;
let cluster: Cluster; let cluster: Cluster;
beforeEach(() => { beforeEach(async () => {
di = getDiForUnitTesting(); di = getDiForUnitTesting();
di.override(loadProxyKubeconfigInjectable, () => async () => { di.override(createKubeAuthProxyInjectable, () => () => ({
const res = new KubeConfig(); apiPrefix: "/some-api-prefix",
exit: () => {},
res.addCluster({ run: async () => {},
name: "some-cluster-name", port: 9191,
server: "http://localhost:81", }));
skipTLSVerify: false,
});
res.addContext({
cluster: "some-cluster-name",
name: "some-context-name",
user: "some-user-name",
});
res.addUser({
name: "some-user-name",
});
res.setCurrentContext("some-context-name");
return res;
});
di.override(directoryForTempInjectable, () => "/some-temp-dir"); di.override(directoryForTempInjectable, () => "/some-temp-dir");
di.inject(lensProxyPortInjectable).set(12345); di.inject(lensProxyPortInjectable).set(12345);
const writeJsonFile = di.inject(writeJsonFileInjectable);
const kubeConfigPath = "/some/path-to-a-config";
const contextName = "some-context-name";
await writeJsonFile(kubeConfigPath, {
apiVersion: "v1",
kind: "Config",
clusters: [{
name: "some-cluster-name",
cluster: {
server: "https://localhost:8989",
},
}],
users: [{
name: "some-user-name",
}],
contexts: [{
name: contextName,
context: {
user: "some-user-name",
cluster: "some-cluster-name",
},
}],
});
cluster = new Cluster({ cluster = new Cluster({
contextName: "some-context-name", contextName,
id: "some-cluster-id", id: "some-cluster-id",
kubeConfigPath: "/some/path", kubeConfigPath,
}); });
}); });