From 6a0e65f7cf31ccf7a93621dae50263aedb6645b9 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 20 Dec 2024 11:09:15 +1100 Subject: [PATCH] [8.x] [Automatic Import] Fix UI validation for Integration and Datastream name (#204943) (#205020) # Backport This will backport the following commits from `main` to `8.x`: - [[Automatic Import] Fix UI validation for Integration and Datastream name (#204943)](https://github.com/elastic/kibana/pull/204943) ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) Co-authored-by: Bharat Pasupula <123897612+bhapas@users.noreply.github.com> --- .../server/integration_builder/build_integration.test.ts | 6 ------ .../server/integration_builder/build_integration.ts | 6 +++--- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/x-pack/platform/plugins/shared/integration_assistant/server/integration_builder/build_integration.test.ts b/x-pack/platform/plugins/shared/integration_assistant/server/integration_builder/build_integration.test.ts index 67cc73e4e2507..ead354ab8e288 100644 --- a/x-pack/platform/plugins/shared/integration_assistant/server/integration_builder/build_integration.test.ts +++ b/x-pack/platform/plugins/shared/integration_assistant/server/integration_builder/build_integration.test.ts @@ -292,12 +292,6 @@ describe('isValidName', () => { expect(isValidName('anotherValidName')).toBe(true); }); - it('should return false for names with numbers', () => { - expect(isValidName('invalid123')).toBe(false); - expect(isValidName('123invalid')).toBe(false); - expect(isValidName('invalid_123')).toBe(false); - }); - it('should return false for empty string', () => { expect(isValidName('')).toBe(false); }); diff --git a/x-pack/platform/plugins/shared/integration_assistant/server/integration_builder/build_integration.ts b/x-pack/platform/plugins/shared/integration_assistant/server/integration_builder/build_integration.ts index 423268f3b5b90..f98020a4699ae 100644 --- a/x-pack/platform/plugins/shared/integration_assistant/server/integration_builder/build_integration.ts +++ b/x-pack/platform/plugins/shared/integration_assistant/server/integration_builder/build_integration.ts @@ -36,7 +36,7 @@ export async function buildPackage(integration: Integration): Promise { if (!isValidName(integration.name)) { throw new Error( - `Invalid integration name: ${integration.name}, Should only contain letters and underscores` + `Invalid integration name: ${integration.name}, Should only contain letters, numbers and underscores` ); } @@ -49,7 +49,7 @@ export async function buildPackage(integration: Integration): Promise { const dataStreamName = dataStream.name; if (!isValidName(dataStreamName)) { throw new Error( - `Invalid datastream name: ${dataStreamName}, Should only contain letters and underscores` + `Invalid datastream name: ${dataStreamName}, Should only contain letters, numbers and underscores` ); } const specificDataStreamDir = joinPath(dataStreamsDir, dataStreamName); @@ -77,7 +77,7 @@ export async function buildPackage(integration: Integration): Promise { return zipBuffer; } export function isValidName(input: string): boolean { - const regex = /^[a-zA-Z_]+$/; + const regex = /^[a-zA-Z0-9_]+$/; return input.length > 0 && regex.test(input); } function createDirectories(