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

@@ -0,0 +1,8 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import emitEventInjectable from "./emit-event.injectable";
export default getGlobalOverride(emitEventInjectable, () => () => {});
@@ -9,6 +9,7 @@ const appEventBusInjectable = getInjectable({
id: "app-event-bus",
instantiate: () => appEventBus,
causesSideEffects: true,
decorable: false,
});
export default appEventBusInjectable;
@@ -8,6 +8,7 @@ import appEventBusInjectable from "./app-event-bus.injectable";
const emitEventInjectable = getInjectable({
id: "emit-event",
instantiate: (di) => di.inject(appEventBusInjectable).emit,
decorable: false,
});
export default emitEventInjectable;
@@ -12,7 +12,7 @@ describe("kubernetesClusterCategory", () => {
let kubernetesClusterCategory: KubernetesClusterCategory;
beforeEach(() => {
const di = getDiForUnitTesting();
const di = getDiForUnitTesting({ doGeneralOverrides: true });
kubernetesClusterCategory = di.inject(kubernetesClusterCategoryInjectable);
});
+22 -9
View File
@@ -18,6 +18,7 @@ import { requestChannelListenerInjectionToken } from "./request-channel-listener
import type { AsyncFnMock } from "@async-fn/jest";
import asyncFn from "@async-fn/jest";
import { getPromiseStatus } from "../../test-utils/get-promise-status";
import { runInAction } from "mobx";
type TestMessageChannel = MessageChannel<string>;
type TestRequestChannel = RequestChannel<string, string>;
@@ -47,12 +48,16 @@ describe("channel", () => {
});
builder.beforeApplicationStart((mainDi) => {
mainDi.register(testMessageChannelInjectable);
runInAction(() => {
mainDi.register(testMessageChannelInjectable);
});
});
builder.beforeWindowStart((windowDi) => {
windowDi.register(testChannelListenerInTestWindowInjectable);
windowDi.register(testMessageChannelInjectable);
runInAction(() => {
windowDi.register(testChannelListenerInTestWindowInjectable);
windowDi.register(testMessageChannelInjectable);
});
});
mainDi = builder.mainDi;
@@ -126,12 +131,16 @@ describe("channel", () => {
});
applicationBuilder.beforeApplicationStart((mainDi) => {
mainDi.register(testChannelListenerInMainInjectable);
mainDi.register(testMessageChannelInjectable);
runInAction(() => {
mainDi.register(testChannelListenerInMainInjectable);
mainDi.register(testMessageChannelInjectable);
});
});
applicationBuilder.beforeWindowStart((windowDi) => {
windowDi.register(testMessageChannelInjectable);
runInAction(() => {
windowDi.register(testMessageChannelInjectable);
});
});
await applicationBuilder.render();
@@ -172,12 +181,16 @@ describe("channel", () => {
});
applicationBuilder.beforeApplicationStart((mainDi) => {
mainDi.register(testChannelListenerInMainInjectable);
mainDi.register(testRequestChannelInjectable);
runInAction(() => {
mainDi.register(testChannelListenerInMainInjectable);
mainDi.register(testRequestChannelInjectable);
});
});
applicationBuilder.beforeWindowStart((windowDi) => {
windowDi.register(testRequestChannelInjectable);
runInAction(() => {
windowDi.register(testRequestChannelInjectable);
});
});
await applicationBuilder.render();
+6 -2
View File
@@ -18,11 +18,15 @@ describe("sync-box", () => {
applicationBuilder = getApplicationBuilder();
applicationBuilder.beforeApplicationStart(mainDi => {
mainDi.register(someInjectable);
runInAction(() => {
mainDi.register(someInjectable);
});
});
applicationBuilder.beforeWindowStart((windowDi) => {
windowDi.register(someInjectable);
runInAction(() => {
windowDi.register(someInjectable);
});
});
});
@@ -19,7 +19,7 @@ describe("with-error-logging", () => {
let decorated: (a: string, b: string) => number | undefined;
beforeEach(() => {
const di = getDiForUnitTesting();
const di = getDiForUnitTesting({ doGeneralOverrides: true });
loggerStub = {
error: jest.fn(),
@@ -119,7 +119,7 @@ describe("with-error-logging", () => {
let toBeDecorated: AsyncFnMock<typeof decorated>;
beforeEach(() => {
const di = getDiForUnitTesting();
const di = getDiForUnitTesting({ doGeneralOverrides: true });
loggerStub = {
error: jest.fn(),