From 68dc471eed217ae0afe58b1c9bb4b3af8cb89aec Mon Sep 17 00:00:00 2001 From: Yara Tercero Date: Wed, 21 Oct 2020 07:19:51 -0400 Subject: [PATCH] [SecuritySolution][Unit Tests] - fix flakey unit test (#81239) (#81266) ### Summary Fixes flakey unit test that was using dateMath as opposed to a fixed date for consistent testing. --- .../public/common/hooks/eql/helpers.test.ts | 73 +++++++++---------- 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/hooks/eql/helpers.test.ts b/x-pack/plugins/security_solution/public/common/hooks/eql/helpers.test.ts index 52804c0b17e750..6ba2eaa3d3c30c 100644 --- a/x-pack/plugins/security_solution/public/common/hooks/eql/helpers.test.ts +++ b/x-pack/plugins/security_solution/public/common/hooks/eql/helpers.test.ts @@ -3,7 +3,6 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ -import dateMath from '@elastic/datemath'; import moment from 'moment'; import { EqlSearchStrategyResponse } from '../../../../../data_enhanced/common'; @@ -24,37 +23,37 @@ import { getMockEqlResponse, getMockEqlSequenceResponse } from './eql_search_res describe('eql/helpers', () => { describe('calculateBucketForHour', () => { - test('returns 2 if event occurred within 2 minutes of "now"', () => { + test('returns 2 if the difference in times is 2 minutes', () => { const diff = calculateBucketForHour( - Number(dateMath.parse('now-1m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T05:56:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(2); }); - test('returns 10 if event occurred within 8-10 minutes of "now"', () => { + test('returns 10 if the difference in times is 8-10 minutes', () => { const diff = calculateBucketForHour( - Number(dateMath.parse('now-9m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T05:48:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(10); }); - test('returns 16 if event occurred within 10-15 minutes of "now"', () => { + test('returns 16 if the difference in times is 10-15 minutes', () => { const diff = calculateBucketForHour( - Number(dateMath.parse('now-15m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T05:42:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(16); }); - test('returns 60 if event occurred within 58-60 minutes of "now"', () => { + test('returns 60 if the difference in times is 58-60 minutes', () => { const diff = calculateBucketForHour( - Number(dateMath.parse('now-59m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T04:58:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(60); @@ -62,8 +61,8 @@ describe('eql/helpers', () => { test('returns exact time difference if it is a multiple of 2', () => { const diff = calculateBucketForHour( - Number(dateMath.parse('now-20m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T05:37:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(20); @@ -71,17 +70,17 @@ describe('eql/helpers', () => { test('returns 0 if times are equal', () => { const diff = calculateBucketForHour( - Number(dateMath.parse('now')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T05:57:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(0); }); - test('returns 2 if event occurred within 2 minutes of "now" but arguments are flipped', () => { + test('returns 2 if the difference in times is 2 minutes but arguments are flipped', () => { const diff = calculateBucketForHour( - Number(dateMath.parse('now')?.format('x')), - Number(dateMath.parse('now-1m')?.format('x')) + Date.parse('2020-02-20T05:57:54.037Z'), + Date.parse('2020-02-20T05:56:54.037Z') ); expect(diff).toEqual(2); @@ -91,53 +90,53 @@ describe('eql/helpers', () => { describe('calculateBucketForDay', () => { test('returns 0 if two dates are equivalent', () => { const diff = calculateBucketForDay( - Number(dateMath.parse('now')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T05:57:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(0); }); - test('returns 1 if event occurred within 60 minutes of "now"', () => { + test('returns 1 if the difference in times is 60 minutes', () => { const diff = calculateBucketForDay( - Number(dateMath.parse('now-40m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T05:17:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(1); }); - test('returns 2 if event occurred 60-120 minutes from "now"', () => { + test('returns 2 if the difference in times is 60-120 minutes', () => { const diff = calculateBucketForDay( - Number(dateMath.parse('now-120m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T03:57:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(2); }); - test('returns 3 if event occurred 120-180 minutes from "now', () => { + test('returns 3 if the difference in times is 120-180 minutes', () => { const diff = calculateBucketForDay( - Number(dateMath.parse('now-121m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T03:56:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(3); }); - test('returns 4 if event occurred 180-240 minutes from "now', () => { + test('returns 4 if the difference in times is 180-240 minutes', () => { const diff = calculateBucketForDay( - Number(dateMath.parse('now-220m')?.format('x')), - Number(dateMath.parse('now')?.format('x')) + Date.parse('2020-02-20T02:15:54.037Z'), + Date.parse('2020-02-20T05:57:54.037Z') ); expect(diff).toEqual(4); }); - test('returns 2 if event occurred 60-120 minutes of "now" but arguments are flipped', () => { + test('returns 2 if the difference in times is 60-120 minutes but arguments are flipped', () => { const diff = calculateBucketForDay( - Number(dateMath.parse('now')?.format('x')), - Number(dateMath.parse('now-118m')?.format('x')) + Date.parse('2020-02-20T05:57:54.037Z'), + Date.parse('2020-02-20T03:59:54.037Z') ); expect(diff).toEqual(2);