Skip to content

Commit a71ed16

Browse files
committed
Loosen UUID regex to accept uuidv1 or uuidv4 (#85338)
1 parent 2a37c7d commit a71ed16

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/schema.test.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66

77
import { validateSingleAction, validateRuleActionsField } from './schema';
8-
import { isUuidv4, getActionTypeName, validateMustache, validateActionParams } from './utils';
8+
import { isUuid, getActionTypeName, validateMustache, validateActionParams } from './utils';
99
import { actionTypeRegistryMock } from '../../../../../../triggers_actions_ui/public/application/action_type_registry.mock';
1010
import { FormHook } from '../../../../shared_imports';
1111
jest.mock('./utils');
@@ -15,7 +15,7 @@ describe('stepRuleActions schema', () => {
1515

1616
describe('validateSingleAction', () => {
1717
it('should validate single action', () => {
18-
(isUuidv4 as jest.Mock).mockReturnValue(true);
18+
(isUuid as jest.Mock).mockReturnValue(true);
1919
(validateActionParams as jest.Mock).mockReturnValue([]);
2020
(validateMustache as jest.Mock).mockReturnValue([]);
2121

@@ -33,7 +33,7 @@ describe('stepRuleActions schema', () => {
3333
});
3434

3535
it('should validate single action with invalid mustache template', () => {
36-
(isUuidv4 as jest.Mock).mockReturnValue(true);
36+
(isUuid as jest.Mock).mockReturnValue(true);
3737
(validateActionParams as jest.Mock).mockReturnValue([]);
3838
(validateMustache as jest.Mock).mockReturnValue(['Message is not valid mustache template']);
3939

@@ -54,7 +54,7 @@ describe('stepRuleActions schema', () => {
5454
});
5555

5656
it('should validate single action with incorrect id', () => {
57-
(isUuidv4 as jest.Mock).mockReturnValue(false);
57+
(isUuid as jest.Mock).mockReturnValue(false);
5858
(validateMustache as jest.Mock).mockReturnValue([]);
5959
(validateActionParams as jest.Mock).mockReturnValue([]);
6060

@@ -117,9 +117,9 @@ describe('stepRuleActions schema', () => {
117117
});
118118

119119
it('should validate multiple incorrect rule actions field', () => {
120-
(isUuidv4 as jest.Mock).mockReturnValueOnce(false);
120+
(isUuid as jest.Mock).mockReturnValueOnce(false);
121121
(getActionTypeName as jest.Mock).mockReturnValueOnce('Slack');
122-
(isUuidv4 as jest.Mock).mockReturnValueOnce(true);
122+
(isUuid as jest.Mock).mockReturnValueOnce(true);
123123
(getActionTypeName as jest.Mock).mockReturnValueOnce('Pagerduty');
124124
(validateActionParams as jest.Mock).mockReturnValue(['Summary is required']);
125125
(validateMustache as jest.Mock).mockReturnValue(['Component is not valid mustache template']);

x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/schema.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ import {
1515
import { FormSchema, ValidationFunc, ERROR_CODE } from '../../../../shared_imports';
1616
import { ActionsStepRule } from '../../../pages/detection_engine/rules/types';
1717
import * as I18n from './translations';
18-
import { isUuidv4, getActionTypeName, validateMustache, validateActionParams } from './utils';
18+
import { isUuid, getActionTypeName, validateMustache, validateActionParams } from './utils';
1919

2020
export const validateSingleAction = (
2121
actionItem: AlertAction,
2222
actionTypeRegistry: ActionTypeRegistryContract
2323
): string[] => {
24-
if (!isUuidv4(actionItem.id)) {
24+
if (!isUuid(actionItem.id)) {
2525
return [I18n.NO_CONNECTOR_SELECTED];
2626
}
2727

x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/utils.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
*/
66

77
import { actionTypeRegistryMock } from '../../../../../../triggers_actions_ui/public/application/action_type_registry.mock';
8-
import { isUuidv4, getActionTypeName, validateMustache, validateActionParams } from './utils';
8+
import { isUuid, getActionTypeName, validateMustache, validateActionParams } from './utils';
99

1010
describe('stepRuleActions utils', () => {
1111
describe('isUuidv4', () => {
1212
it('should validate proper uuid v4 value', () => {
13-
expect(isUuidv4('817b8bca-91d1-4729-8ee1-3a83aaafd9d4')).toEqual(true);
13+
expect(isUuid('817b8bca-91d1-4729-8ee1-3a83aaafd9d4')).toEqual(true);
1414
});
1515

1616
it('should validate incorrect uuid v4 value', () => {
17-
expect(isUuidv4('ad9d4')).toEqual(false);
17+
expect(isUuid('ad9d4')).toEqual(false);
1818
});
1919
});
2020

x-pack/plugins/security_solution/public/detections/components/rules/step_rule_actions/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ import {
1313
} from '../../../../../../triggers_actions_ui/public';
1414
import * as I18n from './translations';
1515

16-
const UUID_V4_REGEX = /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i;
16+
const UUID_REGEX = /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i;
1717

18-
export const isUuidv4 = (id: AlertAction['id']) => !!id.match(UUID_V4_REGEX);
18+
export const isUuid = (id: AlertAction['id']) => !!id.match(UUID_REGEX);
1919

2020
export const getActionTypeName = (actionTypeId: AlertAction['actionTypeId']) => {
2121
if (!actionTypeId) return '';

0 commit comments

Comments
 (0)