From 2d3aab217949222495872423832095b12185d624 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Fri, 8 Apr 2022 15:11:28 -0400 Subject: [PATCH] fix kubeconfig-manager.test.ts Signed-off-by: Sebastian Malton --- src/main/__test__/kubeconfig-manager.test.ts | 31 +++---------------- .../create-kubeconfig-manager.injectable.ts | 5 ++- .../kubeconfig-manager/kubeconfig-manager.ts | 8 +++-- 3 files changed, 13 insertions(+), 31 deletions(-) diff --git a/src/main/__test__/kubeconfig-manager.test.ts b/src/main/__test__/kubeconfig-manager.test.ts index 393b42c256..c7ad6e328f 100644 --- a/src/main/__test__/kubeconfig-manager.test.ts +++ b/src/main/__test__/kubeconfig-manager.test.ts @@ -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; beforeEach(async () => { di = getDiForUnitTesting({ doGeneralOverrides: true }); di.override(directoryForTempInjectable, () => "some-directory-for-temp"); + logger = di.inject(loggerInjectable) as jest.Mocked; mockFs({ "minikube-config.yml": JSON.stringify({ diff --git a/src/main/kubeconfig-manager/create-kubeconfig-manager.injectable.ts b/src/main/kubeconfig-manager/create-kubeconfig-manager.injectable.ts index fd75737555..83f24e1856 100644 --- a/src/main/kubeconfig-manager/create-kubeconfig-manager.injectable.ts +++ b/src/main/kubeconfig-manager/create-kubeconfig-manager.injectable.ts @@ -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); diff --git a/src/main/kubeconfig-manager/kubeconfig-manager.ts b/src/main/kubeconfig-manager/kubeconfig-manager.ts index 158c1b5a88..8b9303fb2d 100644 --- a/src/main/kubeconfig-manager/kubeconfig-manager.ts +++ b/src/main/kubeconfig-manager/kubeconfig-manager.ts @@ -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; }