Browse Source

Add simple test for delete by field query

Simon Willnauer 12 years ago
parent
commit
89f8b13e78

+ 23 - 2
src/test/java/org/elasticsearch/deleteByQuery/DeleteByQueryTests.java

@@ -30,6 +30,7 @@ import org.elasticsearch.test.AbstractIntegrationTest;
 import org.junit.Assert;
 import org.junit.Test;
 
+import static org.elasticsearch.test.hamcrest.ElasticSearchAssertions.assertHitCount;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.notNullValue;
 
@@ -37,7 +38,7 @@ public class DeleteByQueryTests extends AbstractIntegrationTest {
 
     @Test
     public void testDeleteAllNoIndices() {
-                client().admin().indices().prepareRefresh().execute().actionGet();
+        client().admin().indices().prepareRefresh().execute().actionGet();
         DeleteByQueryRequestBuilder deleteByQueryRequestBuilder = client().prepareDeleteByQuery();
         deleteByQueryRequestBuilder.setQuery(QueryBuilders.matchAllQuery());
         DeleteByQueryResponse actionGet = deleteByQueryRequestBuilder.execute().actionGet();
@@ -98,7 +99,7 @@ public class DeleteByQueryTests extends AbstractIntegrationTest {
 
     @Test
     public void testFailure() throws Exception {
-                client().admin().indices().prepareCreate("twitter").execute().actionGet();
+        client().admin().indices().prepareCreate("twitter").execute().actionGet();
 
         DeleteByQueryResponse response = client().prepareDeleteByQuery("twitter")
                 .setQuery(QueryBuilders.hasChildQuery("type", QueryBuilders.matchAllQuery()))
@@ -108,5 +109,25 @@ public class DeleteByQueryTests extends AbstractIntegrationTest {
         assertThat(response.getIndex("twitter").getSuccessfulShards(), equalTo(0));
         assertThat(response.getIndex("twitter").getFailedShards(), equalTo(5));
     }
+    
+    @Test
+    public void testDeleteByFieldQuery() throws Exception {
+        client().admin().indices().prepareCreate("test").execute().actionGet();
+        int numDocs = atLeast(10);
+        for (int i = 0; i < numDocs; i++) {
+            client().prepareIndex("test", "test", Integer.toString(i))
+            .setRouting(randomAsciiOfLengthBetween(1,5))
+            .setSource("foo", "bar").get();
+        }
+        refresh();
+        assertHitCount(client().prepareCount("test").setQuery(QueryBuilders.fieldQuery("_id",Integer.toString(between(0,numDocs-1)))).get(), 1);
+        assertHitCount(client().prepareCount("test").setQuery(QueryBuilders.matchAllQuery()).get(), numDocs);
+        client().prepareDeleteByQuery("test")
+                .setQuery(QueryBuilders.fieldQuery("_id", Integer.toString(between(0,numDocs-1))))
+                .execute().actionGet();
+        refresh();
+        assertHitCount(client().prepareCount("test").setQuery(QueryBuilders.matchAllQuery()).get(), numDocs-1);
+
+    }
 
 }