Skip to content

Commit

Permalink
[Archive Migration] dashboard/current/kibana (#126293)
Browse files Browse the repository at this point in the history
* switch from es_archive to kbn_archive

* another test conversion

* add the kbn_archive

* remove unused esArchiver

* kbn_archive to full replace es_archiver/dashboard/current/kibana

* finish this test

* to fix this test we have to unload 2 index patterns

* had to re-make the kbn_archive from 8.0 instead of 7.17

* cleanup saved objects in before method

* remove unused esArchiver

* remove unused dashboard/current/kibana es_archiver files

* refactor clean to cleanStandardList

* a few more tests using the es_archive

* cleanup and uncomment smoketest

* Apply suggestions from code review

Co-authored-by: Spencer <email@spalger.com>

* update for code review

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Spencer <email@spalger.com>
(cherry picked from commit e932d83)
  • Loading branch information
Lee Drengenberg committed Mar 9, 2022
1 parent 0da84be commit bc555f9
Show file tree
Hide file tree
Showing 48 changed files with 3,206 additions and 3,959 deletions.
19 changes: 19 additions & 0 deletions packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,25 @@ export class KbnClientSavedObjects {
this.log.success('deleted', deleted, 'objects');
}

public async cleanStandardList(options?: { space?: string }) {
// add types here
const types = [
'search',
'index-pattern',
'visualization',
'dashboard',
'lens',
'map',
'graph-workspace',
'query',
'tag',
'url',
'canvas-workpad',
];
const newOptions = { types, space: options?.space };
await this.clean(newOptions);
}

public async bulkDelete(options: DeleteObjectsOptions) {
let deleted = 0;
let missing = 0;
Expand Down
6 changes: 4 additions & 2 deletions test/examples/embeddables/dashboard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ export const testDashboardInput = {
// eslint-disable-next-line import/no-default-export
export default function ({ getService, getPageObjects }: PluginFunctionalProviderContext) {
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const testSubjects = getService('testSubjects');
const pieChart = getService('pieChart');
const dashboardExpect = getService('dashboardExpect');
Expand All @@ -103,8 +104,9 @@ export default function ({ getService, getPageObjects }: PluginFunctionalProvide
describe('dashboard container', () => {
before(async () => {
await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/dashboard/current/data');
await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/dashboard/current/kibana'
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await PageObjects.common.navigateToApp('dashboardEmbeddableExamples');
await testSubjects.click('dashboardEmbeddableByValue');
Expand Down
7 changes: 5 additions & 2 deletions test/functional/apps/dashboard/copy_panel_to.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const dashboardPanelActions = getService('dashboardPanelActions');
const testSubjects = getService('testSubjects');
const kibanaServer = getService('kibanaServer');
const esArchiver = getService('esArchiver');
const find = getService('find');

const PageObjects = getPageObjects([
Expand All @@ -40,7 +39,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

describe('dashboard panel copy to', function viewEditModeTests() {
before(async function () {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
});
Expand All @@ -61,6 +63,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

after(async function () {
await PageObjects.dashboard.gotoDashboardLandingPage();
await kibanaServer.savedObjects.cleanStandardList();
});

it('does not show the new dashboard option when on a new dashboard', async () => {
Expand Down
10 changes: 8 additions & 2 deletions test/functional/apps/dashboard/create_and_add_embeddables.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const retry = getService('retry');
const PageObjects = getPageObjects(['dashboard', 'header', 'visualize', 'settings', 'common']);
const browser = getService('browser');
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const dashboardAddPanel = getService('dashboardAddPanel');

describe('create and add embeddables', () => {
before(async () => {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
});
Expand All @@ -37,6 +39,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardAddPanel.expectEditorMenuClosed();
});

after(async () => {
await kibanaServer.savedObjects.cleanStandardList();
});

describe('add new visualization link', () => {
before(async () => {
await PageObjects.common.navigateToApp('dashboard');
Expand Down
7 changes: 4 additions & 3 deletions test/functional/apps/dashboard/dashboard_back_button.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../ftr_provider_context';

export default function ({ getService, getPageObjects }: FtrProviderContext) {
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['dashboard', 'header', 'common', 'visualize', 'timePicker']);
const browser = getService('browser');
const security = getService('security');

describe('dashboard back button', () => {
before(async () => {
await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/dashboard/current/kibana'
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await security.testUser.setRoles(['kibana_admin', 'animals', 'test_logstash_reader']);
await kibanaServer.uiSettings.replace({
Expand All @@ -31,6 +31,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

after(async () => {
await security.testUser.restoreDefaults();
await kibanaServer.savedObjects.cleanStandardList();
});

it('after navigation from listing page to dashboard back button works', async () => {
Expand Down
11 changes: 9 additions & 2 deletions test/functional/apps/dashboard/dashboard_controls_integration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const queryBar = getService('queryBar');
const pieChart = getService('pieChart');
const filterBar = getService('filterBar');
const esArchiver = getService('esArchiver');
const testSubjects = getService('testSubjects');
const kibanaServer = getService('kibanaServer');
const dashboardAddPanel = getService('dashboardAddPanel');
Expand All @@ -30,7 +29,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

describe('Dashboard controls integration', () => {
before(async () => {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader', 'animals']);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
Expand All @@ -44,6 +46,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await timePicker.setDefaultDataRange();
});

after(async () => {
await security.testUser.restoreDefaults();
await kibanaServer.savedObjects.cleanStandardList();
});

it('shows the empty control callout on a new dashboard', async () => {
await testSubjects.existOrFail('controls-empty');
});
Expand Down
16 changes: 13 additions & 3 deletions test/functional/apps/dashboard/dashboard_error_handling.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../ftr_provider_context';

export default function ({ getService, getPageObjects }: FtrProviderContext) {
const esArchiver = getService('esArchiver');
const PageObjects = getPageObjects(['dashboard', 'header', 'common']);
const kibanaServer = getService('kibanaServer');
const testSubjects = getService('testSubjects');
Expand All @@ -22,15 +21,26 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
*/
describe('dashboard error handling', () => {
before(async () => {
await esArchiver.loadIfNeeded(
'test/functional/fixtures/es_archiver/dashboard/current/kibana'
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
// The kbn_archiver above was created from an es_archiver which intentionally had
// 2 missing index patterns. But that would fail to load with kbn_archiver.
// So we unload those 2 index patterns here.
await kibanaServer.importExport.unload(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana_unload'
);
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard_error_cases.json'
);
await PageObjects.common.navigateToApp('dashboard');
});

after(async () => {
await kibanaServer.savedObjects.cleanStandardList();
});

it('correctly loads default index pattern on first load with an error embeddable', async () => {
await PageObjects.dashboard.gotoDashboardLandingPage();
await PageObjects.dashboard.loadSavedDashboard('Dashboard with Missing Lens Panel');
Expand Down
13 changes: 11 additions & 2 deletions test/functional/apps/dashboard/dashboard_filter_bar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const testSubjects = getService('testSubjects');
const filterBar = getService('filterBar');
const pieChart = getService('pieChart');
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const browser = getService('browser');
const security = getService('security');
Expand All @@ -32,7 +31,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

describe('dashboard filter bar', () => {
before(async () => {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
// The kbn_archiver above was created from an es_archiver which intentionally had
// 2 missing index patterns. But that would fail to load with kbn_archiver.
// So we unload those 2 index patterns here.
await kibanaServer.importExport.unload(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana_unload'
);
await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader', 'animals']);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
Expand All @@ -42,6 +50,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

after(async () => {
await security.testUser.restoreDefaults();
await kibanaServer.savedObjects.cleanStandardList();
});

describe('Add a filter bar', function () {
Expand Down
13 changes: 11 additions & 2 deletions test/functional/apps/dashboard/dashboard_filtering.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const renderable = getService('renderable');
const testSubjects = getService('testSubjects');
const filterBar = getService('filterBar');
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const security = getService('security');
const dashboardPanelActions = getService('dashboardPanelActions');
Expand Down Expand Up @@ -51,7 +50,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
};

before(async () => {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
// The kbn_archiver above was created from an es_archiver which intentionally had
// 2 missing index patterns. But that would fail to load with kbn_archiver.
// So we unload those 2 index patterns here.
await kibanaServer.importExport.unload(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana_unload'
);
await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader', 'animals']);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
Expand All @@ -63,6 +71,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

after(async () => {
await security.testUser.restoreDefaults();
await kibanaServer.savedObjects.cleanStandardList();
});

describe('adding a filter that excludes all data', () => {
Expand Down
10 changes: 8 additions & 2 deletions test/functional/apps/dashboard/dashboard_grid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,16 @@ import { FtrProviderContext } from '../../ftr_provider_context';

export default function ({ getService, getPageObjects }: FtrProviderContext) {
const browser = getService('browser');
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const dashboardPanelActions = getService('dashboardPanelActions');
const PageObjects = getPageObjects(['common', 'dashboard']);

describe('dashboard grid', function () {
before(async () => {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
});
Expand All @@ -29,6 +31,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await PageObjects.dashboard.switchToEditMode();
});

after(async () => {
await kibanaServer.savedObjects.cleanStandardList();
});

describe('move panel', () => {
// Specific test after https://github.com/elastic/kibana/issues/14764 fix
it('Can move panel from bottom to top row', async () => {
Expand Down
10 changes: 8 additions & 2 deletions test/functional/apps/dashboard/dashboard_options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,17 @@ import { FtrProviderContext } from '../../ftr_provider_context';

export default function ({ getService, getPageObjects }: FtrProviderContext) {
const retry = getService('retry');
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['common', 'dashboard']);

describe('dashboard options', () => {
let originalTitles: string[] = [];

before(async () => {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
});
Expand All @@ -31,6 +33,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
originalTitles = await PageObjects.dashboard.getPanelTitles();
});

after(async () => {
await kibanaServer.savedObjects.cleanStandardList();
});

it('should be able to hide all panel titles', async () => {
await PageObjects.dashboard.checkHideTitle();
await retry.try(async () => {
Expand Down
9 changes: 8 additions & 1 deletion test/functional/apps/dashboard/dashboard_query_bar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

describe('dashboard query bar', () => {
before(async () => {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
});
Expand All @@ -29,6 +32,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await PageObjects.dashboard.loadSavedDashboard('dashboard with filter');
});

after(async () => {
await kibanaServer.savedObjects.cleanStandardList();
});

it('causes panels to reload when refresh is clicked', async () => {
await esArchiver.unload('test/functional/fixtures/es_archiver/dashboard/current/data');

Expand Down
10 changes: 8 additions & 2 deletions test/functional/apps/dashboard/dashboard_saved_query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import expect from '@kbn/expect';
import { FtrProviderContext } from '../../ftr_provider_context';

export default function ({ getService, getPageObjects }: FtrProviderContext) {
const esArchiver = getService('esArchiver');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['common', 'dashboard', 'timePicker']);
const browser = getService('browser');
Expand All @@ -21,13 +20,20 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {

describe('dashboard saved queries', function describeIndexTests() {
before(async function () {
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
await kibanaServer.savedObjects.cleanStandardList();
await kibanaServer.importExport.load(
'test/functional/fixtures/kbn_archiver/dashboard/current/kibana'
);
await kibanaServer.uiSettings.replace({
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c',
});
await PageObjects.common.navigateToApp('dashboard');
});

after(async () => {
await kibanaServer.savedObjects.cleanStandardList();
});

describe('saved query management component functionality', function () {
before(async () => {
await PageObjects.dashboard.gotoDashboardLandingPage();
Expand Down
Loading

0 comments on commit bc555f9

Please sign in to comment.