From dd46c6cc12ebb9532c3439ce205ef8498dc01f75 Mon Sep 17 00:00:00 2001 From: Jason Rhodes Date: Thu, 26 Mar 2026 13:01:11 -0400 Subject: [PATCH] [Alerting v2] Lower MIN_SCHEDULE_INTERVAL from 1m to 5s #258526 introduced a 1m minimum for schedule.every which broke the Scout episode_lifecycle tests that use a 5s interval. Lower the floor to 5s so existing tests (and short-interval rules) remain valid. Removes one redundant "cross-unit" test case that no longer applies at the 5s boundary. Made-with: Cursor --- .../alerting-v2-schemas/src/constants.ts | 2 +- .../src/rule_data_schema.test.ts | 21 ++++++------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/x-pack/platform/packages/shared/response-ops/alerting-v2-schemas/src/constants.ts b/x-pack/platform/packages/shared/response-ops/alerting-v2-schemas/src/constants.ts index 495bd5f4f949e..5fed3e323295d 100644 --- a/x-pack/platform/packages/shared/response-ops/alerting-v2-schemas/src/constants.ts +++ b/x-pack/platform/packages/shared/response-ops/alerting-v2-schemas/src/constants.ts @@ -12,4 +12,4 @@ export const MAX_CONSECUTIVE_BREACHES = 1000; export const MAX_DURATION = '365d'; /** Minimum allowed interval for schedule.every */ -export const MIN_SCHEDULE_INTERVAL = '1m'; +export const MIN_SCHEDULE_INTERVAL = '5s'; diff --git a/x-pack/platform/packages/shared/response-ops/alerting-v2-schemas/src/rule_data_schema.test.ts b/x-pack/platform/packages/shared/response-ops/alerting-v2-schemas/src/rule_data_schema.test.ts index 848d1aa5d6cc6..6aebf1075b08d 100644 --- a/x-pack/platform/packages/shared/response-ops/alerting-v2-schemas/src/rule_data_schema.test.ts +++ b/x-pack/platform/packages/shared/response-ops/alerting-v2-schemas/src/rule_data_schema.test.ts @@ -202,28 +202,19 @@ describe('createRuleDataSchema', () => { expect(result.success).toBe(false); }); - it('accepts schedule.every of exactly 1m (minimum)', () => { + it('accepts schedule.every of exactly 5s (minimum)', () => { const result = createRuleDataSchema.safeParse({ ...validCreateData, - schedule: { every: '1m' }, + schedule: { every: '5s' }, }); expect(result.success).toBe(true); }); - it('rejects schedule.every below 1m (30s)', () => { + it('rejects schedule.every below 5s (4s)', () => { const result = createRuleDataSchema.safeParse({ ...validCreateData, - schedule: { every: '30s' }, - }); - - expect(result.success).toBe(false); - }); - - it('rejects schedule.every below 1m via cross-unit (59s)', () => { - const result = createRuleDataSchema.safeParse({ - ...validCreateData, - schedule: { every: '59s' }, + schedule: { every: '4s' }, }); expect(result.success).toBe(false); @@ -747,8 +738,8 @@ describe('updateRuleDataSchema', () => { expect(result.success).toBe(false); }); - it('rejects schedule.every below 1m (30s)', () => { - const result = updateRuleDataSchema.safeParse({ schedule: { every: '30s' } }); + it('rejects schedule.every below 5s (4s)', () => { + const result = updateRuleDataSchema.safeParse({ schedule: { every: '4s' } }); expect(result.success).toBe(false); });