Introduce a centralised way to emit telemetry from calls of injectable functions (#6164)

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Juho Heikka <juho.heikka@gmail.com>
This commit is contained in:
authored and GitHub committed 2022-09-02 09:33:22 -04:00
1 parent 60b538eec1
commit fc3512daf2
43 files changed
+527 -163

No files matched your search

@@ -10,7 +10,7 @@ import type { KubernetesCluster } from "../../../../common/catalog-entities";
import { getApplicationBuilder } from "../../../../renderer/components/test-utils/get-application-builder";
import { getInjectable } from "@ogre-tools/injectable";
import { frontEndRouteInjectionToken } from "../../../../common/front-end-routing/front-end-route-injection-token";
import { computed } from "mobx";
import { computed, runInAction } from "mobx";
import React from "react";
import { navigateToRouteInjectionToken } from "../../../../common/front-end-routing/navigate-to-route-injection-token";
import { routeSpecificComponentInjectionToken } from "../../../../renderer/routes/route-specific-component-injection-token";
@@ -45,7 +45,9 @@ describe("disable kube object detail items when cluster is not relevant", () =>
windowDi.unoverride(extensionShouldBeEnabledForClusterFrameInjectable);
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
runInAction(() => {
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
});
});
isEnabledForClusterMock = asyncFn();
@@ -39,7 +39,9 @@ describe("reactively hide kube object detail item", () => {
} as unknown as ApiManager),
);
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
runInAction(() => {
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
});
});
someObservable = observable.box(false);
@@ -10,7 +10,7 @@ import type { KubernetesCluster } from "../../../../common/catalog-entities";
import { getApplicationBuilder } from "../../../../renderer/components/test-utils/get-application-builder";
import { getInjectable } from "@ogre-tools/injectable";
import { frontEndRouteInjectionToken } from "../../../../common/front-end-routing/front-end-route-injection-token";
import { computed } from "mobx";
import { computed, runInAction } from "mobx";
import React from "react";
import { navigateToRouteInjectionToken } from "../../../../common/front-end-routing/navigate-to-route-injection-token";
import { routeSpecificComponentInjectionToken } from "../../../../renderer/routes/route-specific-component-injection-token";
@@ -32,7 +32,10 @@ describe("disable kube object menu items when cluster is not relevant", () => {
builder.beforeWindowStart((windowDi) => {
windowDi.unoverride(extensionShouldBeEnabledForClusterFrameInjectable);
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
runInAction(() => {
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
});
});
isEnabledForClusterMock = asyncFn();
@@ -26,7 +26,9 @@ describe("reactively hide kube object menu item", () => {
builder.setEnvironmentToClusterFrame();
builder.beforeWindowStart((windowDi) => {
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
runInAction(() => {
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
});
});
someObservable = observable.box(false);
@@ -10,7 +10,7 @@ import type { KubernetesCluster } from "../../../../common/catalog-entities";
import { getApplicationBuilder } from "../../../../renderer/components/test-utils/get-application-builder";
import { getInjectable } from "@ogre-tools/injectable";
import { frontEndRouteInjectionToken } from "../../../../common/front-end-routing/front-end-route-injection-token";
import { computed } from "mobx";
import { computed, runInAction } from "mobx";
import React from "react";
import { navigateToRouteInjectionToken } from "../../../../common/front-end-routing/navigate-to-route-injection-token";
import { routeSpecificComponentInjectionToken } from "../../../../renderer/routes/route-specific-component-injection-token";
@@ -33,7 +33,10 @@ describe("disable kube object statuses when cluster is not relevant", () => {
builder.beforeWindowStart((windowDi) => {
windowDi.unoverride(extensionShouldBeEnabledForClusterFrameInjectable);
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
runInAction(() => {
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
});
});
isEnabledForClusterMock = asyncFn();
@@ -29,7 +29,10 @@ describe("reactively hide kube object status", () => {
builder.beforeWindowStart((windowDi) => {
windowDi.unoverride(extensionShouldBeEnabledForClusterFrameInjectable);
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
runInAction(() => {
windowDi.register(testRouteInjectable, testRouteComponentInjectable);
});
});
someObservable = observable.box(false);
@@ -9,7 +9,7 @@ import { useFakeTime } from "../../../common/test-utils/use-fake-time";
import type { DiContainer } from "@ogre-tools/injectable";
import { getInjectable } from "@ogre-tools/injectable";
import type { IAtom } from "mobx";
import { createAtom, computed } from "mobx";
import { runInAction, createAtom, computed } from "mobx";
import { frontEndRouteInjectionToken } from "../../../common/front-end-routing/front-end-route-injection-token";
import { routeSpecificComponentInjectionToken } from "../../../renderer/routes/route-specific-component-injection-token";
import type { ApplicationBuilder } from "../../../renderer/components/test-utils/get-application-builder";
@@ -94,14 +94,17 @@ describe("show status for a kube object", () => {
});
builder.beforeWindowStart((windowDi) => {
windowDi.register(
testRouteInjectable,
testRouteComponentInjectable,
infoStatusInjectable,
warningStatusInjectable,
criticalStatusInjectable,
someAtomInjectable,
);
runInAction(() => {
windowDi.register(
testRouteInjectable,
testRouteComponentInjectable,
infoStatusInjectable,
warningStatusInjectable,
criticalStatusInjectable,
someAtomInjectable,
);
});
});
builder.setEnvironmentToClusterFrame();
@@ -141,7 +144,9 @@ describe("show status for a kube object", () => {
describe("when status for irrelevant kube object kind emerges", () => {
beforeEach(() => {
windowDi.register(statusForIrrelevantKubeObjectKindInjectable);
runInAction(() => {
windowDi.register(statusForIrrelevantKubeObjectKindInjectable);
});
rerenderParent();
});
@@ -161,7 +166,9 @@ describe("show status for a kube object", () => {
describe("when status for irrelevant kube object api version emerges", () => {
beforeEach(() => {
windowDi.register(statusForIrrelevantKubeObjectApiVersionInjectable);
runInAction(() => {
windowDi.register(statusForIrrelevantKubeObjectApiVersionInjectable);
});
rerenderParent();
});
@@ -7,7 +7,7 @@ import type { RenderResult } from "@testing-library/react";
import { fireEvent } from "@testing-library/react";
import type { SidebarItemRegistration } from "../../renderer/components/layout/sidebar-items.injectable";
import { sidebarItemsInjectionToken } from "../../renderer/components/layout/sidebar-items.injectable";
import { computed } from "mobx";
import { computed, runInAction } from "mobx";
import { noop } from "lodash/fp";
import type { ApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
import { getApplicationBuilder } from "../../renderer/components/test-utils/get-application-builder";
@@ -22,7 +22,9 @@ describe("cluster - order of sidebar items", () => {
builder.setEnvironmentToClusterFrame();
builder.beforeWindowStart((windowDi) => {
windowDi.register(testSidebarItemsInjectable);
runInAction(() => {
windowDi.register(testSidebarItemsInjectable);
});
});
});
@@ -11,7 +11,7 @@ import directoryForLensLocalStorageInjectable from "../../common/directory-for-l
import { routeSpecificComponentInjectionToken } from "../../renderer/routes/route-specific-component-injection-token";
import type { SidebarItemRegistration } from "../../renderer/components/layout/sidebar-items.injectable";
import { sidebarItemsInjectionToken } from "../../renderer/components/layout/sidebar-items.injectable";
import { computed } from "mobx";
import { computed, runInAction } from "mobx";
import { noop } from "lodash/fp";
import routeIsActiveInjectable from "../../renderer/routes/route-is-active.injectable";
import { frontEndRouteInjectionToken } from "../../common/front-end-routing/front-end-route-injection-token";
@@ -51,9 +51,11 @@ describe("cluster - sidebar and tab navigation for core", () => {
describe("given core registrations", () => {
beforeEach(() => {
builder.beforeWindowStart((windowDi) => {
windowDi.register(testRouteInjectable);
windowDi.register(testRouteComponentInjectable);
windowDi.register(testSidebarItemsInjectable);
runInAction(() => {
windowDi.register(testRouteInjectable);
windowDi.register(testRouteComponentInjectable);
windowDi.register(testSidebarItemsInjectable);
});
});
});
@@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import type { RenderResult } from "@testing-library/react";
import type { SidebarItemRegistration } from "../../renderer/components/layout/sidebar-items.injectable";
import { sidebarItemsInjectionToken } from "../../renderer/components/layout/sidebar-items.injectable";
import { computed } from "mobx";
import { computed, runInAction } from "mobx";
import { routeSpecificComponentInjectionToken } from "../../renderer/routes/route-specific-component-injection-token";
import React from "react";
import isAllowedResourceInjectable from "../../common/utils/is-allowed-resource.injectable";
@@ -25,9 +25,11 @@ describe("cluster - visibility of sidebar items", () => {
builder.setEnvironmentToClusterFrame();
builder.beforeWindowStart((windowDi) => {
windowDi.register(testRouteInjectable);
windowDi.register(testRouteComponentInjectable);
windowDi.register(testSidebarItemsInjectable);
runInAction(() => {
windowDi.register(testRouteInjectable);
windowDi.register(testRouteComponentInjectable);
windowDi.register(testSidebarItemsInjectable);
});
});
});
@@ -8,7 +8,7 @@ import React from "react";
import getRandomIdInjectable from "../../../../../common/utils/get-random-id.injectable";
import { workloadOverviewDetailInjectionToken } from "../../../../../renderer/components/+workloads-overview/workload-overview-details/workload-overview-detail-injection-token";
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import { computed, runInAction } from "mobx";
describe("order of workload overview details", () => {
let rendered: RenderResult;
@@ -20,11 +20,13 @@ describe("order of workload overview details", () => {
windowDi.unoverride(getRandomIdInjectable);
windowDi.permitSideEffects(getRandomIdInjectable);
windowDi.register(
someCoreItemWithLowOrderNumberInjectable,
someCoreItemWithHighOrderNumberInjectable,
someCoreItemWithDefaultOrderNumberInjectable,
);
runInAction(() => {
windowDi.register(
someCoreItemWithLowOrderNumberInjectable,
someCoreItemWithHighOrderNumberInjectable,
someCoreItemWithDefaultOrderNumberInjectable,
);
});
});
builder.setEnvironmentToClusterFrame();