1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Remove injectable for time since we should just use useMockTime

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2022-08-19 11:28:00 -04:00
parent 3ef643190c
commit f14e603592
8 changed files with 10 additions and 59 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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,

View File

@ -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);

View File

@ -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("<ClusterFrame />", () => {
let render: () => RenderResult;
@ -45,7 +45,8 @@ describe("<ClusterFrame />", () => {
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);

View File

@ -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<string, number>();
const intervalBetweenNotifications = 1000 * 60; // 60s