From 2462b49df1bf6981a3e1f9d520bf2b0b1a594a4f Mon Sep 17 00:00:00 2001 From: LeeDr Date: Mon, 6 Jun 2016 14:08:33 -0500 Subject: [PATCH] Condensed common delete index and updateConfigDoc into one method. --- test/functional/apps/dashboard/_dashboard.js | 8 ++--- .../apps/discover/_collapse_expand.js | 10 ++----- test/functional/apps/discover/_discover.js | 10 ++----- test/functional/apps/discover/_field_data.js | 10 ++----- .../functional/apps/discover/_shared_links.js | 10 ++----- .../apps/settings/_advanced_settings.js | 7 +---- .../apps/settings/_creation_form_changes.js | 7 +---- .../settings/_index_pattern_create_delete.js | 7 +---- .../settings/_index_pattern_popularity.js | 7 +---- .../settings/_index_pattern_results_sort.js | 7 +---- .../apps/settings/_initial_state.js | 7 +---- test/functional/apps/settings/index.js | 11 +------ test/functional/apps/visualize/index.js | 8 ++--- test/support/es_client.js | 29 ++++++++++++++++++- 14 files changed, 47 insertions(+), 91 deletions(-) diff --git a/test/functional/apps/dashboard/_dashboard.js b/test/functional/apps/dashboard/_dashboard.js index 8eda2713370c5..b2bf2b1466440 100644 --- a/test/functional/apps/dashboard/_dashboard.js +++ b/test/functional/apps/dashboard/_dashboard.js @@ -18,12 +18,8 @@ import { common.debug('Starting dashboard before method'); var logstash = scenarioManager.loadIfEmpty('logstashFunctional'); - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.updateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}); - }); - }) + // delete .kibana index and update configDoc + return esClient.deleteAndUpdateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}) // and load a set of makelogs data .then(function loadkibanaVisualizations() { common.debug('load kibana index with visualizations'); diff --git a/test/functional/apps/discover/_collapse_expand.js b/test/functional/apps/discover/_collapse_expand.js index 45ca7b51d7903..864b308cddeeb 100644 --- a/test/functional/apps/discover/_collapse_expand.js +++ b/test/functional/apps/discover/_collapse_expand.js @@ -20,14 +20,8 @@ import { var fromTime = '2015-09-19 06:31:44.000'; var toTime = '2015-09-23 18:31:44.000'; - // delete .kibana index - return esClient.delete('.kibana') - .then(function () { - // wait for Kibana to re-create it and add UTC and defaultIndex - return common.try(function () { - return esClient.updateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}); - }); - }) + // delete .kibana index and update configDoc + return esClient.deleteAndUpdateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}) .then(function loadkibanaIndexPattern() { common.debug('load kibana index with default index pattern'); return elasticDump.elasticLoad('visualize','.kibana'); diff --git a/test/functional/apps/discover/_discover.js b/test/functional/apps/discover/_discover.js index 52adc928b74b3..9227e04142148 100644 --- a/test/functional/apps/discover/_discover.js +++ b/test/functional/apps/discover/_discover.js @@ -18,14 +18,8 @@ import { var fromTime = '2015-09-19 06:31:44.000'; var toTime = '2015-09-23 18:31:44.000'; - // delete .kibana index - return esClient.delete('.kibana') - .then(function () { - // wait for Kibana to re-create it and add UTC and defaultIndex - return common.try(function () { - return esClient.updateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}); - }); - }) + // delete .kibana index and update configDoc + return esClient.deleteAndUpdateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}) .then(function loadkibanaIndexPattern() { common.debug('load kibana index with default index pattern'); return elasticDump.elasticLoad('visualize','.kibana'); diff --git a/test/functional/apps/discover/_field_data.js b/test/functional/apps/discover/_field_data.js index 91ccffafd1e65..9dd8993d6daa4 100644 --- a/test/functional/apps/discover/_field_data.js +++ b/test/functional/apps/discover/_field_data.js @@ -18,14 +18,8 @@ import { var fromTime = '2015-09-19 06:31:44.000'; var toTime = '2015-09-23 18:31:44.000'; - // delete .kibana index - return esClient.delete('.kibana') - .then(function () { - // wait for Kibana to re-create it and add UTC and defaultIndex - return common.try(function () { - return esClient.updateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}); - }); - }) + // delete .kibana index and update configDoc + return esClient.deleteAndUpdateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}) .then(function loadkibanaIndexPattern() { common.debug('load kibana index with default index pattern'); return elasticDump.elasticLoad('visualize','.kibana'); diff --git a/test/functional/apps/discover/_shared_links.js b/test/functional/apps/discover/_shared_links.js index 93839ad747da9..5607253511943 100644 --- a/test/functional/apps/discover/_shared_links.js +++ b/test/functional/apps/discover/_shared_links.js @@ -27,14 +27,8 @@ import { var fromTime = '2015-09-19 06:31:44.000'; var toTime = '2015-09-23 18:31:44.000'; - // delete .kibana index - return esClient.delete('.kibana') - .then(function () { - // wait for Kibana to re-create it and add UTC and defaultIndex - return common.try(function () { - return esClient.updateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}); - }); - }) + // delete .kibana index and update configDoc + return esClient.deleteAndUpdateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}) .then(function loadkibanaIndexPattern() { common.debug('load kibana index with default index pattern'); return elasticDump.elasticLoad('visualize','.kibana'); diff --git a/test/functional/apps/settings/_advanced_settings.js b/test/functional/apps/settings/_advanced_settings.js index c7f6e7ab78b00..3cef8d61b37e1 100644 --- a/test/functional/apps/settings/_advanced_settings.js +++ b/test/functional/apps/settings/_advanced_settings.js @@ -13,12 +13,7 @@ import { bdd.describe('creating and deleting default index', function describeIndexTests() { bdd.before(function () { // delete .kibana index and then wait for Kibana to re-create it - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.getConfigId(); - }); - }) + return esClient.deleteAndUpdateConfigDoc() .then(function () { return settingsPage.navigateTo(); }); diff --git a/test/functional/apps/settings/_creation_form_changes.js b/test/functional/apps/settings/_creation_form_changes.js index ccabec60805d1..ffbe9db41472b 100644 --- a/test/functional/apps/settings/_creation_form_changes.js +++ b/test/functional/apps/settings/_creation_form_changes.js @@ -13,12 +13,7 @@ import { bdd.describe('user input reactions', function () { bdd.beforeEach(function () { // delete .kibana index and then wait for Kibana to re-create it - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.getConfigId(); - }); - }) + return esClient.deleteAndUpdateConfigDoc() .then(function () { return settingsPage.navigateTo(); }); diff --git a/test/functional/apps/settings/_index_pattern_create_delete.js b/test/functional/apps/settings/_index_pattern_create_delete.js index 21c39771a2539..d6050fea15f62 100644 --- a/test/functional/apps/settings/_index_pattern_create_delete.js +++ b/test/functional/apps/settings/_index_pattern_create_delete.js @@ -14,12 +14,7 @@ import { bdd.describe('creating and deleting default index', function describeIndexTests() { bdd.before(function () { // delete .kibana index and then wait for Kibana to re-create it - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.getConfigId(); - }); - }) + return esClient.deleteAndUpdateConfigDoc() .then(function () { return settingsPage.navigateTo(); }); diff --git a/test/functional/apps/settings/_index_pattern_popularity.js b/test/functional/apps/settings/_index_pattern_popularity.js index b0e6479520b8e..3da9830c8a5e2 100644 --- a/test/functional/apps/settings/_index_pattern_popularity.js +++ b/test/functional/apps/settings/_index_pattern_popularity.js @@ -13,12 +13,7 @@ import { bdd.describe('index result popularity', function describeIndexTests() { bdd.before(function () { // delete .kibana index and then wait for Kibana to re-create it - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.getConfigId(); - }); - }) + return esClient.deleteAndUpdateConfigDoc() .then(function () { return settingsPage.navigateTo(); }); diff --git a/test/functional/apps/settings/_index_pattern_results_sort.js b/test/functional/apps/settings/_index_pattern_results_sort.js index 0a7fee10f2e8b..bd69ffa0a44f8 100644 --- a/test/functional/apps/settings/_index_pattern_results_sort.js +++ b/test/functional/apps/settings/_index_pattern_results_sort.js @@ -14,12 +14,7 @@ import { bdd.describe('index result field sort', function describeIndexTests() { bdd.before(function () { // delete .kibana index and then wait for Kibana to re-create it - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.getConfigId(); - }); - }); + return esClient.deleteAndUpdateConfigDoc(); }); var columns = [{ diff --git a/test/functional/apps/settings/_initial_state.js b/test/functional/apps/settings/_initial_state.js index 99935715f1c10..674bf60813b92 100644 --- a/test/functional/apps/settings/_initial_state.js +++ b/test/functional/apps/settings/_initial_state.js @@ -13,12 +13,7 @@ import { bdd.describe('initial state', function () { bdd.before(function () { // delete .kibana index and then wait for Kibana to re-create it - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.getConfigId(); - }); - }) + return esClient.deleteAndUpdateConfigDoc() .then(function () { return settingsPage.navigateTo(); }); diff --git a/test/functional/apps/settings/index.js b/test/functional/apps/settings/index.js index 6ee725d8f5670..ad2a22785cbc3 100644 --- a/test/functional/apps/settings/index.js +++ b/test/functional/apps/settings/index.js @@ -7,16 +7,7 @@ import { bdd, defaultTimeout, scenarioManager, esClient, common } from '../../.. // on setup, we create an settingsPage instance // that we will use for all the tests bdd.before(function () { - // delete .kibana index and then wait for Kibana to re-create it - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.getConfigId(); - }); - }) - .then(function () { - return scenarioManager.loadIfEmpty('makelogs'); - }); + return scenarioManager.loadIfEmpty('makelogs'); }); bdd.after(function () { diff --git a/test/functional/apps/visualize/index.js b/test/functional/apps/visualize/index.js index e652161b8b13c..e02ce4c51f01d 100644 --- a/test/functional/apps/visualize/index.js +++ b/test/functional/apps/visualize/index.js @@ -18,12 +18,8 @@ import { common.debug('Starting visualize before method'); var logstash = scenarioManager.loadIfEmpty('logstashFunctional'); - return esClient.delete('.kibana') - .then(function () { - return common.try(function () { - return esClient.updateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}); - }); - }) + // delete .kibana index and update configDoc + return esClient.deleteAndUpdateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}) .then(function loadkibanaIndexPattern() { common.debug('load kibana index with default index pattern'); return elasticDump.elasticLoad('visualize','.kibana'); diff --git a/test/support/es_client.js b/test/support/es_client.js index 42217a72c239b..8a3761c8e3ebc 100644 --- a/test/support/es_client.js +++ b/test/support/es_client.js @@ -84,7 +84,6 @@ export default (function () { return this.getConfigId() // now that we have the id, we can update - // return scenarioManager.updateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'}); .then(function (configId) { common.debug('updating config with ' + docMapString); return self.client.update({ @@ -100,7 +99,35 @@ export default (function () { .catch(function (err) { throw err; }); + }, + + /** + * Wrap the common 'delete index', 'updateConfigDoc' into one. + * [docMap] is optional. + * @return {Promise} A promise that is resolved when elasticsearch has a response + */ + deleteAndUpdateConfigDoc: function (docMap) { + var self = this; + var configId; + + return this.delete('.kibana') + .then(function () { + if (!docMap) { + return common.try(function () { + return self.getConfigId(); + }); + } else { + var docMapString = JSON.stringify(docMap); + return common.try(function () { + return self.updateConfigDoc(docMap); + }); + } + }) + .catch(function (err) { + throw err; + }); } + }; return EsClient;