1
0
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:
Sebastian Malton 2022-04-08 15:11:28 -04:00
parent 9add1d15e4
commit 2d3aab2179
3 changed files with 13 additions and 31 deletions

View File

@ -2,33 +2,6 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* 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 { 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 type { DiContainer } from "@ogre-tools/injectable";
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
@ -51,11 +26,13 @@ describe("kubeconfig manager tests", () => {
let clusterFake: Cluster;
let createKubeconfigManager: (cluster: Cluster) => KubeconfigManager;
let di: DiContainer;
let logger: jest.Mocked<Logger>;
beforeEach(async () => {
di = getDiForUnitTesting({ doGeneralOverrides: true });
di.override(directoryForTempInjectable, () => "some-directory-for-temp");
logger = di.inject(loggerInjectable) as jest.Mocked<Logger>;
mockFs({
"minikube-config.yml": JSON.stringify({

View File

@ -5,7 +5,9 @@
import { getInjectable } from "@ogre-tools/injectable";
import type { Cluster } from "../../common/cluster/cluster";
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 loggerInjectable from "../../common/logger.injectable";
export interface KubeConfigManagerInstantiationParameter {
cluster: Cluster;
@ -15,8 +17,9 @@ const createKubeconfigManagerInjectable = getInjectable({
id: "create-kubeconfig-manager",
instantiate: (di) => {
const dependencies = {
const dependencies: KubeconfigManagerDependencies = {
directoryForTemp: di.inject(directoryForTempInjectable),
logger: di.inject(loggerInjectable),
};
return (cluster: Cluster) => new KubeconfigManager(dependencies, cluster);

View File

@ -13,9 +13,11 @@ import logger from "../logger";
import { LensProxy } from "../lens-proxy";
import { isErrnoException } from "../../common/utils";
import type { PartialDeep } from "type-fest";
import type { Logger } from "../../common/logger";
interface Dependencies {
directoryForTemp: string;
export interface KubeconfigManagerDependencies {
readonly directoryForTemp: string;
readonly logger: Logger;
}
export class KubeconfigManager {
@ -30,7 +32,7 @@ export class KubeconfigManager {
protected readonly contextHandler: ClusterContextHandler;
constructor(private dependencies: Dependencies, protected cluster: Cluster) {
constructor(private readonly dependencies: KubeconfigManagerDependencies, protected cluster: Cluster) {
this.contextHandler = cluster.contextHandler;
}