[TEST] copied delete bw comp tests to usual intergration tests
Added AwaitsFix to testDeletebyQuery and testDeleteRoutingRequired while checking if they fail as usual integration tests.
This commit is contained in:
parent
0196377190
commit
9a14b3ce6f
|
@ -22,6 +22,7 @@ import com.carrotsearch.randomizedtesting.LifecycleScope;
|
|||
import com.carrotsearch.randomizedtesting.generators.RandomPicks;
|
||||
import org.apache.lucene.index.Fields;
|
||||
import org.apache.lucene.util.English;
|
||||
import org.apache.lucene.util.LuceneTestCase;
|
||||
import org.elasticsearch.ElasticsearchIllegalArgumentException;
|
||||
import org.elasticsearch.Version;
|
||||
import org.elasticsearch.action.admin.cluster.health.ClusterHealthStatus;
|
||||
|
@ -559,6 +560,8 @@ public class BasicBackwardsCompatibilityTest extends ElasticsearchBackwardsCompa
|
|||
}
|
||||
|
||||
@Test
|
||||
@LuceneTestCase.AwaitsFix(bugUrl = "working on this")
|
||||
//made this tests a usual integration test to see if it fails in non bw comp mode
|
||||
public void testDeleteByQuery() throws ExecutionException, InterruptedException {
|
||||
createIndex("test");
|
||||
ensureYellow("test");
|
||||
|
@ -585,12 +588,11 @@ public class BasicBackwardsCompatibilityTest extends ElasticsearchBackwardsCompa
|
|||
refresh();
|
||||
searchResponse = client().prepareSearch("test").get();
|
||||
assertNoFailures(searchResponse);
|
||||
for (SearchHit searchHit : searchResponse.getHits()) {
|
||||
logger.debug("searchHit {}/{}/{}", searchHit.getIndex(), searchHit.getType(), searchHit.getId());
|
||||
}
|
||||
assertThat(searchResponse.getHits().totalHits(), equalTo(1l));
|
||||
}
|
||||
|
||||
@LuceneTestCase.AwaitsFix(bugUrl = "working on this")
|
||||
//made this tests a usual integration test to see if it fails in non bw comp mode
|
||||
@Test
|
||||
public void testDeleteRoutingRequired() throws ExecutionException, InterruptedException, IOException {
|
||||
assertAcked(prepareCreate("test").addMapping("test",
|
||||
|
@ -636,9 +638,6 @@ public class BasicBackwardsCompatibilityTest extends ElasticsearchBackwardsCompa
|
|||
refresh();
|
||||
searchResponse = client().prepareSearch("test").setSize(numDocs).get();
|
||||
assertNoFailures(searchResponse);
|
||||
for (SearchHit searchHit : searchResponse.getHits()) {
|
||||
logger.debug("searchHit {}/{}/{}", searchHit.getIndex(), searchHit.getType(), searchHit.getId());
|
||||
}
|
||||
assertThat(searchResponse.getHits().totalHits(), equalTo((long) numDocs - 2));
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@ import org.elasticsearch.action.ShardOperationFailedException;
|
|||
import org.elasticsearch.action.admin.indices.alias.Alias;
|
||||
import org.elasticsearch.action.deletebyquery.DeleteByQueryRequestBuilder;
|
||||
import org.elasticsearch.action.deletebyquery.DeleteByQueryResponse;
|
||||
import org.elasticsearch.action.deletebyquery.IndexDeleteByQueryResponse;
|
||||
import org.elasticsearch.action.index.IndexRequestBuilder;
|
||||
import org.elasticsearch.action.search.SearchResponse;
|
||||
import org.elasticsearch.action.support.IndicesOptions;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
|
@ -31,8 +33,11 @@ import org.elasticsearch.rest.RestStatus;
|
|||
import org.elasticsearch.test.ElasticsearchIntegrationTest;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures;
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
public class DeleteByQueryTests extends ElasticsearchIntegrationTest {
|
||||
|
@ -156,6 +161,36 @@ public class DeleteByQueryTests extends ElasticsearchIntegrationTest {
|
|||
assertHitCount(client().prepareCount("test").get(), 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteByTermQuery() throws ExecutionException, InterruptedException {
|
||||
createIndex("test");
|
||||
ensureGreen();
|
||||
|
||||
int numDocs = iterations(10, 50);
|
||||
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[numDocs + 1];
|
||||
for (int i = 0; i < numDocs; i++) {
|
||||
indexRequestBuilders[i] = client().prepareIndex("test", "test", Integer.toString(i)).setSource("field", "value");
|
||||
}
|
||||
indexRequestBuilders[numDocs] = client().prepareIndex("test", "test", Integer.toString(numDocs)).setSource("field", "other_value");
|
||||
indexRandom(true, indexRequestBuilders);
|
||||
|
||||
SearchResponse searchResponse = client().prepareSearch("test").get();
|
||||
assertNoFailures(searchResponse);
|
||||
assertThat(searchResponse.getHits().totalHits(), equalTo((long)numDocs + 1));
|
||||
|
||||
DeleteByQueryResponse deleteByQueryResponse = client().prepareDeleteByQuery("test").setQuery(QueryBuilders.termQuery("field", "value")).get();
|
||||
assertThat(deleteByQueryResponse.getIndices().size(), equalTo(1));
|
||||
for (IndexDeleteByQueryResponse indexDeleteByQueryResponse : deleteByQueryResponse) {
|
||||
assertThat(indexDeleteByQueryResponse.getIndex(), equalTo("test"));
|
||||
assertThat(indexDeleteByQueryResponse.getFailures().length, equalTo(0));
|
||||
}
|
||||
|
||||
refresh();
|
||||
searchResponse = client().prepareSearch("test").get();
|
||||
assertNoFailures(searchResponse);
|
||||
assertThat(searchResponse.getHits().totalHits(), equalTo(1l));
|
||||
}
|
||||
|
||||
private static String indexOrAlias() {
|
||||
return randomBoolean() ? "test" : "alias";
|
||||
}
|
||||
|
|
|
@ -30,7 +30,9 @@ import org.elasticsearch.action.count.CountResponse;
|
|||
import org.elasticsearch.action.delete.DeleteResponse;
|
||||
import org.elasticsearch.action.deletebyquery.DeleteByQueryResponse;
|
||||
import org.elasticsearch.action.get.GetResponse;
|
||||
import org.elasticsearch.action.index.IndexRequestBuilder;
|
||||
import org.elasticsearch.action.index.IndexResponse;
|
||||
import org.elasticsearch.action.search.SearchResponse;
|
||||
import org.elasticsearch.action.support.replication.ReplicationType;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.common.xcontent.XContentFactory;
|
||||
|
@ -39,9 +41,11 @@ import org.junit.Test;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
import static org.elasticsearch.client.Requests.*;
|
||||
import static org.elasticsearch.index.query.QueryBuilders.termQuery;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
|
||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures;
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.nullValue;
|
||||
|
@ -52,7 +56,6 @@ import static org.hamcrest.Matchers.nullValue;
|
|||
public class DocumentActionsTests extends ElasticsearchIntegrationTest {
|
||||
|
||||
protected void createIndex() {
|
||||
cluster().wipeIndices(getConcreteIndexName());
|
||||
createIndex(getConcreteIndexName());
|
||||
}
|
||||
|
||||
|
@ -267,6 +270,54 @@ public class DocumentActionsTests extends ElasticsearchIntegrationTest {
|
|||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeleteRoutingRequired() throws ExecutionException, InterruptedException, IOException {
|
||||
assertAcked(prepareCreate("test").addMapping("test",
|
||||
XContentFactory.jsonBuilder().startObject().startObject("test").startObject("_routing").field("required", true).endObject().endObject().endObject()));
|
||||
ensureGreen();
|
||||
|
||||
int numDocs = iterations(10, 50);
|
||||
IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[numDocs];
|
||||
for (int i = 0; i < numDocs - 2; i++) {
|
||||
indexRequestBuilders[i] = client().prepareIndex("test", "test", Integer.toString(i))
|
||||
.setRouting(randomAsciiOfLength(randomIntBetween(1, 10))).setSource("field", "value");
|
||||
}
|
||||
String firstDocId = Integer.toString(numDocs - 2);
|
||||
indexRequestBuilders[numDocs - 2] = client().prepareIndex("test", "test", firstDocId)
|
||||
.setRouting("routing").setSource("field", "value");
|
||||
String secondDocId = Integer.toString(numDocs - 1);
|
||||
String secondRouting = randomAsciiOfLength(randomIntBetween(1, 10));
|
||||
indexRequestBuilders[numDocs - 1] = client().prepareIndex("test", "test", secondDocId)
|
||||
.setRouting(secondRouting).setSource("field", "value");
|
||||
|
||||
indexRandom(true, indexRequestBuilders);
|
||||
|
||||
SearchResponse searchResponse = client().prepareSearch("test").get();
|
||||
assertNoFailures(searchResponse);
|
||||
assertThat(searchResponse.getHits().totalHits(), equalTo((long) numDocs));
|
||||
|
||||
//use routing
|
||||
DeleteResponse deleteResponse = client().prepareDelete("test", "test", firstDocId).setRouting("routing").get();
|
||||
assertThat(deleteResponse.isFound(), equalTo(true));
|
||||
GetResponse getResponse = client().prepareGet("test", "test", firstDocId).setRouting("routing").get();
|
||||
assertThat(getResponse.isExists(), equalTo(false));
|
||||
refresh();
|
||||
searchResponse = client().prepareSearch("test").get();
|
||||
assertNoFailures(searchResponse);
|
||||
assertThat(searchResponse.getHits().totalHits(), equalTo((long) numDocs - 1));
|
||||
|
||||
//don't use routing and trigger a broadcast delete
|
||||
deleteResponse = client().prepareDelete("test", "test", secondDocId).get();
|
||||
assertThat(deleteResponse.isFound(), equalTo(true));
|
||||
|
||||
getResponse = client().prepareGet("test", "test", secondDocId).setRouting(secondRouting).get();
|
||||
assertThat(getResponse.isExists(), equalTo(false));
|
||||
refresh();
|
||||
searchResponse = client().prepareSearch("test").setSize(numDocs).get();
|
||||
assertNoFailures(searchResponse);
|
||||
assertThat(searchResponse.getHits().totalHits(), equalTo((long) numDocs - 2));
|
||||
}
|
||||
|
||||
private XContentBuilder source(String id, String nameValue) throws IOException {
|
||||
return XContentFactory.jsonBuilder().startObject().startObject("type1").field("id", id).field("name", nameValue).endObject().endObject();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue