Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Archive Migration] dashboard/current/kibana #126293

Merged
merged 23 commits into from
Mar 9, 2022
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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(space: string = '') {
// add types here
const types = [
'search',
'index-pattern',
'visualization',
'dashboard',
'lens',
'map',
'graph-workspace',
'query',
'tag',
'url',
'canvas-workpad',
];
const options = { types, space };
await this.clean(options);
}
LeeDr marked this conversation as resolved.
Show resolved Hide resolved

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
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