From d9b06388d14ba974f34c7f2412c999acf2f99e4b Mon Sep 17 00:00:00 2001 From: gagik Date: Mon, 30 Jun 2025 09:33:16 +0200 Subject: [PATCH] test: add corner case for the telemetry event --- tests/unit/telemetry.test.ts | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/tests/unit/telemetry.test.ts b/tests/unit/telemetry.test.ts index 3e27f9eb..c2b6aeb6 100644 --- a/tests/unit/telemetry.test.ts +++ b/tests/unit/telemetry.test.ts @@ -367,4 +367,52 @@ describe("Telemetry", () => { }); }); }); + + describe("corner cases", () => { + it("this works", function () { + jest.useRealTimers(); + const testEvent = createTestEvent(); + const telemetry = Telemetry.create(session, config, { + ...telemetryConfig, + getRawMachineId: () => + new Promise((resolve) => { + setTimeout(() => { + resolve("machineId"); + }, 100); + }), + getContainerEnv: () => + new Promise((resolve) => { + setTimeout(() => { + resolve(false); + }, 100); + }), + }); + + console.log("doing 1..."); + telemetry.emitEvents([testEvent]); + }); + + it("this leads to out of memory error", function () { + jest.useRealTimers(); + const testEvent = createTestEvent(); + const telemetry = Telemetry.create(session, config, { + ...telemetryConfig, + getRawMachineId: () => + new Promise((resolve) => { + setTimeout(() => { + resolve("machineId"); + }, 100); + }), + getContainerEnv: () => + new Promise((resolve) => { + setTimeout(() => { + resolve(false); + }, 100); + }), + }); + + telemetry.emitEvents([testEvent]); + telemetry.emitEvents([testEvent]); + }); + }); });