You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/09/22 20:32:27 UTC

usergrid git commit: add delete test

Repository: usergrid
Updated Branches:
  refs/heads/two-dot-o-dev a527d0d0e -> 680338c5a


add delete test


Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/680338c5
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/680338c5
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/680338c5

Branch: refs/heads/two-dot-o-dev
Commit: 680338c5a98edf29a0e9c59bad97b26e8e01bf5d
Parents: a527d0d
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Sep 21 17:41:50 2015 -0400
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Sep 21 17:41:50 2015 -0400

----------------------------------------------------------------------
 .../collection/paging/PagingResourceIT.java     | 65 ++++++++++++++++----
 1 file changed, 54 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/680338c5/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/paging/PagingResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/paging/PagingResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/paging/PagingResourceIT.java
index aac279c..2e3a163 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/paging/PagingResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/paging/PagingResourceIT.java
@@ -18,10 +18,7 @@ package org.apache.usergrid.rest.applications.collection.paging;
 
 
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import org.junit.Ignore;
 import org.junit.Test;
@@ -68,15 +65,46 @@ public class PagingResourceIT extends AbstractRestIT {
 
         Thread.sleep(2000);
         //verifies that we can't get anymore entities from the collection
-        Collection getCollection = this.app().collection( collectionName ).get();
+        Collection getCollection = this.app().collection(collectionName).get();
 
-        assertFalse( "All entities should have been removed", getCollection.hasNext());
+        assertFalse("All entities should have been removed", getCollection.hasNext());
 
         //now do 1 more delete, we shouldn't get any results
         ApiResponse response = this.app().collection( collectionName ).delete( queryParameters );
-        assertEquals( "No more entities deleted", 0, response.getEntityCount() );
+        assertEquals("No more entities deleted", 0, response.getEntityCount());
     }
 
+    @Test
+    public void collectionBatchDeletingWithQuery() throws Exception {
+
+
+        String collectionName = "testCollectionBatchDeleting";
+
+        int numOfEntities = 40;
+
+        //Creates 40 entities by posting to collection
+        createEntities(collectionName, numOfEntities);
+
+        //sets the number of entities we want to delete per call.
+        int deletePageSize = 10;
+        int totalNumOfPages = numOfEntities/deletePageSize;
+        QueryParameters queryParameters = new QueryParameters().setLimit(deletePageSize);
+        queryParameters.addParam("ql", "select * where city='Denver'");
+
+        //deletes the entities using the above set value. Then verifies that those entities were deleted.
+        deleteByPage(deletePageSize, totalNumOfPages, collectionName, queryParameters, false);
+
+
+        Thread.sleep(2000);
+        //verifies that we can't get anymore entities from the collection
+        Collection getCollection = this.app().collection( collectionName ).get(queryParameters);
+
+        assertFalse( "All entities should have been removed", getCollection.hasNext());
+
+        //now do 1 more delete, we shouldn't get any results
+        Collection response = this.app().collection( collectionName ).get(queryParameters);
+        assertEquals("No more entities deleted", 0, response.getNumOfEntities());
+    }
 
     /**
      * Deletes entities from collectionName collection by deleting the number of entities specified in
@@ -88,14 +116,19 @@ public class PagingResourceIT extends AbstractRestIT {
      * @param collectionName
      * @param queryParameters
      */
-    public void deleteByPage(int deletePageSize,int totalPages,String collectionName, QueryParameters queryParameters){
+    public void deleteByPage(int deletePageSize,int totalPages,String collectionName, QueryParameters queryParameters) {
+        deleteByPage(deletePageSize, totalPages, collectionName, queryParameters, true);
+    }
+
+    public void deleteByPage(int deletePageSize,int totalPages,String collectionName, QueryParameters queryParameters, boolean validate){
         for ( int i = 0; i < totalPages; i++ ) {
 
             ApiResponse response = this.app().collection( collectionName ).delete( queryParameters );
 
             this.refreshIndex();
 
-            assertEquals("Entities should have been deleted", deletePageSize,response.getEntityCount() );
+            if(validate)
+                assertEquals("Entities should have been deleted", deletePageSize,response.getEntityCount() );
             try{Thread.sleep(100);}catch (InterruptedException ie){
 
             }
@@ -177,12 +210,12 @@ public class PagingResourceIT extends AbstractRestIT {
         String collectionName = "testPagingEntities" ;
 
         //creates entities
-        createEntities( collectionName,numOfEntities );
+        createEntities(collectionName, numOfEntities);
 
         //pages through entities and verifies that they are correct.
         QueryParameters queryParameters = new QueryParameters();
         queryParameters.setQuery( "select * ORDER BY created" );
-        pageAndVerifyEntities( collectionName, queryParameters, numOfPages, numOfEntities );
+        pageAndVerifyEntities(collectionName, queryParameters, numOfPages, numOfEntities);
     }
 
 
@@ -349,10 +382,20 @@ public class PagingResourceIT extends AbstractRestIT {
      */
     public List<Entity> createEntities(String collectionName ,int numOfEntities ){
         List<Entity> entities = new LinkedList<>(  );
+        Random random = new Random();
+        List<String> cities = new ArrayList<String>();
+        cities.add("Denver");
+        cities.add("New York");
+        cities.add("Los Angeles");
+        cities.add("Los");
+        cities.add("Boulder");
+
 
         for ( int i = 1; i <= numOfEntities; i++ ) {
             Map<String, Object> entityPayload = new HashMap<String, Object>();
             entityPayload.put( "name", String.valueOf( i ) );
+            entityPayload.put( "city", cities.get(random.nextInt(5)) );
+
             Entity entity = new Entity( entityPayload );
 
             entities.add( entity );