Fix UUID validation regexp
authorJérôme Benoit <jerome.benoit@sap.com>
Tue, 25 Oct 2022 23:27:39 +0000 (01:27 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Tue, 25 Oct 2022 23:27:39 +0000 (01:27 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/utils/Utils.ts
test/utils/UtilsTest.ts

index 719200fa93e40999d71b6553469ec4f98498ec6e..bc957c24a497ce38e5d02da80b1e7d3931bdf027 100644 (file)
@@ -16,7 +16,9 @@ export default class Utils {
   }
 
   public static validateUUID(uuid: string): boolean {
-    return /\/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$\/i/.test(uuid);
+    return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(
+      uuid
+    );
   }
 
   public static async sleep(milliSeconds: number): Promise<NodeJS.Timeout> {
index c431642e2f190600129afed6cc620b99c1b768ec..9e882cc5e63a3dd4969bd86967acdb48a4e3e41f 100644 (file)
@@ -3,6 +3,12 @@ import expect from 'expect';
 import Utils from '../../src/utils/Utils';
 
 describe('Utils test suite', () => {
+  it('Verify generateUUID()/validateUUID()', () => {
+    const uuid = Utils.generateUUID();
+    expect(uuid.length).toEqual(36);
+    expect(Utils.validateUUID(uuid)).toBe(true);
+  });
+
   it('Verify secureRandom()', () => {
     const random = Utils.secureRandom();
     expect(typeof random === 'number').toBe(true);