Improve recently failed tests (#48389) (#48574)

* [apps/management] improve import objects tests

* [page_objects/dashboard_page] replace link navigation with direct url

* [dashboard/time_zones] reset date format via API

* update jest snapshot

* [management/_kibana_settings] reset date format via API

* revert changees to dashboard tests

* run ciGroup 7 & 8 15x times

* Revert "run ciGroup 7 & 8 15x times"

This reverts commit 8be64d52dc.
This commit is contained in:
Dmitry Lemeshko 2019-10-17 22:12:50 +02:00 committed by GitHub
parent 83ddf94373
commit 6672cf3054
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 61 additions and 27 deletions

View file

@ -31,6 +31,7 @@ exports[`Flyout conflicts should allow conflict resolution 1`] = `
/>
<EuiCallOut
color="warning"
data-test-subj="importSavedObjectsConflictsWarning"
iconType="help"
size="m"
title={
@ -247,6 +248,7 @@ exports[`Flyout conflicts should allow conflict resolution 2`] = `
exports[`Flyout conflicts should handle errors 1`] = `
<EuiCallOut
color="warning"
data-test-subj="importSavedObjectsFailedWarning"
iconType="help"
size="m"
title={
@ -276,6 +278,7 @@ exports[`Flyout conflicts should handle errors 1`] = `
exports[`Flyout errors should display unsupported type errors properly 1`] = `
<EuiCallOut
color="warning"
data-test-subj="importSavedObjectsFailedWarning"
iconType="help"
size="m"
title={
@ -335,6 +338,7 @@ exports[`Flyout legacy conflicts should allow conflict resolution 1`] = `
/>
<EuiCallOut
color="warning"
data-test-subj="importSavedObjectsLegacyWarning"
iconType="help"
size="m"
title={
@ -360,6 +364,7 @@ exports[`Flyout legacy conflicts should allow conflict resolution 1`] = `
/>
<EuiCallOut
color="warning"
data-test-subj="importSavedObjectsConflictsWarning"
iconType="help"
size="m"
title={
@ -511,6 +516,7 @@ exports[`Flyout legacy conflicts should handle errors 1`] = `
Array [
<EuiCallOut
color="warning"
data-test-subj="importSavedObjectsLegacyWarning"
iconType="help"
size="m"
title={
@ -531,6 +537,7 @@ Array [
</EuiCallOut>,
<EuiCallOut
color="warning"
data-test-subj="importSavedObjectsConflictsWarning"
iconType="help"
size="m"
title={

View file

@ -579,6 +579,7 @@ class FlyoutUI extends Component {
if (failedImports.length && (!this.hasUnmatchedReferences || (isLegacyFile === false && status === 'success'))) {
return (
<EuiCallOut
data-test-subj="importSavedObjectsFailedWarning"
title={(
<FormattedMessage id="kbn.management.objects.objectsTable.flyout.importFailedTitle" defaultMessage="Import failed"/>
)}
@ -788,6 +789,7 @@ class FlyoutUI extends Component {
if (this.state.isLegacyFile) {
legacyFileWarning = (
<EuiCallOut
data-test-subj="importSavedObjectsLegacyWarning"
title={(
<FormattedMessage
id="kbn.management.objects.objectsTable.flyout.legacyFileUsedTitle"
@ -811,6 +813,7 @@ class FlyoutUI extends Component {
if (this.hasUnmatchedReferences) {
indexPatternConflictsWarning = (
<EuiCallOut
data-test-subj="importSavedObjectsConflictsWarning"
title={(
<FormattedMessage
id="kbn.management.objects.objectsTable.flyout.indexPatternConflictsTitle"

View file

@ -22,6 +22,8 @@ import expect from '@kbn/expect';
export default function ({ getService, getPageObjects }) {
const pieChart = getService('pieChart');
const browser = getService('browser');
const kibanaServer = getService('kibanaServer');
const PageObjects = getPageObjects(['dashboard', 'timePicker', 'settings', 'common']);
describe('dashboard time zones', function () {
@ -30,15 +32,14 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.settings.navigateTo();
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', 'timezonetest_6_2_4.json'));
await PageObjects.settings.checkImportSucceeded();
await PageObjects.common.navigateToApp('dashboard');
await PageObjects.dashboard.loadSavedDashboard('time zone test');
});
after(async () => {
await PageObjects.settings.navigateTo();
await PageObjects.settings.clickKibanaSettings();
await PageObjects.settings.setAdvancedSettingsSelect('dateFormat:tz', 'UTC');
await PageObjects.common.navigateToApp('dashboard');
await kibanaServer.uiSettings.replace({ 'dateFormat:tz': 'UTC' });
await browser.refresh();
});
it('Exported dashboard adjusts EST time to UTC', async () => {

View file

@ -42,7 +42,7 @@ export default function ({ getService, getPageObjects }) {
it('should import saved objects', async function () {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects.ndjson'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
const objects = await PageObjects.settings.getSavedObjectsInTable();
@ -53,7 +53,7 @@ export default function ({ getService, getPageObjects }) {
it('should provide dialog to allow the importing of saved objects with index pattern conflicts', async function () {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_conflicts.ndjson'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportConflictsWarning();
await PageObjects.settings.associateIndexPattern('d1e4c910-a2e6-11e7-bb30-233be9be6a15', 'logstash-*');
await PageObjects.settings.clickConfirmChanges();
await PageObjects.header.waitUntilLoadingHasFinished();
@ -71,7 +71,7 @@ export default function ({ getService, getPageObjects }) {
// so that we can override the existing visualization.
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_exists.ndjson'), false);
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportConflictsWarning();
await PageObjects.settings.associateIndexPattern('logstash-*', 'logstash-*');
await PageObjects.settings.clickConfirmChanges();
@ -89,7 +89,7 @@ export default function ({ getService, getPageObjects }) {
// so that we can be prompted to override the existing visualization.
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_exists.ndjson'), false);
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportConflictsWarning();
await PageObjects.settings.associateIndexPattern('logstash-*', 'logstash-*');
await PageObjects.settings.clickConfirmChanges();
@ -103,13 +103,13 @@ export default function ({ getService, getPageObjects }) {
it('should import saved objects linked to saved searches', async function () {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_saved_search.ndjson'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.navigateTo();
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_connected_to_saved_search.ndjson'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -122,7 +122,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.settings.navigateTo();
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_connected_to_saved_search.ndjson'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkNoneImported();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -140,7 +140,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_with_saved_search.ndjson'));
// Wait for all the saves to happen
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportConflictsWarning();
await PageObjects.settings.clickConfirmChanges();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -154,7 +154,7 @@ export default function ({ getService, getPageObjects }) {
// First, import the objects
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_with_index_patterns.ndjson'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
// Wait for all the saves to happen
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -173,7 +173,7 @@ export default function ({ getService, getPageObjects }) {
// Then, import the objects
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_with_index_patterns.ndjson'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
// Wait for all the saves to happen
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -199,7 +199,7 @@ export default function ({ getService, getPageObjects }) {
it('should import saved objects', async function () {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects.json'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
const objects = await PageObjects.settings.getSavedObjectsInTable();
@ -210,7 +210,8 @@ export default function ({ getService, getPageObjects }) {
it('should provide dialog to allow the importing of saved objects with index pattern conflicts', async function () {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects-conflicts.json'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportLegacyWarning();
await PageObjects.settings.checkImportConflictsWarning();
await PageObjects.settings.associateIndexPattern('d1e4c910-a2e6-11e7-bb30-233be9be6a15', 'logstash-*');
await PageObjects.settings.clickConfirmChanges();
await PageObjects.header.waitUntilLoadingHasFinished();
@ -228,7 +229,8 @@ export default function ({ getService, getPageObjects }) {
// so that we can override the existing visualization.
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_exists.json'), false);
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportLegacyWarning();
await PageObjects.settings.checkImportConflictsWarning();
await PageObjects.settings.associateIndexPattern('logstash-*', 'logstash-*');
await PageObjects.settings.clickConfirmChanges();
@ -246,7 +248,8 @@ export default function ({ getService, getPageObjects }) {
// so that we can be prompted to override the existing visualization.
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_exists.json'), false);
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportLegacyWarning();
await PageObjects.settings.checkImportConflictsWarning();
await PageObjects.settings.associateIndexPattern('logstash-*', 'logstash-*');
await PageObjects.settings.clickConfirmChanges();
@ -260,13 +263,13 @@ export default function ({ getService, getPageObjects }) {
it('should import saved objects linked to saved searches', async function () {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_saved_search.json'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.navigateTo();
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_connected_to_saved_search.json'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -279,7 +282,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.settings.navigateTo();
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_connected_to_saved_search.json'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportFailedWarning();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -293,7 +296,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_saved_search.json'));
// Wait for all the saves to happen
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
// Second, we need to delete the index pattern
@ -307,7 +310,7 @@ export default function ({ getService, getPageObjects }) {
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_connected_to_saved_search.json'));
// Wait for all the saves to happen
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkNoneImported();
await PageObjects.settings.clickImportDone();
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -320,7 +323,7 @@ export default function ({ getService, getPageObjects }) {
// First, import the objects
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_with_index_patterns.json'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportFailedWarning();
await PageObjects.settings.clickImportDone();
// Wait for all the saves to happen
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();
@ -339,7 +342,7 @@ export default function ({ getService, getPageObjects }) {
// Then, import the objects
await PageObjects.settings.clickKibanaSavedObjects();
await PageObjects.settings.importFile(path.join(__dirname, 'exports', '_import_objects_with_index_patterns.json'));
await PageObjects.header.waitUntilLoadingHasFinished();
await PageObjects.settings.checkImportSucceeded();
await PageObjects.settings.clickImportDone();
// Wait for all the saves to happen
await PageObjects.settings.waitUntilSavedObjectsTableIsNotLoading();

View file

@ -98,8 +98,8 @@ export default function ({ getService, getPageObjects }) {
});
after(async function () {
await PageObjects.settings.clickKibanaSettings();
await PageObjects.settings.setAdvancedSettingsSelect('dateFormat:tz', 'UTC');
await kibanaServer.uiSettings.replace({ 'dateFormat:tz': 'UTC' });
await browser.refresh();
});
});
}

View file

@ -595,6 +595,26 @@ export function SettingsPageProvider({ getService, getPageObjects }) {
await PageObjects.header.waitUntilLoadingHasFinished();
}
async checkImportSucceeded() {
await testSubjects.existOrFail('importSavedObjectsSuccess', { timeout: 20000 });
}
async checkNoneImported() {
await testSubjects.existOrFail('importSavedObjectsSuccessNoneImported', { timeout: 20000 });
}
async checkImportConflictsWarning() {
await testSubjects.existOrFail('importSavedObjectsConflictsWarning', { timeout: 20000 });
}
async checkImportLegacyWarning() {
await testSubjects.existOrFail('importSavedObjectsLegacyWarning', { timeout: 20000 });
}
async checkImportFailedWarning() {
await testSubjects.existOrFail('importSavedObjectsFailedWarning', { timeout: 20000 });
}
async clickImportDone() {
await testSubjects.click('importSavedObjectsDoneBtn');
}