[Discover] Improve histogram tests (#72235)

This commit is contained in:
Matthias Wilhelm 2020-07-21 07:09:25 +02:00 committed by GitHub
parent a1753ffffd
commit 7f6cd5148a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 38 deletions

View file

@ -18,14 +18,12 @@
*/
import expect from '@kbn/expect';
import { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ getService, getPageObjects }) {
const log = getService('log');
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const esArchiver = getService('esArchiver');
const browser = getService('browser');
const elasticChart = getService('elasticChart');
const kibanaServer = getService('kibanaServer');
const security = getService('security');
const PageObjects = getPageObjects(['settings', 'common', 'discover', 'header', 'timePicker']);
const defaultSettings = {
defaultIndex: 'long-window-logstash-*',
@ -33,63 +31,43 @@ export default function ({ getService, getPageObjects }) {
};
describe('discover histogram', function describeIndexTests() {
before(async function () {
log.debug('load kibana index with default index pattern');
await PageObjects.common.navigateToApp('settings');
await security.testUser.setRoles([
'kibana_admin',
'test_logstash_reader',
'long_window_logstash',
]);
before(async () => {
await esArchiver.loadIfNeeded('logstash_functional');
await esArchiver.load('long_window_logstash');
await esArchiver.load('visualize');
await esArchiver.load('discover');
log.debug('create long_window_logstash index pattern');
// NOTE: long_window_logstash load does NOT create index pattern
await PageObjects.settings.createIndexPattern('long-window-logstash-*');
await esArchiver.load('long_window_logstash_index_pattern');
await kibanaServer.uiSettings.replace(defaultSettings);
await browser.refresh();
log.debug('discover');
await PageObjects.common.navigateToApp('discover');
await PageObjects.discover.selectIndexPattern('long-window-logstash-*');
// NOTE: For some reason without setting this relative time, the abs times will not fetch data.
await PageObjects.timePicker.setCommonlyUsedTime('Last_1 year');
});
after(async () => {
await esArchiver.unload('long_window_logstash');
await esArchiver.unload('visualize');
await esArchiver.unload('discover');
await security.testUser.restoreDefaults();
await esArchiver.unload('long_window_logstash_index_pattern');
});
async function prepareTest(fromTime: string, toTime: string, interval: string) {
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.discover.waitUntilSearchingHasFinished();
await PageObjects.discover.setChartInterval(interval);
await PageObjects.header.waitUntilLoadingHasFinished();
}
it('should visualize monthly data with different day intervals', async () => {
const fromTime = 'Nov 01, 2017 @ 00:00:00.000';
const toTime = 'Mar 21, 2018 @ 00:00:00.000';
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.discover.setChartInterval('Month');
await PageObjects.header.waitUntilLoadingHasFinished();
await prepareTest(fromTime, toTime, 'Month');
const chartCanvasExist = await elasticChart.canvasExists();
expect(chartCanvasExist).to.be(true);
});
it('should visualize weekly data with within DST changes', async () => {
const fromTime = 'Mar 01, 2018 @ 00:00:00.000';
const toTime = 'May 01, 2018 @ 00:00:00.000';
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.discover.setChartInterval('Week');
await PageObjects.header.waitUntilLoadingHasFinished();
await prepareTest(fromTime, toTime, 'Week');
const chartCanvasExist = await elasticChart.canvasExists();
expect(chartCanvasExist).to.be(true);
});
it('should visualize monthly data with different years Scaled to 30 days', async () => {
it('should visualize monthly data with different years scaled to 30 days', async () => {
const fromTime = 'Jan 01, 2010 @ 00:00:00.000';
const toTime = 'Mar 21, 2019 @ 00:00:00.000';
await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime);
await PageObjects.discover.setChartInterval('Day');
await PageObjects.header.waitUntilLoadingHasFinished();
await prepareTest(fromTime, toTime, 'Day');
const chartCanvasExist = await elasticChart.canvasExists();
expect(chartCanvasExist).to.be(true);
const chartIntervalIconTip = await PageObjects.discover.getChartIntervalWarningIcon();

File diff suppressed because one or more lines are too long