Migrate es_archives/lens/basic/ to kbnArchiver (#108120)

This commit is contained in:
Bhavya RM 2021-11-03 11:19:27 -04:00 committed by GitHub
parent 497a70b5fd
commit 9c98c2b722
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 568 additions and 1864 deletions

View file

@ -13,13 +13,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const testSubjects = getService('testSubjects');
const esArchiver = getService('esArchiver');
const listingTable = getService('listingTable');
const kibanaServer = getService('kibanaServer');
// Failing: See https://github.com/elastic/kibana/issues/115614
describe.skip('Lens', () => {
const lensChartName = 'MyLensChart';
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
after(async () => {
@ -29,7 +32,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await listingTable.clickDeleteSelected();
await PageObjects.common.clickConfirmOnModal();
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
it('lens', async () => {

View file

@ -21,6 +21,7 @@ const COMMON_HEADERS = {
export default ({ getService }: FtrProviderContext) => {
const supertest = getService('supertest');
const es = getService('es');
const kibanaServer = getService('kibanaServer');
async function assertExpectedSavedObjects(num: number) {
// Make sure that new/deleted docs are available to search
@ -172,9 +173,10 @@ export default ({ getService }: FtrProviderContext) => {
});
it('should collect telemetry on saved visualization types with a painless script', async () => {
const esArchiver = getService('esArchiver');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
const kibanaClient = convertToKibanaClient(es);
const results = await getVisualizationCounts(() => Promise.resolve(kibanaClient), '.kibana');
@ -194,7 +196,9 @@ export default ({ getService }: FtrProviderContext) => {
});
expect(results.saved_overall_total).to.eql(3);
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
});
};

View file

@ -15,14 +15,19 @@ export default function ({ getService, loadTestFile }: PluginFunctionalProviderC
describe('embedded Lens examples', function () {
before(async () => {
await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.load('x-pack/test/functional/es_archives/lens/basic'); // need at least one index pattern
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
); // need at least one index pattern
await kibanaServer.uiSettings.update({
defaultIndex: 'logstash-*',
});
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
describe('', function () {

View file

@ -10,17 +10,23 @@ import { PluginFunctionalProviderContext } from 'test/plugin_functional/services
// eslint-disable-next-line import/no-default-export
export default function ({ getService, loadTestFile }: PluginFunctionalProviderContext) {
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
describe('search examples', function () {
this.tags('ciGroup13');
before(async () => {
await esArchiver.emptyKibanaIndex();
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic'); // need at least one index pattern
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
); // need at least one index pattern
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
loadTestFile(require.resolve('./search_session_example'));

View file

@ -15,16 +15,26 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
const esArchiver = getService('esArchiver');
const testSubjects = getService('testSubjects');
const dashboardPanelActions = getService('dashboardPanelActions');
const kibanaServer = getService('kibanaServer');
describe('dashboard lens by value', function () {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await PageObjects.common.navigateToApp('dashboard');
await PageObjects.dashboard.preserveCrossAppState();
await PageObjects.dashboard.clickNewDashboard();
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
it('can add a lens panel by value', async () => {
await PageObjects.lens.createAndAddLensFromDashboard({});
const newPanelCount = await PageObjects.dashboard.getPanelCount();

View file

@ -23,6 +23,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
const testSubjects = getService('testSubjects');
const appsMenu = getService('appsMenu');
const dashboardAddPanel = getService('dashboardAddPanel');
const kibanaServer = getService('kibanaServer');
const LAYER_NAME = 'World Countries';
let mapCounter = 0;
@ -77,7 +78,19 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
describe('dashboard maps by value', function () {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await kibanaServer.savedObjects.clean({
types: ['search', 'index-pattern', 'visualization', 'dashboard', 'tag', 'map'],
});
});
describe('adding a map by value', () => {

View file

@ -11,6 +11,7 @@ import { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const listingTable = getService('listingTable');
const testSubjects = getService('testSubjects');
const kibanaServer = getService('kibanaServer');
const esArchiver = getService('esArchiver');
const find = getService('find');
const PageObjects = getPageObjects([
@ -67,12 +68,24 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await PageObjects.common.navigateToApp('dashboard');
await PageObjects.dashboard.preserveCrossAppState();
await PageObjects.dashboard.clickNewDashboard();
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await kibanaServer.savedObjects.clean({
types: ['search', 'index-pattern', 'visualization', 'dashboard', 'tag'],
});
});
it('adds a new tag to a new Dashboard', async () => {
await createTagFromDashboard();
PageObjects.dashboard.saveDashboard(dashboardTitle, {}, false);

View file

@ -22,6 +22,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const dashboardAddPanel = getService('dashboardAddPanel');
const filterBar = getService('filterBar');
const elasticChart = getService('elasticChart');
const kibanaServer = getService('kibanaServer');
function getColorMapping(debugState: DebugState | null) {
if (!debugState) return {};
@ -37,12 +38,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe.skip('sync colors', function () {
before(async function () {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
after(async function () {
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
it('should sync colors on dashboard by default', async function () {

View file

@ -14,6 +14,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
const queryBar = getService('queryBar');
const testSubjects = getService('testSubjects');
const retry = getService('retry');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects([
'common',
'error',
@ -31,13 +32,18 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
describe('discover field visualize button', () => {
beforeEach(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await PageObjects.common.navigateToApp('discover');
await setDiscoverTimeRange();
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
it('shows "visualize" field button', async () => {

View file

@ -7,18 +7,24 @@
import { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ getService, loadTestFile }: FtrProviderContext) {
export default function ({ getService, loadTestFile, getPageObjects }: FtrProviderContext) {
const browser = getService('browser');
const log = getService('log');
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['timePicker']);
describe('lens app', () => {
before(async () => {
log.debug('Starting lens before method');
await browser.setWindowSize(1280, 800);
await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.load('x-pack/test/functional/es_archives/lens/basic');
// changing the timepicker default here saves us from having to set it in Discover (~8s)
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.uiSettings.update({ defaultIndex: 'logstash-*', 'dateFormat:tz': 'UTC' });
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/default'
);
@ -26,7 +32,10 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) {
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await PageObjects.timePicker.resetDefaultAbsoluteRangeViaUiSettings();
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/default'
);
@ -50,14 +59,13 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) {
loadTestFile(require.resolve('./time_shift'));
loadTestFile(require.resolve('./drag_and_drop'));
loadTestFile(require.resolve('./geo_field'));
loadTestFile(require.resolve('./lens_reporting'));
loadTestFile(require.resolve('./lens_tagging'));
loadTestFile(require.resolve('./formula'));
loadTestFile(require.resolve('./heatmap'));
loadTestFile(require.resolve('./reference_lines'));
loadTestFile(require.resolve('./inspector'));
loadTestFile(require.resolve('./error_handling'));
loadTestFile(require.resolve('./lens_tagging'));
loadTestFile(require.resolve('./lens_reporting'));
// has to be last one in the suite because it overrides saved objects
loadTestFile(require.resolve('./rollup'));
});

View file

@ -9,7 +9,7 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const PageObjects = getPageObjects(['common', 'dashboard', 'reporting']);
const PageObjects = getPageObjects(['common', 'dashboard', 'reporting', 'timePicker']);
const es = getService('es');
const esArchiver = getService('esArchiver');
const listingTable = getService('listingTable');
@ -18,6 +18,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('lens reporting', () => {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/reporting');
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await security.testUser.setRoles(
[
'test_logstash_reader',
@ -30,6 +31,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/lens/reporting');
await PageObjects.timePicker.resetDefaultAbsoluteRangeViaUiSettings();
await es.deleteByQuery({
index: '.reporting-*',
refresh: true,

View file

@ -11,8 +11,8 @@ import { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const listingTable = getService('listingTable');
const testSubjects = getService('testSubjects');
const esArchiver = getService('esArchiver');
const retry = getService('retry');
const esArchiver = getService('esArchiver');
const find = getService('find');
const dashboardAddPanel = getService('dashboardAddPanel');
const dashboardPanelActions = getService('dashboardPanelActions');
@ -23,6 +23,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
'dashboard',
'visualize',
'lens',
'timePicker',
]);
const lensTag = 'extreme-lens-tag';
@ -31,12 +32,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('lens tagging', () => {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
await PageObjects.common.navigateToApp('dashboard');
await PageObjects.dashboard.preserveCrossAppState();
await PageObjects.dashboard.clickNewDashboard();
});
after(async () => {
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
});
it('adds a new tag to a Lens visualization', async () => {
// create lens
await dashboardAddPanel.clickCreateNewLink();

View file

@ -9,7 +9,7 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const PageObjects = getPageObjects(['visualize', 'lens', 'header']);
const PageObjects = getPageObjects(['visualize', 'lens', 'header', 'timePicker']);
const find = getService('find');
const listingTable = getService('listingTable');
const esArchiver = getService('esArchiver');
@ -19,11 +19,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/rollup/data');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/rollup/config');
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/lens/rollup/data');
await esArchiver.unload('x-pack/test/functional/es_archives/lens/rollup/config');
await PageObjects.timePicker.resetDefaultAbsoluteRangeViaUiSettings();
});
it('should allow creation of lens xy chart', async () => {

View file

@ -60,12 +60,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
expect(await PageObjects.lens.getDatatableHeaderText(1)).to.equal('@timestamp per 3 hours');
expect(await PageObjects.lens.getDatatableHeaderText(2)).to.equal('Average of bytes');
await PageObjects.lens.toggleColumnVisibility('lnsDatatable_rows > lns-dimensionTrigger');
await PageObjects.lens.toggleColumnVisibility('lnsDatatable_rows > lns-dimensionTrigger', 1);
expect(await PageObjects.lens.getDatatableHeaderText(0)).to.equal('@timestamp per 3 hours');
expect(await PageObjects.lens.getDatatableHeaderText(1)).to.equal('Average of bytes');
await PageObjects.lens.toggleColumnVisibility('lnsDatatable_rows > lns-dimensionTrigger');
await PageObjects.lens.toggleColumnVisibility('lnsDatatable_rows > lns-dimensionTrigger', 4);
expect(await PageObjects.lens.getDatatableHeaderText(0)).to.equal('Top values of ip');
expect(await PageObjects.lens.getDatatableHeaderText(1)).to.equal('@timestamp per 3 hours');

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -797,6 +797,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont
},
async getDatatableHeader(index = 0) {
log.debug(`All headers ${await testSubjects.getVisibleText('dataGridHeader')}`);
return find.byCssSelector(
`[data-test-subj="lnsDataTable"] [data-test-subj="dataGridHeader"] [role=columnheader]:nth-child(${
index + 1
@ -897,12 +898,18 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont
);
},
async toggleColumnVisibility(dimension: string) {
async toggleColumnVisibility(dimension: string, no = 1) {
await this.openDimensionEditor(dimension);
const id = 'lns-table-column-hidden';
await PageObjects.common.sleep(500);
const isChecked = await testSubjects.isEuiSwitchChecked(id);
log.debug(`switch status before the toggle = ${isChecked}`);
await testSubjects.setEuiSwitch(id, isChecked ? 'uncheck' : 'check');
await PageObjects.common.sleep(500);
const isChecked2 = await testSubjects.isEuiSwitchChecked(id);
log.debug(`switch status after the toggle = ${isChecked2}`);
await this.closeDimensionEditor();
await PageObjects.common.sleep(500);
await PageObjects.header.waitUntilLoadingHasFinished();
},

View file

@ -9,24 +9,28 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const esArchiver = getService('esArchiver');
const dashboardPanelActions = getService('dashboardPanelActions');
const dashboardAddPanel = getService('dashboardAddPanel');
const find = getService('find');
const testSubjects = getService('testSubjects');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['header', 'common', 'dashboard', 'timePicker', 'lens']);
// Dashboard shares a search session with lens when navigating to and from by value lens to hit search cache
// https://github.com/elastic/kibana/issues/99310
describe('Search session sharing with lens', () => {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
await PageObjects.common.navigateToApp('dashboard');
await PageObjects.dashboard.preserveCrossAppState();
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
// NOTE: This test doesn't check if the cache was actually hit, but just checks if the same search session id is used

View file

@ -13,14 +13,19 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
const searchSession = getService('searchSessions');
const PageObjects = getPageObjects(['visualize', 'lens', 'common', 'timePicker', 'header']);
const listingTable = getService('listingTable');
const kibanaServer = getService('kibanaServer');
describe('lens search sessions', () => {
before(async () => {
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional');
await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.load(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
after(async () => {
await esArchiver.unload('x-pack/test/functional/es_archives/lens/basic');
await kibanaServer.importExport.unload(
'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json'
);
});
it("doesn't shows search sessions indicator UI", async () => {