From f14e60359237cbb6cc66e3c4cbdcf526b1ed2aea Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Fri, 19 Aug 2022 11:28:00 -0400 Subject: [PATCH] Remove injectable for time since we should just use useMockTime Signed-off-by: Sebastian Malton --- .../metrics.api/request-metrics.injectable.ts | 3 +-- .../utils/date/get-current-date-time.ts | 4 ++++ ...milliseconds-from-unix-epoch.injectable.ts | 13 ------------ .../get-seconds-from-unix-epoch.injectable.ts | 17 --------------- .../to-helm-release.injectable.ts | 3 +-- .../test-utils/get-application-builder.tsx | 21 ------------------- .../cluster-frame/cluster-frame.test.tsx | 5 +++-- ...amespaces-forbidden-handler.injectable.tsx | 3 +-- 8 files changed, 10 insertions(+), 59 deletions(-) delete mode 100644 src/common/utils/date/get-milliseconds-from-unix-epoch.injectable.ts delete mode 100644 src/common/utils/date/get-seconds-from-unix-epoch.injectable.ts diff --git a/src/common/k8s-api/endpoints/metrics.api/request-metrics.injectable.ts b/src/common/k8s-api/endpoints/metrics.api/request-metrics.injectable.ts index 946d1e3dda..0da0bc95ec 100644 --- a/src/common/k8s-api/endpoints/metrics.api/request-metrics.injectable.ts +++ b/src/common/k8s-api/endpoints/metrics.api/request-metrics.injectable.ts @@ -3,7 +3,7 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import getSecondsFromUnixEpochInjectable from "../../../utils/date/get-seconds-from-unix-epoch.injectable"; +import { getSecondsFromUnixEpoch } from "../../../utils/date/get-current-date-time"; import { apiBaseInjectionToken } from "../../api-base"; import type { MetricData } from "../metrics.api"; @@ -47,7 +47,6 @@ const requestMetricsInjectable = getInjectable({ id: "request-metrics", instantiate: (di) => { const apiBase = di.inject(apiBaseInjectionToken); - const getSecondsFromUnixEpoch = di.inject(getSecondsFromUnixEpochInjectable); return (async (query: object, params: RequestMetricsParams = {}) => { const { range = 3600, step = 60, namespace } = params; diff --git a/src/common/utils/date/get-current-date-time.ts b/src/common/utils/date/get-current-date-time.ts index bf3df2bd78..aa4d5e7fa3 100644 --- a/src/common/utils/date/get-current-date-time.ts +++ b/src/common/utils/date/get-current-date-time.ts @@ -5,3 +5,7 @@ import moment from "moment"; export const getCurrentDateTime = () => moment().utc().format(); + +export const getMillisecondsFromUnixEpoch = () => Date.now(); + +export const getSecondsFromUnixEpoch = () => Math.floor(getMillisecondsFromUnixEpoch() / 1000); diff --git a/src/common/utils/date/get-milliseconds-from-unix-epoch.injectable.ts b/src/common/utils/date/get-milliseconds-from-unix-epoch.injectable.ts deleted file mode 100644 index 69a839ec65..0000000000 --- a/src/common/utils/date/get-milliseconds-from-unix-epoch.injectable.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; - -const getMillisecondsFromUnixEpochInjectable = getInjectable({ - id: "get-milliseconds-from-unix-epoch", - instantiate: () => () => Date.now(), - causesSideEffects: true, -}); - -export default getMillisecondsFromUnixEpochInjectable; diff --git a/src/common/utils/date/get-seconds-from-unix-epoch.injectable.ts b/src/common/utils/date/get-seconds-from-unix-epoch.injectable.ts deleted file mode 100644 index 35a077c3f2..0000000000 --- a/src/common/utils/date/get-seconds-from-unix-epoch.injectable.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -import { getInjectable } from "@ogre-tools/injectable"; -import getMillisecondsFromUnixEpochInjectable from "./get-milliseconds-from-unix-epoch.injectable"; - -const getSecondsFromUnixEpochInjectable = getInjectable({ - id: "get-seconds-from-unix-epoch", - instantiate: (di) => { - const getMilisecondsFromUnixEpoch = di.inject(getMillisecondsFromUnixEpochInjectable); - - return () => Math.floor(getMilisecondsFromUnixEpoch() / 1000); - }, -}); - -export default getSecondsFromUnixEpochInjectable; diff --git a/src/renderer/components/+helm-releases/to-helm-release.injectable.ts b/src/renderer/components/+helm-releases/to-helm-release.injectable.ts index c47b58c538..d8b27625e6 100644 --- a/src/renderer/components/+helm-releases/to-helm-release.injectable.ts +++ b/src/renderer/components/+helm-releases/to-helm-release.injectable.ts @@ -7,7 +7,7 @@ import { capitalize } from "lodash"; import { when } from "mobx"; import helmChartVersionsInjectable from "../+helm-charts/helm-charts/versions.injectable"; import type { HelmRelease, HelmReleaseDto } from "../../../common/k8s-api/endpoints/helm-releases.api"; -import getMillisecondsFromUnixEpochInjectable from "../../../common/utils/date/get-milliseconds-from-unix-epoch.injectable"; +import { getMillisecondsFromUnixEpoch } from "../../../common/utils/date/get-current-date-time"; import { formatDuration } from "../../utils"; export type ToHelmRelease = (release: HelmReleaseDto) => HelmRelease; @@ -16,7 +16,6 @@ const toHelmReleaseInjectable = getInjectable({ id: "to-helm-release", instantiate: (di): ToHelmRelease => { const helmChartVersions = (release: HelmRelease) => di.inject(helmChartVersionsInjectable, release); - const getMillisecondsFromUnixEpoch = di.inject(getMillisecondsFromUnixEpochInjectable); return (release) => ({ ...release, diff --git a/src/renderer/components/test-utils/get-application-builder.tsx b/src/renderer/components/test-utils/get-application-builder.tsx index 652b13889f..91a4b45394 100644 --- a/src/renderer/components/test-utils/get-application-builder.tsx +++ b/src/renderer/components/test-utils/get-application-builder.tsx @@ -57,7 +57,6 @@ import activeKubernetesClusterInjectable from "../../cluster-frame-context/activ import { catalogEntityFromCluster } from "../../../main/cluster/manager"; import namespaceStoreInjectable from "../+namespaces/store.injectable"; import { isAllowedResource } from "../../../common/cluster/is-allowed-resource"; -import getMillisecondsFromUnixEpochInjectable from "../../../common/utils/date/get-milliseconds-from-unix-epoch.injectable"; import createApplicationWindowInjectable from "../../../main/start-main-application/lens-window/application-window/create-application-window.injectable"; import type { CreateElectronWindow } from "../../../main/start-main-application/lens-window/application-window/create-electron-window.injectable"; import createElectronWindowInjectable from "../../../main/start-main-application/lens-window/application-window/create-electron-window.injectable"; @@ -113,12 +112,6 @@ export interface ApplicationBuilder { applicationMenu: { click: (path: string) => void; }; - time: { - advanceBy: { - seconds: (value: number) => void; - milliseconds: (value: number) => void; - }; - }; preferences: { close: () => void; navigate: () => void; @@ -195,7 +188,6 @@ export const getApplicationBuilder = () => { runInAction(() => { windowDi.register(rendererExtensionsStateInjectable); }); - windowDi.override(getMillisecondsFromUnixEpochInjectable, () => () => currentTimeMs); windowDi.override( currentlyInClusterFrameInjectable, @@ -251,22 +243,9 @@ export const getApplicationBuilder = () => { mainDi.override(createElectronWindowInjectable, () => createElectronWindowFake); let applicationHasStarted = false; - let currentTimeMs = Date.parse("2000-01-01 12:00:00am"); - - mainDi.override(getMillisecondsFromUnixEpochInjectable, () => () => currentTimeMs); const builder: ApplicationBuilder = { mainDi, - time: { - advanceBy: { - milliseconds: (value) => { - currentTimeMs += value; - }, - seconds: (value) => { - currentTimeMs += (value * 1000); - }, - }, - }, applicationWindow: { closeAll: () => { const closeAll = mainDi.inject(closeAllWindowsInjectable); diff --git a/src/renderer/frames/cluster-frame/cluster-frame.test.tsx b/src/renderer/frames/cluster-frame/cluster-frame.test.tsx index 3308f3871f..bee7d3a415 100644 --- a/src/renderer/frames/cluster-frame/cluster-frame.test.tsx +++ b/src/renderer/frames/cluster-frame/cluster-frame.test.tsx @@ -24,7 +24,7 @@ import currentRouteComponentInjectable from "../../routes/current-route-componen import allowedResourcesInjectable from "../../cluster-frame-context/allowed-resources.injectable"; import hostedClusterIdInjectable from "../../cluster-frame-context/hosted-cluster-id.injectable"; import hostedClusterInjectable from "../../cluster-frame-context/hosted-cluster.injectable"; -import getMillisecondsFromUnixEpochInjectable from "../../../common/utils/date/get-milliseconds-from-unix-epoch.injectable"; +import { useFakeTime } from "../../../common/test-utils/use-fake-time"; describe("", () => { let render: () => RenderResult; @@ -45,7 +45,8 @@ describe("", () => { di.override(legacyOnChannelListenInjectable, () => jest.fn().mockImplementation(() => jest.fn())); di.override(directoryForUserDataInjectable, () => "/some/irrelavent/path"); di.override(storesAndApisCanBeCreatedInjectable, () => true); - di.override(getMillisecondsFromUnixEpochInjectable, () => () => Date.parse("2000-01-01 12:00:00am")); + + useFakeTime("2000-01-01 12:00:00am"); const createCluster = di.inject(createClusterInjectable); diff --git a/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.tsx b/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.tsx index 9129a014db..6ee14d7857 100644 --- a/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.tsx +++ b/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.tsx @@ -11,7 +11,7 @@ import { Button } from "../components/button"; import type { IpcRendererEvent } from "electron"; import React from "react"; import notificationsStoreInjectable from "../components/notifications/notifications-store.injectable"; -import getMillisecondsFromUnixEpochInjectable from "../../common/utils/date/get-milliseconds-from-unix-epoch.injectable"; +import { getMillisecondsFromUnixEpoch } from "../../common/utils/date/get-current-date-time"; const listNamespacesForbiddenHandlerInjectable = getInjectable({ id: "list-namespaces-forbidden-handler", @@ -19,7 +19,6 @@ const listNamespacesForbiddenHandlerInjectable = getInjectable({ instantiate: (di) => { const navigateToEntitySettings = di.inject(navigateToEntitySettingsInjectable); const notificationsStore = di.inject(notificationsStoreInjectable); - const getMillisecondsFromUnixEpoch = di.inject(getMillisecondsFromUnixEpochInjectable); const notificationLastDisplayedAt = new Map(); const intervalBetweenNotifications = 1000 * 60; // 60s