From 5194521097d97d67211c7c8f012f59fa55dd6ac1 Mon Sep 17 00:00:00 2001 From: Simon Willnauer Date: Fri, 21 Mar 2014 16:12:18 +0100 Subject: [PATCH] [Test] Run after checks even if cluster scope is == TEST --- .../cluster/BlockClusterStatsTests.java | 3 ++ .../cluster/NoMasterNodeTests.java | 3 ++ .../test/ElasticsearchIntegrationTest.java | 35 ++++++++++--------- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/src/test/java/org/elasticsearch/cluster/BlockClusterStatsTests.java b/src/test/java/org/elasticsearch/cluster/BlockClusterStatsTests.java index 06d45693d2c81..742f327b8890a 100644 --- a/src/test/java/org/elasticsearch/cluster/BlockClusterStatsTests.java +++ b/src/test/java/org/elasticsearch/cluster/BlockClusterStatsTests.java @@ -27,6 +27,7 @@ import org.elasticsearch.test.ElasticsearchIntegrationTest.Scope; import org.junit.Test; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; @@ -53,5 +54,7 @@ public void testBlocks() throws Exception { ClusterStateResponse clusterStateResponse = client().admin().cluster().prepareState().clear().get(); assertThat(clusterStateResponse.getState().blocks().global(), hasSize(0)); assertThat(clusterStateResponse.getState().blocks().indices().size(), is(0)); + assertAcked(client().admin().cluster().prepareUpdateSettings().setTransientSettings( + ImmutableSettings.settingsBuilder().put("cluster.blocks.read_only", false).build()).get()); } } diff --git a/src/test/java/org/elasticsearch/cluster/NoMasterNodeTests.java b/src/test/java/org/elasticsearch/cluster/NoMasterNodeTests.java index 276ef7478c8a0..73a7df1a30cd8 100644 --- a/src/test/java/org/elasticsearch/cluster/NoMasterNodeTests.java +++ b/src/test/java/org/elasticsearch/cluster/NoMasterNodeTests.java @@ -125,5 +125,8 @@ public boolean apply(Object o) { assertThat(System.currentTimeMillis() - now, greaterThan(timeout.millis() - 50)); assertThat(e.status(), equalTo(RestStatus.SERVICE_UNAVAILABLE)); } + + cluster().startNode(settings); + client().admin().cluster().prepareHealth().setWaitForGreenStatus().setWaitForNodes("2").execute().actionGet(); } } diff --git a/src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java b/src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java index 83ac3a5e06f1f..2ee300fe937cb 100644 --- a/src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java +++ b/src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java @@ -259,23 +259,26 @@ private void clearClusters() throws IOException { public final void after() throws IOException { try { logger.info("[{}#{}]: cleaning up after test", getTestClass().getSimpleName(), getTestName()); - Scope currentClusterScope = getCurrentClusterScope(); - if (currentClusterScope == Scope.TEST) { - clearClusters(); // it is ok to leave persistent / transient cluster state behind if scope is TEST - } else { - MetaData metaData = client().admin().cluster().prepareState().execute().actionGet().getState().getMetaData(); - assertThat("test leaves persistent cluster metadata behind: " + metaData.persistentSettings().getAsMap(), metaData - .persistentSettings().getAsMap().size(), equalTo(0)); - assertThat("test leaves transient cluster metadata behind: " + metaData.transientSettings().getAsMap(), metaData - .transientSettings().getAsMap().size(), equalTo(0)); - + final Scope currentClusterScope = getCurrentClusterScope(); + try { + if (currentClusterScope != Scope.TEST) { + MetaData metaData = client().admin().cluster().prepareState().execute().actionGet().getState().getMetaData(); + assertThat("test leaves persistent cluster metadata behind: " + metaData.persistentSettings().getAsMap(), metaData + .persistentSettings().getAsMap().size(), equalTo(0)); + assertThat("test leaves transient cluster metadata behind: " + metaData.transientSettings().getAsMap(), metaData + .transientSettings().getAsMap().size(), equalTo(0)); + } + wipeIndices("_all"); // wipe after to make sure we fail in the test that didn't ack the delete + wipeTemplates(); + wipeRepositories(); + ensureAllSearchersClosed(); + ensureAllFilesClosed(); + ensureEstimatedStats(); + } finally { + if (currentClusterScope == Scope.TEST) { + clearClusters(); // it is ok to leave persistent / transient cluster state behind if scope is TEST + } } - wipeIndices("_all"); // wipe after to make sure we fail in the test that didn't ack the delete - wipeTemplates(); - wipeRepositories(); - ensureAllSearchersClosed(); - ensureAllFilesClosed(); - ensureEstimatedStats(); logger.info("[{}#{}]: cleaned up after test", getTestClass().getSimpleName(), getTestName()); } catch (OutOfMemoryError e) { if (e.getMessage().contains("unable to create new native thread")) {