From 5f8de693b9183d056bd9666309e6817331f3f017 Mon Sep 17 00:00:00 2001 From: ymao1 Date: Tue, 9 Feb 2021 14:07:53 -0500 Subject: [PATCH] [Alerting] Configurable number of hits for ES query alert (#90089) * Adding size parameter to ES query alert * Can't use const inside validation * Updating docs * Fixing functional test * License Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- docs/user/alerting/alert-types.asciidoc | 3 +- .../alert-types-es-query-conditions.png | Bin 97147 -> 107595 bytes .../alert_types/es_query/expression.test.tsx | 3 + .../alert_types/es_query/expression.tsx | 21 ++- .../public/alert_types/es_query/types.ts | 1 + .../alert_types/es_query/validation.test.ts | 37 +++++ .../public/alert_types/es_query/validation.ts | 26 +++- .../es_query/action_context.test.ts | 2 + .../alert_types/es_query/alert_type.test.ts | 6 + .../server/alert_types/es_query/alert_type.ts | 14 +- .../es_query/alert_type_params.test.ts | 29 +++- .../alert_types/es_query/alert_type_params.ts | 3 + .../public/common/expression_items/index.ts | 1 + .../common/expression_items/value.test.tsx | 136 ++++++++++++++++++ .../public/common/expression_items/value.tsx | 102 +++++++++++++ .../builtin_alert_types/es_query/alert.ts | 6 + 16 files changed, 382 insertions(+), 8 deletions(-) create mode 100644 x-pack/plugins/triggers_actions_ui/public/common/expression_items/value.test.tsx create mode 100644 x-pack/plugins/triggers_actions_ui/public/common/expression_items/value.tsx diff --git a/docs/user/alerting/alert-types.asciidoc b/docs/user/alerting/alert-types.asciidoc index 279739e95b522..016ecc3167298 100644 --- a/docs/user/alerting/alert-types.asciidoc +++ b/docs/user/alerting/alert-types.asciidoc @@ -130,12 +130,13 @@ image::images/alert-types-es-query-select.png[Choosing an ES query alert type] [float] ==== Defining the conditions -The ES query alert has 4 clauses that define the condition to detect. +The ES query alert has 5 clauses that define the condition to detect. [role="screenshot"] image::images/alert-types-es-query-conditions.png[Four clauses define the condition to detect] Index:: This clause requires an *index or index pattern* and a *time field* that will be used for the *time window*. +Size:: This clause specifies the number of documents to pass to the configured actions when the the threshold condition is met. ES query:: This clause specifies the ES DSL query to execute. The number of documents that match this query will be evaulated against the threshold condition. Aggregations are not supported at this time. Threshold:: This clause defines a threshold value and a comparison operator (`is above`, `is above or equals`, `is below`, `is below or equals`, or `is between`). The number of documents that match the specified query is compared to this threshold. diff --git a/docs/user/alerting/images/alert-types-es-query-conditions.png b/docs/user/alerting/images/alert-types-es-query-conditions.png index ce2bd6a42a4b5c2256121bf513e751988c7cb3e3..3cbba5eb4950e20ce45bb19c1fc3ba5bb0704626 100644 GIT binary patch literal 107595 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%0A;SKFnF$eJnoDw*SC4vu*ARKg;B@sQx#R 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 H%jf?Ea*#}v literal 97147 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
  • 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 { index: ['test-index'], timeField: '@timestamp', esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, thresholdComparator: '>', threshold: [0], timeWindowSize: 15, @@ -137,6 +138,7 @@ describe('EsQueryAlertTypeExpression', () => { const errors = { index: [], esQuery: [], + size: [], timeField: [], timeWindowSize: [], }; @@ -169,6 +171,7 @@ describe('EsQueryAlertTypeExpression', () => { test('should render EsQueryAlertTypeExpression with expected components', async () => { const wrapper = await setup(getAlertParams()); expect(wrapper.find('[data-test-subj="indexSelectPopover"]').exists()).toBeTruthy(); + expect(wrapper.find('[data-test-subj="sizeValueExpression"]').exists()).toBeTruthy(); expect(wrapper.find('[data-test-subj="queryJsonEditor"]').exists()).toBeTruthy(); expect(wrapper.find('[data-test-subj="testQuerySuccess"]').exists()).toBeFalsy(); expect(wrapper.find('[data-test-subj="testQueryError"]').exists()).toBeFalsy(); diff --git a/x-pack/plugins/stack_alerts/public/alert_types/es_query/expression.tsx b/x-pack/plugins/stack_alerts/public/alert_types/es_query/expression.tsx index 27f8071564c55..37c64688ec49a 100644 --- a/x-pack/plugins/stack_alerts/public/alert_types/es_query/expression.tsx +++ b/x-pack/plugins/stack_alerts/public/alert_types/es_query/expression.tsx @@ -30,6 +30,7 @@ import { COMPARATORS, ThresholdExpression, ForLastExpression, + ValueExpression, AlertTypeParamsExpressionProps, } from '../../../../triggers_actions_ui/public'; import { validateExpression } from './validation'; @@ -45,6 +46,7 @@ const DEFAULT_VALUES = { "match_all" : {} } }`, + SIZE: 100, TIME_WINDOW_SIZE: 5, TIME_WINDOW_UNIT: 'm', THRESHOLD: [1000], @@ -53,6 +55,7 @@ const DEFAULT_VALUES = { const expressionFieldsWithValidation = [ 'index', 'esQuery', + 'size', 'timeField', 'threshold0', 'threshold1', @@ -74,6 +77,7 @@ export const EsQueryAlertTypeExpression: React.FunctionComponent< index, timeField, esQuery, + size, thresholdComparator, threshold, timeWindowSize, @@ -83,6 +87,7 @@ export const EsQueryAlertTypeExpression: React.FunctionComponent< const getDefaultParams = () => ({ ...alertParams, esQuery: esQuery ?? DEFAULT_VALUES.QUERY, + size: size ?? DEFAULT_VALUES.SIZE, timeWindowSize: timeWindowSize ?? DEFAULT_VALUES.TIME_WINDOW_SIZE, timeWindowUnit: timeWindowUnit ?? DEFAULT_VALUES.TIME_WINDOW_UNIT, threshold: threshold ?? DEFAULT_VALUES.THRESHOLD, @@ -214,7 +219,7 @@ export const EsQueryAlertTypeExpression: React.FunctionComponent<
    @@ -234,6 +239,7 @@ export const EsQueryAlertTypeExpression: React.FunctionComponent< ...alertParams, index: indices, esQuery: DEFAULT_VALUES.QUERY, + size: DEFAULT_VALUES.SIZE, thresholdComparator: DEFAULT_VALUES.THRESHOLD_COMPARATOR, timeWindowSize: DEFAULT_VALUES.TIME_WINDOW_SIZE, timeWindowUnit: DEFAULT_VALUES.TIME_WINDOW_UNIT, @@ -246,6 +252,19 @@ export const EsQueryAlertTypeExpression: React.FunctionComponent< }} onTimeFieldChange={(updatedTimeField: string) => setParam('timeField', updatedTimeField)} /> + { + setParam('size', updatedValue); + }} + />
    diff --git a/x-pack/plugins/stack_alerts/public/alert_types/es_query/types.ts b/x-pack/plugins/stack_alerts/public/alert_types/es_query/types.ts index a22af7a7bc8a5..af34b88ba28c5 100644 --- a/x-pack/plugins/stack_alerts/public/alert_types/es_query/types.ts +++ b/x-pack/plugins/stack_alerts/public/alert_types/es_query/types.ts @@ -17,6 +17,7 @@ export interface EsQueryAlertParams extends AlertTypeParams { index: string[]; timeField?: string; esQuery: string; + size: number; thresholdComparator?: string; threshold: number[]; timeWindowSize: number; diff --git a/x-pack/plugins/stack_alerts/public/alert_types/es_query/validation.test.ts b/x-pack/plugins/stack_alerts/public/alert_types/es_query/validation.test.ts index 7d604e964fb9d..52278b4576557 100644 --- a/x-pack/plugins/stack_alerts/public/alert_types/es_query/validation.test.ts +++ b/x-pack/plugins/stack_alerts/public/alert_types/es_query/validation.test.ts @@ -13,6 +13,7 @@ describe('expression params validation', () => { const initialParams: EsQueryAlertParams = { index: [], esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, timeWindowSize: 1, timeWindowUnit: 's', threshold: [0], @@ -25,6 +26,7 @@ describe('expression params validation', () => { const initialParams: EsQueryAlertParams = { index: ['test'], esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, timeWindowSize: 1, timeWindowUnit: 's', threshold: [0], @@ -37,6 +39,7 @@ describe('expression params validation', () => { const initialParams: EsQueryAlertParams = { index: ['test'], esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n`, + size: 100, timeWindowSize: 1, timeWindowUnit: 's', threshold: [0], @@ -49,6 +52,7 @@ describe('expression params validation', () => { const initialParams: EsQueryAlertParams = { index: ['test'], esQuery: `{\n \"aggs\":{\n \"match_all\" : {}\n }\n}`, + size: 100, timeWindowSize: 1, timeWindowUnit: 's', threshold: [0], @@ -61,6 +65,7 @@ describe('expression params validation', () => { const initialParams: EsQueryAlertParams = { index: ['test'], esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, threshold: [], timeWindowSize: 1, timeWindowUnit: 's', @@ -74,6 +79,7 @@ describe('expression params validation', () => { const initialParams: EsQueryAlertParams = { index: ['test'], esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, threshold: [1], timeWindowSize: 1, timeWindowUnit: 's', @@ -87,6 +93,7 @@ describe('expression params validation', () => { const initialParams: EsQueryAlertParams = { index: ['test'], esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, threshold: [10, 1], timeWindowSize: 1, timeWindowUnit: 's', @@ -97,4 +104,34 @@ describe('expression params validation', () => { 'Threshold 1 must be > Threshold 0.' ); }); + + test('if size property is < 0 should return proper error message', () => { + const initialParams: EsQueryAlertParams = { + index: ['test'], + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n`, + size: -1, + timeWindowSize: 1, + timeWindowUnit: 's', + threshold: [0], + }; + expect(validateExpression(initialParams).errors.size.length).toBeGreaterThan(0); + expect(validateExpression(initialParams).errors.size[0]).toBe( + 'Size must be between 0 and 10,000.' + ); + }); + + test('if size property is > 10000 should return proper error message', () => { + const initialParams: EsQueryAlertParams = { + index: ['test'], + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n`, + size: 25000, + timeWindowSize: 1, + timeWindowUnit: 's', + threshold: [0], + }; + expect(validateExpression(initialParams).errors.size.length).toBeGreaterThan(0); + expect(validateExpression(initialParams).errors.size[0]).toBe( + 'Size must be between 0 and 10,000.' + ); + }); }); diff --git a/x-pack/plugins/stack_alerts/public/alert_types/es_query/validation.ts b/x-pack/plugins/stack_alerts/public/alert_types/es_query/validation.ts index 8b402d63ae565..e6449dd4a6089 100644 --- a/x-pack/plugins/stack_alerts/public/alert_types/es_query/validation.ts +++ b/x-pack/plugins/stack_alerts/public/alert_types/es_query/validation.ts @@ -10,12 +10,21 @@ import { EsQueryAlertParams } from './types'; import { ValidationResult, builtInComparators } from '../../../../triggers_actions_ui/public'; export const validateExpression = (alertParams: EsQueryAlertParams): ValidationResult => { - const { index, timeField, esQuery, threshold, timeWindowSize, thresholdComparator } = alertParams; + const { + index, + timeField, + esQuery, + size, + threshold, + timeWindowSize, + thresholdComparator, + } = alertParams; const validationResult = { errors: {} }; const errors = { index: new Array(), timeField: new Array(), esQuery: new Array(), + size: new Array(), threshold0: new Array(), threshold1: new Array(), thresholdComparator: new Array(), @@ -94,5 +103,20 @@ export const validateExpression = (alertParams: EsQueryAlertParams): ValidationR }) ); } + if (!size) { + errors.size.push( + i18n.translate('xpack.stackAlerts.esQuery.ui.validation.error.requiredSizeText', { + defaultMessage: 'Size is required.', + }) + ); + } + if ((size && size < 0) || size > 10000) { + errors.size.push( + i18n.translate('xpack.stackAlerts.esQuery.ui.validation.error.invalidSizeRangeText', { + defaultMessage: 'Size must be between 0 and {max, number}.', + values: { max: 10000 }, + }) + ); + } return validationResult; }; diff --git a/x-pack/plugins/stack_alerts/server/alert_types/es_query/action_context.test.ts b/x-pack/plugins/stack_alerts/server/alert_types/es_query/action_context.test.ts index d4b2029c11579..9d4edd83a3913 100644 --- a/x-pack/plugins/stack_alerts/server/alert_types/es_query/action_context.test.ts +++ b/x-pack/plugins/stack_alerts/server/alert_types/es_query/action_context.test.ts @@ -14,6 +14,7 @@ describe('ActionContext', () => { index: ['[index]'], timeField: '[timeField]', esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, timeWindowSize: 5, timeWindowUnit: 'm', thresholdComparator: '>', @@ -41,6 +42,7 @@ describe('ActionContext', () => { index: ['[index]'], timeField: '[timeField]', esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, timeWindowSize: 5, timeWindowUnit: 'm', thresholdComparator: 'between', diff --git a/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type.test.ts b/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type.test.ts index 2049f9f1153dd..c38dad5134373 100644 --- a/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type.test.ts +++ b/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type.test.ts @@ -57,6 +57,10 @@ describe('alertType', () => { "description": "The string representation of the ES query.", "name": "esQuery", }, + Object { + "description": "The number of hits to retrieve for each query.", + "name": "size", + }, Object { "description": "An array of values to use as the threshold; 'between' and 'notBetween' require two values, the others require one.", "name": "threshold", @@ -75,6 +79,7 @@ describe('alertType', () => { index: ['index-name'], timeField: 'time-field', esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, timeWindowSize: 5, timeWindowUnit: 'm', thresholdComparator: '<', @@ -92,6 +97,7 @@ describe('alertType', () => { index: ['index-name'], timeField: 'time-field', esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, timeWindowSize: 5, timeWindowUnit: 'm', thresholdComparator: 'between', diff --git a/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type.ts b/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type.ts index 51c1fc4073d60..8fe988d95d72f 100644 --- a/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type.ts +++ b/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type.ts @@ -23,8 +23,6 @@ import { ESSearchHit } from '../../../../../typings/elasticsearch'; export const ES_QUERY_ID = '.es-query'; -const DEFAULT_MAX_HITS_PER_EXECUTION = 1000; - const ActionGroupId = 'query matched'; const ConditionMetAlertInstanceId = 'query matched'; @@ -88,6 +86,13 @@ export function getAlertType( } ); + const actionVariableContextSizeLabel = i18n.translate( + 'xpack.stackAlerts.esQuery.actionVariableContextSizeLabel', + { + defaultMessage: 'The number of hits to retrieve for each query.', + } + ); + const actionVariableContextThresholdLabel = i18n.translate( 'xpack.stackAlerts.esQuery.actionVariableContextThresholdLabel', { @@ -130,6 +135,7 @@ export function getAlertType( params: [ { name: 'index', description: actionVariableContextIndexLabel }, { name: 'esQuery', description: actionVariableContextQueryLabel }, + { name: 'size', description: actionVariableContextSizeLabel }, { name: 'threshold', description: actionVariableContextThresholdLabel }, { name: 'thresholdComparator', description: actionVariableContextThresholdComparatorLabel }, ], @@ -160,7 +166,7 @@ export function getAlertType( } // During each alert execution, we run the configured query, get a hit count - // (hits.total) and retrieve up to DEFAULT_MAX_HITS_PER_EXECUTION hits. We + // (hits.total) and retrieve up to params.size hits. We // evaluate the threshold condition using the value of hits.total. If the threshold // condition is met, the hits are counted toward the query match and we update // the alert state with the timestamp of the latest hit. In the next execution @@ -200,7 +206,7 @@ export function getAlertType( from: dateStart, to: dateEnd, filter, - size: DEFAULT_MAX_HITS_PER_EXECUTION, + size: params.size, sortOrder: 'desc', searchAfterSortId: undefined, timeField: params.timeField, diff --git a/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type_params.test.ts b/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type_params.test.ts index a1a697446ff65..ab3ca6a2d4c31 100644 --- a/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type_params.test.ts +++ b/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type_params.test.ts @@ -7,12 +7,17 @@ import { TypeOf } from '@kbn/config-schema'; import type { Writable } from '@kbn/utility-types'; -import { EsQueryAlertParamsSchema, EsQueryAlertParams } from './alert_type_params'; +import { + EsQueryAlertParamsSchema, + EsQueryAlertParams, + ES_QUERY_MAX_HITS_PER_EXECUTION, +} from './alert_type_params'; const DefaultParams: Writable> = { index: ['index-name'], timeField: 'time-field', esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, timeWindowSize: 5, timeWindowUnit: 'm', thresholdComparator: '>', @@ -99,6 +104,28 @@ describe('alertType Params validate()', () => { ); }); + it('fails for invalid size', async () => { + delete params.size; + expect(onValidate()).toThrowErrorMatchingInlineSnapshot( + `"[size]: expected value of type [number] but got [undefined]"` + ); + + params.size = 'foo'; + expect(onValidate()).toThrowErrorMatchingInlineSnapshot( + `"[size]: expected value of type [number] but got [string]"` + ); + + params.size = -1; + expect(onValidate()).toThrowErrorMatchingInlineSnapshot( + `"[size]: Value must be equal to or greater than [0]."` + ); + + params.size = ES_QUERY_MAX_HITS_PER_EXECUTION + 1; + expect(onValidate()).toThrowErrorMatchingInlineSnapshot( + `"[size]: Value must be equal to or lower than [10000]."` + ); + }); + it('fails for invalid timeWindowSize', async () => { delete params.timeWindowSize; expect(onValidate()).toThrowErrorMatchingInlineSnapshot( diff --git a/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type_params.ts b/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type_params.ts index 24fed92776b53..23f314b521511 100644 --- a/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type_params.ts +++ b/x-pack/plugins/stack_alerts/server/alert_types/es_query/alert_type_params.ts @@ -11,6 +11,8 @@ import { ComparatorFnNames } from '../lib'; import { validateTimeWindowUnits } from '../../../../triggers_actions_ui/server'; import { AlertTypeState } from '../../../../alerts/server'; +export const ES_QUERY_MAX_HITS_PER_EXECUTION = 10000; + // alert type parameters export type EsQueryAlertParams = TypeOf; export interface EsQueryAlertState extends AlertTypeState { @@ -21,6 +23,7 @@ export const EsQueryAlertParamsSchemaProperties = { index: schema.arrayOf(schema.string({ minLength: 1 }), { minSize: 1 }), timeField: schema.string({ minLength: 1 }), esQuery: schema.string({ minLength: 1 }), + size: schema.number({ min: 0, max: ES_QUERY_MAX_HITS_PER_EXECUTION }), timeWindowSize: schema.number({ min: 1 }), timeWindowUnit: schema.string({ validate: validateTimeWindowUnits }), threshold: schema.arrayOf(schema.number(), { minSize: 1, maxSize: 2 }), diff --git a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/index.ts b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/index.ts index bfcbba28b4bda..f975375adcb07 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/index.ts +++ b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/index.ts @@ -10,3 +10,4 @@ export { OfExpression } from './of'; export { GroupByExpression } from './group_by_over'; export { ThresholdExpression } from './threshold'; export { ForLastExpression } from './for_the_last'; +export { ValueExpression } from './value'; diff --git a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/value.test.tsx b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/value.test.tsx new file mode 100644 index 0000000000000..e9a3dce84e149 --- /dev/null +++ b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/value.test.tsx @@ -0,0 +1,136 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import * as React from 'react'; +import { shallow } from 'enzyme'; +import { act } from 'react-dom/test-utils'; +import { ValueExpression } from './value'; +import { mountWithIntl, nextTick } from '@kbn/test/jest'; + +describe('value expression', () => { + it('renders description and value', () => { + const wrapper = shallow( + + ); + expect(wrapper.find('[data-test-subj="valueFieldTitle"]')).toMatchInlineSnapshot(` + + test + + `); + expect(wrapper.find('[data-test-subj="valueFieldNumberForm"]')).toMatchInlineSnapshot(` + + + + `); + }); + + it('renders errors', () => { + const wrapper = shallow( + + ); + expect(wrapper.find('[data-test-subj="valueFieldNumberForm"]')).toMatchInlineSnapshot(` + + + + `); + }); + + it('renders closed popover initially and opens on click', async () => { + const wrapper = mountWithIntl( + + ); + + expect(wrapper.find('[data-test-subj="valueExpression"]').exists()).toBeTruthy(); + expect(wrapper.find('[data-test-subj="valueFieldTitle"]').exists()).toBeFalsy(); + expect(wrapper.find('[data-test-subj="valueFieldNumber"]').exists()).toBeFalsy(); + + wrapper.find('[data-test-subj="valueExpression"]').first().simulate('click'); + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(wrapper.find('[data-test-subj="valueFieldTitle"]').exists()).toBeTruthy(); + expect(wrapper.find('[data-test-subj="valueFieldNumber"]').exists()).toBeTruthy(); + }); + + it('emits onChangeSelectedValue action when value is updated', async () => { + const onChangeSelectedValue = jest.fn(); + const wrapper = mountWithIntl( + + ); + + wrapper.find('[data-test-subj="valueExpression"]').first().simulate('click'); + await act(async () => { + await nextTick(); + wrapper.update(); + }); + wrapper + .find('input[data-test-subj="valueFieldNumber"]') + .simulate('change', { target: { value: 3000 } }); + expect(onChangeSelectedValue).toHaveBeenCalledWith(3000); + }); +}); diff --git a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/value.tsx b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/value.tsx new file mode 100644 index 0000000000000..cdf57136fe4b2 --- /dev/null +++ b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/value.tsx @@ -0,0 +1,102 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useState } from 'react'; +import { + EuiExpression, + EuiPopover, + EuiFieldNumber, + EuiFlexGroup, + EuiFlexItem, + EuiFormRow, +} from '@elastic/eui'; +import { ClosablePopoverTitle } from './components'; +import { IErrorObject } from '../../types'; + +interface ValueExpressionProps { + description: string; + value: number; + onChangeSelectedValue: (updatedValue: number) => void; + popupPosition?: + | 'upCenter' + | 'upLeft' + | 'upRight' + | 'downCenter' + | 'downLeft' + | 'downRight' + | 'leftCenter' + | 'leftUp' + | 'leftDown' + | 'rightCenter' + | 'rightUp' + | 'rightDown'; + display?: 'fullWidth' | 'inline'; + errors: string | string[] | IErrorObject; +} + +export const ValueExpression = ({ + description, + value, + onChangeSelectedValue, + display = 'inline', + popupPosition, + errors, +}: ValueExpressionProps) => { + const [valuePopoverOpen, setValuePopoverOpen] = useState(false); + return ( + { + setValuePopoverOpen(true); + }} + /> + } + isOpen={valuePopoverOpen} + closePopover={() => { + setValuePopoverOpen(false); + }} + ownFocus + display={display === 'fullWidth' ? 'block' : 'inlineBlock'} + anchorPosition={popupPosition ?? 'downLeft'} + repositionOnScroll + > +
    + setValuePopoverOpen(false)} + > + <>{description} + + + + 0 && value !== undefined} + error={errors} + > + 0 && value !== undefined} + onChange={(e: any) => { + onChangeSelectedValue(e.target.value as number); + }} + /> + + + +
    +
    + ); +}; diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/es_query/alert.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/es_query/alert.ts index 30fd3aea2b2dc..777caacd465d8 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/es_query/alert.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/es_query/alert.ts @@ -68,6 +68,7 @@ export default function alertTests({ getService }: FtrProviderContext) { await createAlert({ name: 'never fire', esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, thresholdComparator: '<', threshold: [0], }); @@ -75,6 +76,7 @@ export default function alertTests({ getService }: FtrProviderContext) { await createAlert({ name: 'always fire', esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, thresholdComparator: '>', threshold: [-1], }); @@ -123,6 +125,7 @@ export default function alertTests({ getService }: FtrProviderContext) { await createAlert({ name: 'never fire', esQuery: JSON.stringify(rangeQuery(ES_GROUPS_TO_WRITE * ALERT_INTERVALS_TO_WRITE + 1)), + size: 100, thresholdComparator: '>=', threshold: [0], }); @@ -132,6 +135,7 @@ export default function alertTests({ getService }: FtrProviderContext) { esQuery: JSON.stringify( rangeQuery(Math.floor((ES_GROUPS_TO_WRITE * ALERT_INTERVALS_TO_WRITE) / 2)) ), + size: 100, thresholdComparator: '>=', threshold: [0], }); @@ -173,6 +177,7 @@ export default function alertTests({ getService }: FtrProviderContext) { name: string; timeField?: string; esQuery: string; + size: number; thresholdComparator: string; threshold: number[]; timeWindowSize?: number; @@ -215,6 +220,7 @@ export default function alertTests({ getService }: FtrProviderContext) { index: [ES_TEST_INDEX_NAME], timeField: params.timeField || 'date', esQuery: params.esQuery, + size: params.size, timeWindowSize: params.timeWindowSize || ALERT_INTERVAL_SECONDS * 5, timeWindowUnit: 's', thresholdComparator: params.thresholdComparator,