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 );