mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Make KubeApi consume its dependencies while not breaking the extension API
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
1 parent
1ef5677d61
commit
1be1b4418f
106 files changed
+972
-316
No files matched your search
@@ -7,12 +7,14 @@ import autoRegistrationEmitterInjectable from "../../../common/k8s-api/api-manag
|
||||
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
|
||||
import { CustomResourceStore } from "../../../common/k8s-api/api-manager/resource.store";
|
||||
import type { CustomResourceDefinition } from "../../../common/k8s-api/endpoints";
|
||||
import type { KubeApiDependencies } from "../../../common/k8s-api/kube-api";
|
||||
import { KubeApi } from "../../../common/k8s-api/kube-api";
|
||||
import { KubeObject } from "../../../common/k8s-api/kube-object";
|
||||
import { beforeClusterFrameStartsSecondInjectionToken } from "../tokens";
|
||||
import type { KubeObjectStoreDependencies } from "../../../common/k8s-api/kube-object.store";
|
||||
import clusterFrameContextForNamespacedResourcesInjectable from "../../cluster-frame-context/for-namespaced-resources.injectable";
|
||||
import loggerInjectable from "../../../common/logger.injectable";
|
||||
import maybeKubeApiInjectable from "../../../common/k8s-api/maybe-kube-api.injectable";
|
||||
|
||||
const setupAutoRegistrationInjectable = getInjectable({
|
||||
id: "setup-auto-registration",
|
||||
@@ -22,7 +24,11 @@ const setupAutoRegistrationInjectable = getInjectable({
|
||||
const autoRegistrationEmitter = di.inject(autoRegistrationEmitterInjectable);
|
||||
const beforeApiManagerInitializationCrds: CustomResourceDefinition[] = [];
|
||||
const beforeApiManagerInitializationApis: KubeApi[] = [];
|
||||
const deps: KubeObjectStoreDependencies = {
|
||||
const kubeApiDependencies: KubeApiDependencies = {
|
||||
logger: di.inject(loggerInjectable),
|
||||
maybeKubeApi: di.inject(maybeKubeApiInjectable),
|
||||
};
|
||||
const kubeObjectStoreDependencies: KubeObjectStoreDependencies = {
|
||||
context: di.inject(clusterFrameContextForNamespacedResourcesInjectable),
|
||||
logger: di.inject(loggerInjectable),
|
||||
};
|
||||
@@ -42,7 +48,7 @@ const setupAutoRegistrationInjectable = getInjectable({
|
||||
return rawApi;
|
||||
}
|
||||
|
||||
const api = new KubeApi({ objectConstructor });
|
||||
const api = new KubeApi(kubeApiDependencies, { objectConstructor });
|
||||
|
||||
apiManager.registerApi(api);
|
||||
|
||||
@@ -50,7 +56,7 @@ const setupAutoRegistrationInjectable = getInjectable({
|
||||
})();
|
||||
|
||||
if (!apiManager.getStore(api)) {
|
||||
apiManager.registerStore(new CustomResourceStore(deps, api));
|
||||
apiManager.registerStore(new CustomResourceStore(kubeObjectStoreDependencies, api));
|
||||
}
|
||||
};
|
||||
const autoInitKubeApi = (api: KubeApi) => {
|
||||
|
||||
@@ -10,7 +10,7 @@ import { renderFor } from "../test-utils/renderFor";
|
||||
import { Countdown } from "./countdown";
|
||||
import React from "react";
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import { advanceFakeTime, useFakeTime } from "../../../common/test-utils/use-fake-time";
|
||||
import { advanceFakeTime, testUsingFakeTime } from "../../../common/test-utils/use-fake-time";
|
||||
import type { IComputedValue } from "mobx";
|
||||
import { observe } from "mobx";
|
||||
import { noop } from "../../../common/utils";
|
||||
@@ -20,7 +20,7 @@ describe("countdown", () => {
|
||||
let render: DiRender;
|
||||
|
||||
beforeEach(() => {
|
||||
useFakeTime("2015-10-21T07:28:00Z");
|
||||
testUsingFakeTime("2015-10-21T07:28:00Z");
|
||||
|
||||
di = createContainer("irrelevant");
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import { RenderDelay } from "../render-delay";
|
||||
import type { DiRender } from "../../test-utils/renderFor";
|
||||
import { renderFor } from "../../test-utils/renderFor";
|
||||
import { getDiForUnitTesting } from "../../../getDiForUnitTesting";
|
||||
import { advanceFakeTime, useFakeTime } from "../../../../common/test-utils/use-fake-time";
|
||||
import { advanceFakeTime, testUsingFakeTime } from "../../../../common/test-utils/use-fake-time";
|
||||
import cancelIdleCallbackInjectable from "../cancel-idle-callback.injectable";
|
||||
import requestIdleCallbackInjectable from "../request-idle-callback.injectable";
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
@@ -21,7 +21,7 @@ describe("<RenderDelay/>", () => {
|
||||
|
||||
render = renderFor(di);
|
||||
|
||||
useFakeTime("2020-01-17 12:18:19");
|
||||
testUsingFakeTime("2020-01-17 12:18:19");
|
||||
|
||||
di.override(cancelIdleCallbackInjectable, () => clearTimeout);
|
||||
di.override(requestIdleCallbackInjectable, () => (callback, opts) => setTimeout(callback, opts.timeout) as any);
|
||||
|
||||
@@ -68,6 +68,7 @@ import shouldStartHiddenInjectable from "../../../main/electron-app/features/sho
|
||||
import fsInjectable from "../../../common/fs/fs.injectable";
|
||||
import joinPathsInjectable from "../../../common/path/join-paths.injectable";
|
||||
import homeDirectoryPathInjectable from "../../../common/os/home-directory-path.injectable";
|
||||
import { testUsingFakeTime } from "../../../common/test-utils/use-fake-time";
|
||||
|
||||
type Callback = (di: DiContainer) => void | Promise<void>;
|
||||
|
||||
@@ -167,6 +168,8 @@ export const getApplicationBuilder = () => {
|
||||
mainDi.register(mainExtensionsStateInjectable);
|
||||
});
|
||||
|
||||
testUsingFakeTime();
|
||||
|
||||
const { overrideForWindow, sendToWindow } = overrideChannels(mainDi);
|
||||
|
||||
const beforeApplicationStartCallbacks: Callback[] = [];
|
||||
|
||||
@@ -23,7 +23,7 @@ import legacyOnChannelListenInjectable from "../../ipc/legacy-channel-listen.inj
|
||||
import currentRouteComponentInjectable from "../../routes/current-route-component.injectable";
|
||||
import hostedClusterIdInjectable from "../../cluster-frame-context/hosted-cluster-id.injectable";
|
||||
import hostedClusterInjectable from "../../cluster-frame-context/hosted-cluster.injectable";
|
||||
import { useFakeTime } from "../../../common/test-utils/use-fake-time";
|
||||
import { testUsingFakeTime } from "../../../common/test-utils/use-fake-time";
|
||||
import currentlyInClusterFrameInjectable from "../../routes/currently-in-cluster-frame.injectable";
|
||||
|
||||
describe("<ClusterFrame />", () => {
|
||||
@@ -47,7 +47,7 @@ describe("<ClusterFrame />", () => {
|
||||
di.override(storesAndApisCanBeCreatedInjectable, () => true);
|
||||
di.override(currentlyInClusterFrameInjectable, () => true);
|
||||
|
||||
useFakeTime("2000-01-01 12:00:00am");
|
||||
testUsingFakeTime("2000-01-01 12:00:00am");
|
||||
|
||||
const createCluster = di.inject(createClusterInjectable);
|
||||
|
||||
|
||||
Reference in new issue
Block a user