[AO] Fix time range filter in alerts table (#153648)

Fixes #153284

## Summary

This PR fixes the time range filter by using the `ALERT_TIME_RANGE`
instead of `TIMESTAMP`
cc @tonyghiani 



https://user-images.githubusercontent.com/12370520/227532946-087c85c5-1390-47eb-bf0a-bd7319a000a7.mov
This commit is contained in:
Maryam Saeidi 2023-03-25 11:31:51 +01:00 committed by GitHub
parent 3efb6b5b0d
commit 62827b1aab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 42 additions and 15 deletions

View file

@ -91,7 +91,7 @@ describe('ObservabilityAlertSearchBar', () => {
},
{
range: {
'@timestamp': expect.objectContaining({
'kibana.alert.time_range': expect.objectContaining({
format: 'strict_date_optional_time',
gte: mockedFrom,
lte: mockedTo,
@ -138,7 +138,7 @@ describe('ObservabilityAlertSearchBar', () => {
},
{
range: {
'@timestamp': expect.objectContaining({
'kibana.alert.time_range': expect.objectContaining({
format: 'strict_date_optional_time',
gte: mockedFrom,
lte: mockedTo,

View file

@ -6,7 +6,7 @@ Object {
"filter": Array [
Object {
"range": Object {
"@timestamp": Object {
"kibana.alert.time_range": Object {
"format": "strict_date_optional_time",
"gte": "2022-08-30T15:23:23.721Z",
"lte": "2022-08-30T15:38:28.171Z",
@ -39,7 +39,7 @@ Object {
},
Object {
"range": Object {
"@timestamp": Object {
"kibana.alert.time_range": Object {
"format": "strict_date_optional_time",
"gte": "2022-08-30T15:23:23.721Z",
"lte": "2022-08-30T15:38:28.171Z",
@ -92,7 +92,7 @@ Object {
},
Object {
"range": Object {
"@timestamp": Object {
"kibana.alert.time_range": Object {
"format": "strict_date_optional_time",
"gte": "2022-08-30T15:23:23.721Z",
"lte": "2022-08-30T15:38:28.171Z",
@ -131,7 +131,7 @@ Object {
},
Object {
"range": Object {
"@timestamp": Object {
"kibana.alert.time_range": Object {
"format": "strict_date_optional_time",
"gte": "2022-08-30T15:23:23.721Z",
"lte": "2022-08-30T15:38:28.171Z",
@ -152,7 +152,7 @@ Object {
"filter": Array [
Object {
"range": Object {
"@timestamp": Object {
"kibana.alert.time_range": Object {
"format": "strict_date_optional_time",
"gte": "2022-08-30T15:23:23.721Z",
"lte": "2022-08-30T15:38:28.171Z",

View file

@ -6,14 +6,14 @@
*/
import { buildEsQuery as kbnBuildEsQuery, TimeRange, Query } from '@kbn/es-query';
import { TIMESTAMP } from '@kbn/rule-data-utils';
import { ALERT_TIME_RANGE } from '@kbn/rule-data-utils';
import { getTime } from '@kbn/data-plugin/common';
export function buildEsQuery(timeRange: TimeRange, kuery?: string, queries: Query[] = []) {
const timeFilter =
timeRange &&
getTime(undefined, timeRange, {
fieldName: TIMESTAMP,
fieldName: ALERT_TIME_RANGE,
});
const filtersToUse = timeFilter ? [timeFilter] : [];
const kueryFilter = kuery ? [{ query: kuery, language: 'kuery' }] : [];

View file

@ -202,6 +202,10 @@
"system_status": {
"type": "keyword"
},
"time_range": {
"type": "date_range",
"format": "epoch_millis||strict_date_optional_time"
},
"uuid": {
"type": "keyword"
},
@ -470,6 +474,10 @@
"system_status": {
"type": "keyword"
},
"time_range": {
"type": "date_range",
"format": "epoch_millis||strict_date_optional_time"
},
"uuid": {
"type": "keyword"
},
@ -714,6 +722,10 @@
"system_status": {
"type": "keyword"
},
"time_range": {
"type": "date_range",
"format": "epoch_millis||strict_date_optional_time"
},
"uuid": {
"type": "keyword"
},
@ -752,4 +764,4 @@
}
}
}
}
}

View file

@ -13,6 +13,11 @@ const DATE_WITH_DATA = {
rangeTo: '2021-10-20T13:36:22.109Z',
};
const DATE_WITHOUT_DATA = {
rangeFrom: '2021-09-18T13:36:22.109Z',
rangeTo: '2021-09-20T13:36:22.109Z',
};
const ALERTS_TITLE = 'Alerts';
const ALERTS_ACCORDION_SELECTOR = `accordion-${ALERTS_TITLE}`;
const ALERTS_SECTION_BUTTON_CSS_SELECTOR = `[data-test-subj=${ALERTS_ACCORDION_SELECTOR}] button.euiAccordion__button`;
@ -38,6 +43,15 @@ export function ObservabilityOverviewCommonProvider({
);
};
const navigateToOverviewPageWithoutAlerts = async () => {
return await pageObjects.common.navigateToUrlWithBrowserHistory(
'observability',
'/overview',
`?rangeFrom=${DATE_WITHOUT_DATA.rangeFrom}&rangeTo=${DATE_WITHOUT_DATA.rangeTo}`,
{ ensureCurrentUrl: false }
);
};
const navigateToOverviewPage = async () => {
await pageObjects.common.navigateToUrlWithBrowserHistory(
'observability',
@ -81,6 +95,7 @@ export function ObservabilityOverviewCommonProvider({
return {
getAlertsTableNoDataOrFail,
navigateToOverviewPageWithAlerts,
navigateToOverviewPageWithoutAlerts,
navigateToOverviewPage,
openAlertsSectionAndWaitToAppear,
};

View file

@ -12,7 +12,7 @@ export default ({ getService, getPageObjects }: FtrProviderContext) => {
const observability = getService('observability');
const retry = getService('retry');
describe('Observability alerts / Add to case', function () {
describe('Observability alerts / Add to case >', function () {
this.tags('includeFirefox');
before(async () => {

View file

@ -16,7 +16,7 @@ const RECOVERED_ALERTS = 30;
export default ({ getService }: FtrProviderContext) => {
const esArchiver = getService('esArchiver');
describe('alert status filter', function () {
describe('Alert status filter >', function () {
this.tags('includeFirefox');
const observability = getService('observability');

View file

@ -20,7 +20,7 @@ export default ({ getService }: FtrProviderContext) => {
const esArchiver = getService('esArchiver');
const find = getService('find');
describe('Observability alerts', function () {
describe('Observability alerts >', function () {
this.tags('includeFirefox');
const testSubjects = getService('testSubjects');

View file

@ -13,7 +13,7 @@ const ALL_ALERTS = 10;
export default ({ getService }: FtrProviderContext) => {
const esArchiver = getService('esArchiver');
describe('Observability overview', function () {
describe('Observability overview >', function () {
this.tags('includeFirefox');
const observability = getService('observability');
@ -29,7 +29,7 @@ export default ({ getService }: FtrProviderContext) => {
describe('Without alerts', function () {
it('navigate and open alerts section', async () => {
await observability.overview.common.navigateToOverviewPage();
await observability.overview.common.navigateToOverviewPageWithoutAlerts();
await observability.overview.common.openAlertsSectionAndWaitToAppear();
});