From 6efff79d72a808ebd295ed38fa1624f898e599bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Mon, 7 Jul 2025 10:55:40 +0200 Subject: [PATCH] perf(core): Eliminate unnecessary license server calls (#17047) --- .../cli/src/license/__tests__/license.service.test.ts | 9 +++++++++ packages/cli/src/license/license.service.ts | 2 ++ packages/cli/test/integration/license.api.test.ts | 1 + 3 files changed, 12 insertions(+) diff --git a/packages/cli/src/license/__tests__/license.service.test.ts b/packages/cli/src/license/__tests__/license.service.test.ts index 895861ce86..f1894e8fbf 100644 --- a/packages/cli/src/license/__tests__/license.service.test.ts +++ b/packages/cli/src/license/__tests__/license.service.test.ts @@ -76,6 +76,15 @@ describe('LicenseService', () => { }); describe('renewLicense', () => { + test('should skip renewal for unlicensed user (Community plan)', async () => { + license.getPlanName.mockReturnValueOnce('Community'); + + await licenseService.renewLicense(); + + expect(license.renew).not.toHaveBeenCalled(); + expect(eventService.emit).not.toHaveBeenCalled(); + }); + test('on success', async () => { license.renew.mockResolvedValueOnce(); await licenseService.renewLicense(); diff --git a/packages/cli/src/license/license.service.ts b/packages/cli/src/license/license.service.ts index 97bc9a3bdc..7f2ebbc37f 100644 --- a/packages/cli/src/license/license.service.ts +++ b/packages/cli/src/license/license.service.ts @@ -120,6 +120,8 @@ export class LicenseService { } async renewLicense() { + if (this.license.getPlanName() === 'Community') return; // unlicensed, nothing to renew + try { await this.license.renew(); } catch (e) { diff --git a/packages/cli/test/integration/license.api.test.ts b/packages/cli/test/integration/license.api.test.ts index 3d044c4f85..357ef5fed7 100644 --- a/packages/cli/test/integration/license.api.test.ts +++ b/packages/cli/test/integration/license.api.test.ts @@ -101,6 +101,7 @@ describe('POST /license/renew', () => { }); test('errors out properly', async () => { + License.prototype.getPlanName = jest.fn().mockReturnValue('Enterprise'); License.prototype.renew = jest.fn().mockImplementation(() => { throw new Error(GENERIC_ERROR_MESSAGE); });