1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/core/src/renderer/logger/close-renderer-log-file-id.test.ts
Sami Tiilikainen dcdba45f28 Update messaging to work with new base
Signed-off-by: Sami Tiilikainen <97873007+samitiilikainen@users.noreply.github.com>
2023-04-03 16:11:11 +03:00

46 lines
1.7 KiB
TypeScript

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import type winston from "winston";
import type { SendMessageToChannel } from "@k8slens/messaging";
import { sendMessageToChannelInjectionToken } from "@k8slens/messaging";
import type { DiContainer } from "@ogre-tools/injectable";
import winstonLoggerInjectable from "../../common/winston-logger.injectable";
import { getDiForUnitTesting } from "../getDiForUnitTesting";
import closeRendererLogFileInjectable from "./close-renderer-log-file.injectable";
import rendererLogFileIdInjectable from "./renderer-log-file-id.injectable";
import ipcLogTransportInjectable from "./ipc-transport.injectable";
import type IpcLogTransport from "./ipc-transport";
describe("close renderer file logging", () => {
let di: DiContainer;
let sendIpcMock: SendMessageToChannel;
let winstonMock: winston.Logger;
let ipcTransportMock: IpcLogTransport;
beforeEach(() => {
di = getDiForUnitTesting();
sendIpcMock = jest.fn();
winstonMock = {
remove: jest.fn(),
} as any as winston.Logger;
ipcTransportMock = { name: "ipc-renderer-transport" } as IpcLogTransport;
di.override(winstonLoggerInjectable, () => winstonMock);
di.override(sendMessageToChannelInjectionToken, () => sendIpcMock);
di.override(rendererLogFileIdInjectable, () => "some-log-id");
di.override(ipcLogTransportInjectable, () => ipcTransportMock);
});
it("removes the transport to prevent further logging to closed file", () => {
const closeLog = di.inject(closeRendererLogFileInjectable);
closeLog();
expect(winstonMock.remove).toHaveBeenCalledWith({
name: "ipc-renderer-transport",
});
});
});