From 65bce4e9f012d56037dd989f68b0315e002bdd6a Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sat, 10 Jan 2026 16:26:39 +0100 Subject: [PATCH] fix: ensure proper cleanup of BroadcastChannel resources in AbstractUIService tests Add service.stop() calls to all AbstractUIService tests to properly close BroadcastChannel instances. On Windows, unclosed BroadcastChannel handles can cause test freezes due to unfreed system resources. This ensures proper cleanup after each test completes. --- .../ui-services/AbstractUIService.test.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/charging-station/ui-server/ui-services/AbstractUIService.test.ts b/tests/charging-station/ui-server/ui-services/AbstractUIService.test.ts index 0b1456be..8fe59736 100644 --- a/tests/charging-station/ui-server/ui-services/AbstractUIService.test.ts +++ b/tests/charging-station/ui-server/ui-services/AbstractUIService.test.ts @@ -33,6 +33,7 @@ await describe('AbstractUIService test suite', async () => { expect(service).toBeDefined() if (service != null) { service.sendResponse(TEST_UUID, { status: ResponseStatus.SUCCESS }) + service.stop() } expect(server.hasResponseHandler(TEST_UUID)).toBe(false) @@ -61,6 +62,7 @@ await describe('AbstractUIService test suite', async () => { expect(response[1].chargingStations).toBeDefined() expect(Array.isArray(response[1].chargingStations)).toBe(true) } + service.stop() } }) @@ -89,6 +91,7 @@ await describe('AbstractUIService test suite', async () => { expect(response[1].templates).toContain('template1.json') expect(response[1].templates).toContain('template2.json') } + service.stop() } }) @@ -112,6 +115,7 @@ await describe('AbstractUIService test suite', async () => { expect(response[1].status).toBe(ResponseStatus.FAILURE) expect(response[1].errorMessage).toBeDefined() } + service.stop() } }) @@ -126,6 +130,7 @@ await describe('AbstractUIService test suite', async () => { expect(service).toBeDefined() if (service != null) { expect(service.getBroadcastChannelExpectedResponses(TEST_UUID)).toBe(0) + service.stop() } }) @@ -163,6 +168,7 @@ await describe('AbstractUIService test suite', async () => { expect(response[0]).toBe(TEST_UUID) expect(response[1].status).toBe(ResponseStatus.FAILURE) } + service.stop() } }) @@ -175,6 +181,9 @@ await describe('AbstractUIService test suite', async () => { const service = server.getUIService(ProtocolVersion['0.0.1']) expect(service).toBeDefined() + if (service != null) { + service.stop() + } }) await it('Verify multiple service registrations', () => { @@ -187,5 +196,10 @@ await describe('AbstractUIService test suite', async () => { const uiServicesMap = Reflect.get(server, 'uiServices') as Map expect(uiServicesMap.size).toBe(1) + + const service = server.getUIService(ProtocolVersion['0.0.1']) + if (service != null) { + service.stop() + } }) }) -- 2.43.0