mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
fix kubeconfig-manager.test.ts
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
9add1d15e4
commit
2d3aab2179
@ -2,33 +2,6 @@
|
|||||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
const logger = {
|
|
||||||
silly: jest.fn(),
|
|
||||||
debug: jest.fn(),
|
|
||||||
log: jest.fn(),
|
|
||||||
info: jest.fn(),
|
|
||||||
error: jest.fn(),
|
|
||||||
crit: jest.fn(),
|
|
||||||
};
|
|
||||||
|
|
||||||
jest.mock("winston", () => ({
|
|
||||||
format: {
|
|
||||||
colorize: jest.fn(),
|
|
||||||
combine: jest.fn(),
|
|
||||||
simple: jest.fn(),
|
|
||||||
label: jest.fn(),
|
|
||||||
timestamp: jest.fn(),
|
|
||||||
padLevels: jest.fn(),
|
|
||||||
ms: jest.fn(),
|
|
||||||
printf: jest.fn(),
|
|
||||||
splat: jest.fn(),
|
|
||||||
},
|
|
||||||
createLogger: jest.fn().mockReturnValue(logger),
|
|
||||||
transports: {
|
|
||||||
Console: jest.fn(),
|
|
||||||
File: jest.fn(),
|
|
||||||
},
|
|
||||||
}));
|
|
||||||
|
|
||||||
import { getDiForUnitTesting } from "../getDiForUnitTesting";
|
import { getDiForUnitTesting } from "../getDiForUnitTesting";
|
||||||
import { KubeconfigManager } from "../kubeconfig-manager/kubeconfig-manager";
|
import { KubeconfigManager } from "../kubeconfig-manager/kubeconfig-manager";
|
||||||
@ -44,6 +17,8 @@ import directoryForTempInjectable from "../../common/app-paths/directory-for-tem
|
|||||||
import createContextHandlerInjectable from "../context-handler/create-context-handler.injectable";
|
import createContextHandlerInjectable from "../context-handler/create-context-handler.injectable";
|
||||||
import type { DiContainer } from "@ogre-tools/injectable";
|
import type { DiContainer } from "@ogre-tools/injectable";
|
||||||
import { parse } from "url";
|
import { parse } from "url";
|
||||||
|
import loggerInjectable from "../../common/logger.injectable";
|
||||||
|
import type { Logger } from "../../common/logger";
|
||||||
|
|
||||||
console = new Console(process.stdout, process.stderr); // fix mockFS
|
console = new Console(process.stdout, process.stderr); // fix mockFS
|
||||||
|
|
||||||
@ -51,11 +26,13 @@ describe("kubeconfig manager tests", () => {
|
|||||||
let clusterFake: Cluster;
|
let clusterFake: Cluster;
|
||||||
let createKubeconfigManager: (cluster: Cluster) => KubeconfigManager;
|
let createKubeconfigManager: (cluster: Cluster) => KubeconfigManager;
|
||||||
let di: DiContainer;
|
let di: DiContainer;
|
||||||
|
let logger: jest.Mocked<Logger>;
|
||||||
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
di = getDiForUnitTesting({ doGeneralOverrides: true });
|
||||||
|
|
||||||
di.override(directoryForTempInjectable, () => "some-directory-for-temp");
|
di.override(directoryForTempInjectable, () => "some-directory-for-temp");
|
||||||
|
logger = di.inject(loggerInjectable) as jest.Mocked<Logger>;
|
||||||
|
|
||||||
mockFs({
|
mockFs({
|
||||||
"minikube-config.yml": JSON.stringify({
|
"minikube-config.yml": JSON.stringify({
|
||||||
|
|||||||
@ -5,7 +5,9 @@
|
|||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import type { Cluster } from "../../common/cluster/cluster";
|
import type { Cluster } from "../../common/cluster/cluster";
|
||||||
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 type { KubeconfigManagerDependencies } from "./kubeconfig-manager";
|
||||||
import { KubeconfigManager } from "./kubeconfig-manager";
|
import { KubeconfigManager } from "./kubeconfig-manager";
|
||||||
|
import loggerInjectable from "../../common/logger.injectable";
|
||||||
|
|
||||||
export interface KubeConfigManagerInstantiationParameter {
|
export interface KubeConfigManagerInstantiationParameter {
|
||||||
cluster: Cluster;
|
cluster: Cluster;
|
||||||
@ -15,8 +17,9 @@ const createKubeconfigManagerInjectable = getInjectable({
|
|||||||
id: "create-kubeconfig-manager",
|
id: "create-kubeconfig-manager",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const dependencies = {
|
const dependencies: KubeconfigManagerDependencies = {
|
||||||
directoryForTemp: di.inject(directoryForTempInjectable),
|
directoryForTemp: di.inject(directoryForTempInjectable),
|
||||||
|
logger: di.inject(loggerInjectable),
|
||||||
};
|
};
|
||||||
|
|
||||||
return (cluster: Cluster) => new KubeconfigManager(dependencies, cluster);
|
return (cluster: Cluster) => new KubeconfigManager(dependencies, cluster);
|
||||||
|
|||||||
@ -13,9 +13,11 @@ import logger from "../logger";
|
|||||||
import { LensProxy } from "../lens-proxy";
|
import { LensProxy } from "../lens-proxy";
|
||||||
import { isErrnoException } from "../../common/utils";
|
import { isErrnoException } from "../../common/utils";
|
||||||
import type { PartialDeep } from "type-fest";
|
import type { PartialDeep } from "type-fest";
|
||||||
|
import type { Logger } from "../../common/logger";
|
||||||
|
|
||||||
interface Dependencies {
|
export interface KubeconfigManagerDependencies {
|
||||||
directoryForTemp: string;
|
readonly directoryForTemp: string;
|
||||||
|
readonly logger: Logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class KubeconfigManager {
|
export class KubeconfigManager {
|
||||||
@ -30,7 +32,7 @@ export class KubeconfigManager {
|
|||||||
|
|
||||||
protected readonly contextHandler: ClusterContextHandler;
|
protected readonly contextHandler: ClusterContextHandler;
|
||||||
|
|
||||||
constructor(private dependencies: Dependencies, protected cluster: Cluster) {
|
constructor(private readonly dependencies: KubeconfigManagerDependencies, protected cluster: Cluster) {
|
||||||
this.contextHandler = cluster.contextHandler;
|
this.contextHandler = cluster.contextHandler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user