Skip to content

Commit

Permalink
[lens] re-group functional tests in 6 groups
Browse files Browse the repository at this point in the history
  • Loading branch information
dmlemeshko committed Apr 27, 2023
1 parent f2e7825 commit 9c386f9
Show file tree
Hide file tree
Showing 45 changed files with 147 additions and 84 deletions.
1 change: 1 addition & 0 deletions .buildkite/ftr_configs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ enabled:
- x-pack/test/functional/apps/lens/group3/config.ts
- x-pack/test/functional/apps/lens/group4/config.ts
- x-pack/test/functional/apps/lens/group5/config.ts
- x-pack/test/functional/apps/lens/group6/config.ts
- x-pack/test/functional/apps/lens/open_in_lens/tsvb/config.ts
- x-pack/test/functional/apps/lens/open_in_lens/agg_based/config.ts
- x-pack/test/functional/apps/lens/open_in_lens/dashboard/config.ts
Expand Down
3 changes: 2 additions & 1 deletion x-pack/plugins/lens/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,8 @@ Run all tests from the `x-pack` root directory
- Run `node scripts/functional_tests_server`
- Run `node ../scripts/functional_test_runner.js --config ./test/functional/apps/lens/group1/config.ts`
- Run `node ../scripts/functional_test_runner.js --config ./test/functional/apps/lens/group2/config.ts`
- Run `node ../scripts/functional_test_runner.js --config ./test/functional/apps/lens/group3/config.ts`
...
- Run `node ../scripts/functional_test_runner.js --config ./test/functional/apps/lens/group6/config.ts`
- API Functional tests:
- Run `node scripts/functional_tests_server`
- Run `node ../scripts/functional_test_runner.js --config ./test/api_integration/config.ts --grep=Lens`
Expand Down
15 changes: 4 additions & 11 deletions x-pack/test/functional/apps/lens/group1/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
};
let indexPatternString: string;
before(async () => {
await log.debug('Starting lens before method');
log.debug('Starting lens before method');
await browser.setWindowSize(1280, 1200);
await kibanaServer.savedObjects.cleanStandardList();
try {
Expand Down Expand Up @@ -74,16 +74,9 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
if (config.get('esTestCluster.ccs')) {
loadTestFile(require.resolve('./smokescreen'));
} else {
loadTestFile(require.resolve('./smokescreen'));
loadTestFile(require.resolve('./ad_hoc_data_view'));
loadTestFile(require.resolve('./partition'));
loadTestFile(require.resolve('./persistent_context'));
loadTestFile(require.resolve('./table_dashboard'));
loadTestFile(require.resolve('./table'));
loadTestFile(require.resolve('./text_based_languages'));
loadTestFile(require.resolve('./fields_list'));
loadTestFile(require.resolve('./layer_actions'));
loadTestFile(require.resolve('./field_formatters'));
// total run time ~16 min
loadTestFile(require.resolve('./smokescreen')); // 12m 12s
loadTestFile(require.resolve('./ad_hoc_data_view')); // 3m 40s
}
});
};
45 changes: 14 additions & 31 deletions x-pack/test/functional/apps/lens/group2/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,44 +14,27 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['timePicker']);
const config = getService('config');
let remoteEsArchiver;

describe('lens app - group 2', () => {
const esArchive = 'x-pack/test/functional/es_archives/logstash_functional';
const localIndexPatternString = 'logstash-*';
const remoteIndexPatternString = 'ftr-remote:logstash-*';
const localFixtures = {
lensBasic: 'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json',
lensDefault: 'x-pack/test/functional/fixtures/kbn_archiver/lens/default',
};

const remoteFixtures = {
lensBasic: 'x-pack/test/functional/fixtures/kbn_archiver/lens/ccs/lens_basic.json',
lensDefault: 'x-pack/test/functional/fixtures/kbn_archiver/lens/ccs/default',
};
let esNode: EsArchiver;
let fixtureDirs: {
lensBasic: string;
lensDefault: string;
};
let indexPatternString: string;
before(async () => {
await log.debug('Starting lens before method');
log.debug('Starting lens before method');
await browser.setWindowSize(1280, 1200);
await kibanaServer.savedObjects.cleanStandardList();
try {
config.get('esTestCluster.ccs');
remoteEsArchiver = getService('remoteEsArchiver' as 'esArchiver');
esNode = remoteEsArchiver;
fixtureDirs = remoteFixtures;
indexPatternString = remoteIndexPatternString;
} catch (error) {
esNode = esArchiver;
fixtureDirs = localFixtures;
indexPatternString = localIndexPatternString;
}

esNode = esArchiver;
fixtureDirs = localFixtures;
indexPatternString = localIndexPatternString;
await esNode.load(esArchive);
// changing the timepicker default here saves us from having to set it in Discover (~8s)
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
Expand All @@ -64,21 +47,21 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
});

after(async () => {
await esArchiver.unload(esArchive);
await esNode.unload(esArchive);
await PageObjects.timePicker.resetDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.importExport.unload(fixtureDirs.lensBasic);
await kibanaServer.importExport.unload(fixtureDirs.lensDefault);
await kibanaServer.savedObjects.cleanStandardList();
});

loadTestFile(require.resolve('./add_to_dashboard'));
loadTestFile(require.resolve('./runtime_fields'));
loadTestFile(require.resolve('./dashboard'));
loadTestFile(require.resolve('./terms'));
loadTestFile(require.resolve('./epoch_millis'));
loadTestFile(require.resolve('./show_underlying_data'));
loadTestFile(require.resolve('./show_underlying_data_dashboard'));
loadTestFile(require.resolve('./share'));
loadTestFile(require.resolve('./tsdb'));
// total run time ~ 16m 20s
loadTestFile(require.resolve('./partition')); // 1m 40s
loadTestFile(require.resolve('./persistent_context')); // 1m
loadTestFile(require.resolve('./table_dashboard')); // 3m 10s
loadTestFile(require.resolve('./table')); // 1m 40s
loadTestFile(require.resolve('./text_based_languages')); // 3m 40s
loadTestFile(require.resolve('./fields_list')); // 2m 7s
loadTestFile(require.resolve('./layer_actions')); // 1m 45s
loadTestFile(require.resolve('./field_formatters')); // 1m 30s
});
};
30 changes: 5 additions & 25 deletions x-pack/test/functional/apps/lens/group3/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,30 +71,10 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
await kibanaServer.savedObjects.cleanStandardList();
});

// group 3 - 11m 30s
loadTestFile(require.resolve('./colors')); // 1m 2s
loadTestFile(require.resolve('./chart_data')); // 1m 10s
loadTestFile(require.resolve('./time_shift')); // 1m
loadTestFile(require.resolve('./drag_and_drop')); // 7m 40s
loadTestFile(require.resolve('./geo_field')); // 26s

// group 4 - 12m 30s
// loadTestFile(require.resolve('./formula')); // 5m 52s
// loadTestFile(require.resolve('./heatmap')); // 51s
// loadTestFile(require.resolve('./gauge')); // 1m 17s
// loadTestFile(require.resolve('./metric')); // 4m 7s
// loadTestFile(require.resolve('./legacy_metric')); // 29s

// group 5 - 11m 30s
// loadTestFile(require.resolve('./disable_auto_apply')); // 1m 6s
// loadTestFile(require.resolve('./reference_lines')); // 1m
// loadTestFile(require.resolve('./annotations')); // 1m
// loadTestFile(require.resolve('./inspector')); // 1m 19s
// loadTestFile(require.resolve('./error_handling')); // 1m 8s
// loadTestFile(require.resolve('./lens_tagging')); // 1m 9s
// loadTestFile(require.resolve('./lens_reporting')); // 3m
// keep these two last in the group in this order because they are messing with the default saved objects
// loadTestFile(require.resolve('./rollup')); // 1m 30s
// loadTestFile(require.resolve('./no_data')); // 36s
// total run time ~16 min
loadTestFile(require.resolve('./add_to_dashboard')); // 12m 50s
loadTestFile(require.resolve('./runtime_fields')); // 1m
loadTestFile(require.resolve('./terms')); // 1m 35s
loadTestFile(require.resolve('./epoch_millis')); // 30s
});
};
16 changes: 10 additions & 6 deletions x-pack/test/functional/apps/lens/group4/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
};
let indexPatternString: string;
before(async () => {
log.debug('Starting lens before method');
await log.debug('Starting lens before method');
await browser.setWindowSize(1280, 1200);
await kibanaServer.savedObjects.cleanStandardList();
try {
Expand Down Expand Up @@ -71,10 +71,14 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
await kibanaServer.savedObjects.cleanStandardList();
});

loadTestFile(require.resolve('./formula')); // 5m 52s
loadTestFile(require.resolve('./heatmap')); // 51s
loadTestFile(require.resolve('./gauge')); // 1m 17s
loadTestFile(require.resolve('./metric')); // 4m 7s
loadTestFile(require.resolve('./legacy_metric')); // 29s
// total run time ~16m 30s
loadTestFile(require.resolve('./dashboard')); // 6m 45s
loadTestFile(require.resolve('./show_underlying_data')); // 2m
loadTestFile(require.resolve('./show_underlying_data_dashboard')); // 2m 10s
loadTestFile(require.resolve('./share')); // 1m 20s
loadTestFile(require.resolve('./tsdb')); // 1m
loadTestFile(require.resolve('./colors')); // 1m 2s
loadTestFile(require.resolve('./chart_data')); // 1m 10s
loadTestFile(require.resolve('./time_shift')); // 1m
});
};
16 changes: 6 additions & 10 deletions x-pack/test/functional/apps/lens/group5/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,11 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
await kibanaServer.savedObjects.cleanStandardList();
});

loadTestFile(require.resolve('./disable_auto_apply')); // 1m 6s
loadTestFile(require.resolve('./reference_lines')); // 1m
loadTestFile(require.resolve('./annotations')); // 1m
loadTestFile(require.resolve('./inspector')); // 1m 19s
loadTestFile(require.resolve('./error_handling')); // 1m 8s
loadTestFile(require.resolve('./lens_tagging')); // 1m 9s
loadTestFile(require.resolve('./lens_reporting')); // 3m
// keep these two last in the group in this order because they are messing with the default saved objects
loadTestFile(require.resolve('./rollup')); // 1m 30s
loadTestFile(require.resolve('./no_data')); // 36s
// total run time ~ 16m
loadTestFile(require.resolve('./drag_and_drop')); // 7m 40s
loadTestFile(require.resolve('./geo_field')); // 26s
loadTestFile(require.resolve('./formula')); // 5m 52s
loadTestFile(require.resolve('./heatmap')); // 51s
loadTestFile(require.resolve('./gauge')); // 1m 17s
});
};
17 changes: 17 additions & 0 deletions x-pack/test/functional/apps/lens/group6/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* 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 { FtrConfigProviderContext } from '@kbn/test';

export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const functionalConfig = await readConfigFile(require.resolve('../../../config.base.js'));

return {
...functionalConfig.getAll(),
testFiles: [require.resolve('.')],
};
}
88 changes: 88 additions & 0 deletions x-pack/test/functional/apps/lens/group6/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
/*
* 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 { EsArchiver } from '@kbn/es-archiver';
import { FtrProviderContext } from '../../../ftr_provider_context';

export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext) => {
const browser = getService('browser');
const log = getService('log');
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['timePicker']);
const config = getService('config');
let remoteEsArchiver;

describe('lens app - group 6', () => {
const esArchive = 'x-pack/test/functional/es_archives/logstash_functional';
const localIndexPatternString = 'logstash-*';
const remoteIndexPatternString = 'ftr-remote:logstash-*';
const localFixtures = {
lensBasic: 'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json',
lensDefault: 'x-pack/test/functional/fixtures/kbn_archiver/lens/default',
};

const remoteFixtures = {
lensBasic: 'x-pack/test/functional/fixtures/kbn_archiver/lens/ccs/lens_basic.json',
lensDefault: 'x-pack/test/functional/fixtures/kbn_archiver/lens/ccs/default',
};
let esNode: EsArchiver;
let fixtureDirs: {
lensBasic: string;
lensDefault: string;
};
let indexPatternString: string;
before(async () => {
log.debug('Starting lens before method');
await browser.setWindowSize(1280, 1200);
await kibanaServer.savedObjects.cleanStandardList();
try {
config.get('esTestCluster.ccs');
remoteEsArchiver = getService('remoteEsArchiver' as 'esArchiver');
esNode = remoteEsArchiver;
fixtureDirs = remoteFixtures;
indexPatternString = remoteIndexPatternString;
} catch (error) {
esNode = esArchiver;
fixtureDirs = localFixtures;
indexPatternString = localIndexPatternString;
}

await esNode.load(esArchive);
// changing the timepicker default here saves us from having to set it in Discover (~8s)
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.uiSettings.update({
defaultIndex: indexPatternString,
'dateFormat:tz': 'UTC',
});
await kibanaServer.importExport.load(fixtureDirs.lensBasic);
await kibanaServer.importExport.load(fixtureDirs.lensDefault);
});

after(async () => {
await esArchiver.unload(esArchive);
await PageObjects.timePicker.resetDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.importExport.unload(fixtureDirs.lensBasic);
await kibanaServer.importExport.unload(fixtureDirs.lensDefault);
await kibanaServer.savedObjects.cleanStandardList();
});

// total run time ~16m
loadTestFile(require.resolve('./metric')); // 4m 7s
loadTestFile(require.resolve('./legacy_metric')); // 29s
loadTestFile(require.resolve('./disable_auto_apply')); // 1m 6s
loadTestFile(require.resolve('./reference_lines')); // 1m
loadTestFile(require.resolve('./annotations')); // 1m
loadTestFile(require.resolve('./inspector')); // 1m 19s
loadTestFile(require.resolve('./error_handling')); // 1m 8s
loadTestFile(require.resolve('./lens_tagging')); // 1m 9s
loadTestFile(require.resolve('./lens_reporting')); // 3m
// keep these two last in the group in this order because they are messing with the default saved objects
loadTestFile(require.resolve('./rollup')); // 1m 30s
loadTestFile(require.resolve('./no_data')); // 36s
});
};

0 comments on commit 9c386f9

Please sign in to comment.