You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by to...@apache.org on 2014/10/15 21:50:43 UTC
[1/7] git commit: adding device deletion
Repository: incubator-usergrid
Updated Branches:
refs/heads/two-dot-o 27db106eb -> 3b1276650
adding device deletion
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/bf9f69fb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/bf9f69fb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/bf9f69fb
Branch: refs/heads/two-dot-o
Commit: bf9f69fb00d4902eed75a38e7fd45abca6ec51bf
Parents: 83de8ae
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 14 14:50:27 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 14 14:50:27 2014 -0600
----------------------------------------------------------------------
.../services/devices/DevicesService.java | 49 ++++++++++++++++++--
.../services/users/devices/DevicesService.java | 33 +++++++++++++
2 files changed, 77 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bf9f69fb/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java b/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
index 3376b15..93e895f 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
@@ -17,13 +17,26 @@
package org.apache.usergrid.services.devices;
+import java.util.ArrayList;
+import java.util.List;
import java.util.UUID;
+import org.apache.shiro.SecurityUtils;
+import org.apache.usergrid.persistence.ConnectionRef;
+import org.apache.usergrid.persistence.EntityRef;
+import org.apache.usergrid.persistence.Results;
+import org.apache.usergrid.persistence.SimpleEntityRef;
+import org.apache.usergrid.persistence.entities.Device;
+import org.apache.usergrid.persistence.entities.User;
+import org.apache.usergrid.persistence.index.query.Identifier;
+import org.apache.usergrid.persistence.index.query.Query;
+import org.apache.usergrid.security.shiro.utils.SubjectUtils;
+import org.apache.usergrid.services.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.usergrid.services.AbstractCollectionService;
-import org.apache.usergrid.services.ServiceContext;
-import org.apache.usergrid.services.ServiceResults;
+import rx.Scheduler;
+import rx.functions.Func1;
+import rx.schedulers.Schedulers;
public class DevicesService extends AbstractCollectionService {
@@ -39,14 +52,40 @@ public class DevicesService extends AbstractCollectionService {
@Override
public ServiceResults putItemById( ServiceContext context, UUID id ) throws Exception {
- logger.debug( "Registering device {}", id );
+ logger.debug("Registering device {}", id);
return super.putItemById( context, id );
}
@Override
public ServiceResults postItemById( ServiceContext context, UUID id ) throws Exception {
- logger.info( "Attempting to connect an entity to device {}", id );
+ logger.info("Attempting to connect an entity to device {}", id);
return super.postItemById( context, id );
}
+
+ protected void deleteEntityConnection(EntityRef entityRef){
+ if(entityRef == null) {
+ return;
+ }
+ try {
+ List<ConnectionRef> connections = new ArrayList<ConnectionRef>();
+ List<ConnectionRef> refs = em.getConnectedEntities(entityRef, "devices", "users", Query.Level.IDS).getConnections();
+ if(refs!=null) {
+ connections.addAll(refs);
+ }
+ refs = em.getConnectingEntities(entityRef,"users","devices", Query.Level.IDS).getConnections();
+ if(refs!=null) {
+ connections.addAll(refs);
+ }
+ for(ConnectionRef connectionRef : connections) {
+ try {
+ em.deleteConnection(connectionRef);
+ } catch (Exception e) {
+ logger.error("Failed to delete connection " + connectionRef.toString(), e);
+ }
+ }
+ }catch (Exception e){
+ logger.error("failed to get connection",e);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bf9f69fb/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java
index 672de8f..bdcd574 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/devices/DevicesService.java
@@ -17,9 +17,15 @@
package org.apache.usergrid.services.users.devices;
+import org.apache.usergrid.persistence.EntityRef;
+import org.apache.usergrid.persistence.SimpleEntityRef;
+import org.apache.usergrid.services.ServiceContext;
+import org.apache.usergrid.services.ServiceResults;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.UUID;
+
public class DevicesService extends org.apache.usergrid.services.devices.DevicesService {
@@ -30,4 +36,31 @@ public class DevicesService extends org.apache.usergrid.services.devices.Devices
super();
logger.debug( "/users/*/devices" );
}
+
+ @Override
+ public ServiceResults putItemById( ServiceContext context, UUID id ) throws Exception {
+ logger.debug("Registering device {}", id);
+ unregisterDeviceToUsers(id);
+ ServiceResults results = super.putItemById( context, id );
+ return results;
+ }
+
+
+ @Override
+ public ServiceResults postItemById( ServiceContext context, UUID id ) throws Exception {
+ logger.info( "Attempting to connect an entity to device {}", id );
+ unregisterDeviceToUsers(id);
+ ServiceResults results = super.postItemById( context, id );
+ return results;
+ }
+
+ protected void unregisterDeviceToUsers(UUID deviceId){
+ try {
+ EntityRef device = new SimpleEntityRef("device",deviceId);
+ deleteEntityConnection(device);
+ } catch (Exception e) {
+ logger.error("Failed to delete connection for " + deviceId.toString(), e);
+ }
+
+ }
}
[3/7] git commit: fix device removal, remove devices
Posted by to...@apache.org.
fix device removal, remove devices
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/72fc2bda
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/72fc2bda
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/72fc2bda
Branch: refs/heads/two-dot-o
Commit: 72fc2bda35fe689168242c21bbcf6c086c470f3f
Parents: d3cce6e
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 14 16:17:37 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 14 16:17:37 2014 -0600
----------------------------------------------------------------------
.../corepersistence/CpRelationManager.java | 10 +++--
.../services/devices/DevicesService.java | 42 ++++++++++----------
2 files changed, 27 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/72fc2bda/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
index 49477e2..2a790ab 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
@@ -18,6 +18,7 @@ package org.apache.usergrid.corepersistence;
import static me.prettyprint.hector.api.factory.HFactory.createMutator;
+import com.clearspring.analytics.hash.MurmurHash;
import com.yammer.metrics.annotation.Metered;
import java.nio.ByteBuffer;
import java.util.AbstractMap;
@@ -306,7 +307,7 @@ public class CpRelationManager implements RelationManager {
GraphManager gm = managerCache.getGraphManager(applicationScope);
Iterator<String> edgeTypes = gm.getEdgeTypesToTarget( new SimpleSearchEdgeType(
- cpHeadEntity.getId(), edgeType, null) ).toBlockingObservable().getIterator();
+ cpHeadEntity.getId(), edgeType, null) ).toBlocking().getIterator();
logger.debug("getContainers(): "
+ "Searched for edges of type {}\n to target {}:{}\n in scope {}\n found: {}",
@@ -809,8 +810,9 @@ public class CpRelationManager implements RelationManager {
Edge collectionToItemEdge = new SimpleEdge(
cpHeadEntity.getId(),
CpNamingUtils.getEdgeTypeFromCollectionName( collName),
- memberEntity.getId(),
- memberEntity.getId().getUuid().timestamp() );
+ memberEntity.getId(),
+ UUIDUtils.getUUIDLong(memberEntity.getId().getUuid())
+ );
gm.deleteEdge(collectionToItemEdge).toBlockingObservable().last();
// remove edge from item to collection
@@ -819,7 +821,7 @@ public class CpRelationManager implements RelationManager {
CpNamingUtils
.getEdgeTypeFromCollectionName( Schema.defaultCollectionName( cpHeadEntity.getId().getType() )),
cpHeadEntity.getId(),
- cpHeadEntity.getId().getUuid().timestamp() );
+ UUIDUtils.getUUIDLong(cpHeadEntity.getId().getUuid()));
gm.deleteEdge(itemToCollectionEdge).toBlockingObservable().last();
// special handling for roles collection of a group
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/72fc2bda/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java b/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
index 93e895f..d1bb3db 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/devices/DevicesService.java
@@ -22,10 +22,7 @@ import java.util.List;
import java.util.UUID;
import org.apache.shiro.SecurityUtils;
-import org.apache.usergrid.persistence.ConnectionRef;
-import org.apache.usergrid.persistence.EntityRef;
-import org.apache.usergrid.persistence.Results;
-import org.apache.usergrid.persistence.SimpleEntityRef;
+import org.apache.usergrid.persistence.*;
import org.apache.usergrid.persistence.entities.Device;
import org.apache.usergrid.persistence.entities.User;
import org.apache.usergrid.persistence.index.query.Identifier;
@@ -34,6 +31,7 @@ import org.apache.usergrid.security.shiro.utils.SubjectUtils;
import org.apache.usergrid.services.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import rx.Observable;
import rx.Scheduler;
import rx.functions.Func1;
import rx.schedulers.Schedulers;
@@ -63,27 +61,29 @@ public class DevicesService extends AbstractCollectionService {
return super.postItemById( context, id );
}
- protected void deleteEntityConnection(EntityRef entityRef){
+ protected void deleteEntityConnection(final EntityRef entityRef){
if(entityRef == null) {
return;
}
try {
- List<ConnectionRef> connections = new ArrayList<ConnectionRef>();
- List<ConnectionRef> refs = em.getConnectedEntities(entityRef, "devices", "users", Query.Level.IDS).getConnections();
- if(refs!=null) {
- connections.addAll(refs);
- }
- refs = em.getConnectingEntities(entityRef,"users","devices", Query.Level.IDS).getConnections();
- if(refs!=null) {
- connections.addAll(refs);
- }
- for(ConnectionRef connectionRef : connections) {
- try {
- em.deleteConnection(connectionRef);
- } catch (Exception e) {
- logger.error("Failed to delete connection " + connectionRef.toString(), e);
- }
- }
+ Results entities = em.getCollection(entityRef,"users",null,100, Query.Level.REFS,false);
+ Observable.from(entities.getEntities())
+ .map(new Func1<Entity, Entity>() {
+ @Override
+ public Entity call(Entity user) {
+ try {
+ Results devicesResults = em.getCollection(user,"devices",null,100,Query.Level.REFS,false);
+ List<Entity> devices = devicesResults.getEntities();
+ for(EntityRef device : devices){
+ em.removeFromCollection(user, "devices",device);
+ }
+ em.removeFromCollection(entityRef, "users",user);
+ } catch (Exception e) {
+ logger.error("Failed to delete connection " + user.toString(), e);
+ }
+ return user;
+ }
+ }).toBlocking().lastOrDefault(null);
}catch (Exception e){
logger.error("failed to get connection",e);
}
[7/7] git commit: fix service
Posted by to...@apache.org.
fix service
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/3b127665
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/3b127665
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/3b127665
Branch: refs/heads/two-dot-o
Commit: 3b1276650eb1da5e7cab64c94a79a9a00a283d98
Parents: b5470f1
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Oct 15 13:39:55 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Oct 15 13:39:55 2014 -0600
----------------------------------------------------------------------
.../notifications/NotificationsService.java | 5 +-
.../apns/NotificationsServiceIT.java | 108 ++-----------
.../gcm/NotificationsServiceIT.java | 153 ++-----------------
3 files changed, 27 insertions(+), 239 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3b127665/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
index 36c3a14..ee5c1cb 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/NotificationsService.java
@@ -60,7 +60,6 @@ public class NotificationsService extends AbstractCollectionService {
private static final int PAGE = 100;
private static final Logger LOG = LoggerFactory.getLogger(NotificationsService.class);
//need a mocking framework, this is to substitute for no mocking
- public static PathQuery<Device> TEST_PATH_QUERY = null;
public static QueueManager TEST_QUEUE_MANAGER = null;
public static final String NOTIFIER_ID_POSTFIX = ".notifier.id";
@@ -139,7 +138,7 @@ public class NotificationsService extends AbstractCollectionService {
postMeter.mark();
try {
validate(null, context.getPayload());
- PathQuery<Device> pathQuery = TEST_PATH_QUERY != null ? TEST_PATH_QUERY : getPathQuery(context.getRequest().getOriginalParameters());
+ PathQuery<Device> pathQuery = getPathQuery(context.getRequest().getOriginalParameters());
context.getProperties().put("state", Notification.State.CREATED);
context.getProperties().put("pathQuery", pathQuery);
context.setOwner(sm.getApplication());
@@ -177,7 +176,7 @@ public class NotificationsService extends AbstractCollectionService {
org.apache.usergrid.persistence.index.query.Query query = sp.getQuery();
if (query == null) {
query = new Query();
- if(sp.isName() && !sp.getName().equals("notifications")) {
+ if(!sp.isName() || (sp.isName() && !sp.getName().equals("notifications"))) {
query.addIdentifier(sp.getIdentifier());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3b127665/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
index 76dbed3..905483e 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
@@ -117,41 +117,16 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
user1 = app.getEm().create(user1);
// create User
- user2 = new User();
+ user2 = new User();
user2.setUsername("user2");
user2.setEmail("user2@usergrid.org");
user2 = app.getEm().create(user2);
- app.clear();
- e = app.testRequest(ServiceAction.POST, 1, "users",user2.getUuid(),"devices",device1.getUuid()).getEntity();
- app.clear();
- e = app.testRequest(ServiceAction.POST, 1, "users",user1.getUuid(),"devices",device1.getUuid()).getEntity();
- List device1Users = app.getEm().getCollection(device1,"users",null,100, Query.Level.REFS,false).getEntities();
- assertEquals(device1Users.size(),1);
-
- app.clear();
- e = app.testRequest(ServiceAction.POST, 1, "users",user1.getUuid(),"devices",device2.getUuid()).getEntity();
-
-
- // create Group
- group1 = new Group();
- group1.setPath("path");
- group1 = app.getEm().create(group1);
- app.getEm().createConnection(group1, "users", user1);
-
ns = getNotificationService();
TestQueueManager qm = new TestQueueManager();
ns.TEST_QUEUE_MANAGER = qm;
- Query query = new Query();
- //query.addIdentifier(sp.getIdentifier());
- query.setLimit(100);
- query.setCollection("devices");
- query.setResultsLevel(Query.Level.ALL_PROPERTIES);
- PathQuery pathQuery = new PathQuery( new SimpleEntityRef(app.getEm().getApplicationRef()), query);
-
- ns.TEST_PATH_QUERY = pathQuery;
app.getEm().refreshIndex();
listener = new QueueListener(ns.getServiceManagerFactory(),ns.getEntityManagerFactory(),ns.getMetricsFactory(), new Properties());
@@ -177,13 +152,6 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
// give queue manager a query for loading 100 devices from an application (why?)
app.clear();
- Query pQuery = new Query();
- pQuery.setLimit(100);
- pQuery.setCollection("devices");
- pQuery.setResultsLevel(Query.Level.ALL_PROPERTIES);
- pQuery.addIdentifier(new ServiceParameter.NameParameter(device1.getUuid().toString()).getIdentifier());
- ns.TEST_PATH_QUERY = new PathQuery( new SimpleEntityRef(app.getEm().getApplicationRef()), pQuery);
-
// create a "hellow world" notification
String payload = getPayload();
Map<String, String> payloads = new HashMap<String, String>(1);
@@ -193,7 +161,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("debug",true);
// post notification to service manager
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
+ Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications").getEntity();
// ensure notification it was created
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
@@ -270,14 +238,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Query pQuery = new Query();
- pQuery.setLimit(100);
- pQuery.setCollection("devices");
- pQuery.setResultsLevel(Query.Level.ALL_PROPERTIES);
- pQuery.addIdentifier(new ServiceParameter.NameParameter("1234").getIdentifier());
- ns.TEST_PATH_QUERY = new PathQuery( new SimpleEntityRef(app.getEm().getApplicationRef()), pQuery);
- e = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
- app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
+ app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
Notification notification = app.getEm().get(e.getUuid(), Notification.class);
assertEquals(
@@ -326,7 +287,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
+ Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications")
.getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
@@ -387,7 +348,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("payloads", payloads);
payloads.put("xxx", "");
try {
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
+ Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications")
.getEntity();
fail("invalid payload should have been rejected");
} catch (IllegalArgumentException ex) {
@@ -466,7 +427,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
properties.put("queued", System.currentTimeMillis());
properties.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
+ Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications")
.getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
@@ -502,7 +463,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
+ Entity e = app.testRequest(ServiceAction.POST, 1, "notifications",";ql=notifications").getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
Notification notification = app.getEm().get(e.getUuid(),Notification.class);
@@ -560,7 +521,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- e = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
+ e = app.testRequest(ServiceAction.POST, 1, "notifications",";ql=notifications").getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
app.getEm().refreshIndex();
@@ -621,7 +582,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- e = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
+ e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications").getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
app.getEm().refreshIndex();
@@ -689,7 +650,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- e = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
+ e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications").getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
Notification notification = app.getEm().get(e.getUuid(),
@@ -746,7 +707,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
+ Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications")
.getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
@@ -797,8 +758,6 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
// give queue manager a query for loading 100 devices from an application (why?)
app.clear();
- ns.TEST_PATH_QUERY = null;
-
// create a "hello world" notification
String payload = getPayload();
Map<String, String> payloads = new HashMap<String, String>(1);
@@ -883,7 +842,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("debug",true);
// create a notification
- entity = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
+ entity = app.testRequest(ServiceAction.POST, 1, "notifications",";ql=notifications").getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", entity.getUuid());
app.getEm().refreshIndex();
@@ -900,49 +859,6 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
// checkStatistics(notification, NUM_DEVICES, 0);
}
- @Ignore("Run only if you need to.")
- @Test
- public void loadTest() throws Exception {
-
- MockSuccessfulProviderAdapter.install(ns, true);
-
- final int NUM_DEVICES = 10000;
-
- app.clear();
- String payload = getPayload();
- Map<String, String> payloads = new HashMap<String, String>(1);
- payloads.put(notifier.getUuid().toString(), payload);
- app.put("payloads", payloads);
- app.put("queued", System.currentTimeMillis());
- app.put("debug",true);
-
- // create a notification
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
- .getEntity();
- app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
- Notification notification = (Notification) e.toTypedEntity();
-
- // create a bunch of devices and add them to the notification
- app.clear();
- app.put(notifier.getName() + NOTIFIER_ID_POSTFIX, PUSH_TOKEN);
- for (int i = 0; i < NUM_DEVICES; i++) {
- Entity entity = app.getEm().create("device", app.getProperties());
- ns.addDevice(notification, entity);
- }
-
- long time = System.currentTimeMillis();
- LOG.error("START DELIVERY OF {} NOTIFICATIONS", NUM_DEVICES);
-
- // perform push //
- notification = scheduleNotificationAndWait(notification);
- LOG.error("END DELIVERY OF {} NOTIFICATIONS ({})", NUM_DEVICES,
- System.currentTimeMillis() - time);
-
- // check receipts //
- checkReceipts(notification, NUM_DEVICES);
- checkStatistics(notification, NUM_DEVICES, 0);
- }
-
private String getPayload(){
ApnsPayloadBuilder builder = new ApnsPayloadBuilder();
builder.setAlertBody("Hello, World!");
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/3b127665/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java
index 81f1f77..7143413 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/gcm/NotificationsServiceIT.java
@@ -88,8 +88,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.clear();
app.put(key, PUSH_TOKEN);
- Entity e = app.testRequest(ServiceAction.POST, 1, "devices")
- .getEntity();
+ Entity e = app.testRequest(ServiceAction.POST, 1, "devices") .getEntity();
app.testRequest(ServiceAction.GET, 1, "devices", e.getUuid());
device1 = app.getEm().get(e.getUuid(), Device.class);
@@ -103,16 +102,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
TestQueueManager qm = new TestQueueManager();
ns.TEST_QUEUE_MANAGER = qm;
- Query query = new Query();
- //query.addIdentifier(sp.getIdentifier());
- query.setLimit(100);
- query.setCollection("devices");
- query.setResultsLevel(Query.Level.ALL_PROPERTIES);
- PathQuery pathQuery = new PathQuery(new SimpleEntityRef( app.getEm().getApplicationRef()), query);
-
- ns.TEST_PATH_QUERY = pathQuery;
- listener = new QueueListener(ns.getServiceManagerFactory(),
- ns.getEntityManagerFactory(),ns.getMetricsFactory(), new Properties());
+ listener = new QueueListener(ns.getServiceManagerFactory(), ns.getEntityManagerFactory(),ns.getMetricsFactory(), new Properties());
listener.DEFAULT_SLEEP = 200;
listener.TEST_QUEUE_MANAGER = qm;
listener.start();
@@ -146,7 +136,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("debug",true);
app.put("queued", System.currentTimeMillis());
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
+ Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications")
.getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
@@ -161,13 +151,6 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
@Test
public void singlePushNotification() throws Exception {
- Query pQuery = new Query();
- pQuery.setLimit(100);
- pQuery.setCollection("devices");
- pQuery.setResultsLevel(Query.Level.ALL_PROPERTIES);
- pQuery.addIdentifier(new ServiceParameter.NameParameter(device1.getUuid().toString()).getIdentifier());
- ns.TEST_PATH_QUERY = new PathQuery(new SimpleEntityRef( app.getEm().getApplicationRef()), pQuery);
-
app.clear();
String payload = "Hello, World!";
Map<String, String> payloads = new HashMap<String, String>(1);
@@ -176,7 +159,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
+ Entity e = app.testRequest(ServiceAction.POST, 1, "devices",device1.getUuid(),"notifications").getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
Notification notification = app.getEm().get(e.getUuid(), Notification.class);
@@ -205,14 +188,6 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
user.getUuid(), "devices", device1.getUuid()).getEntity();
assertEquals(device.getUuid(), device1.getUuid());
- // create path query to search in user's device collection for device by UUID
- Query pQuery = new Query();
- pQuery.setLimit(100);
- pQuery.setCollection("devices");
- pQuery.setResultsLevel(Query.Level.ALL_PROPERTIES);
- pQuery.addIdentifier(new ServiceParameter.NameParameter(
- device.getUuid().toString()).getIdentifier());
- ns.TEST_PATH_QUERY = new PathQuery( user, pQuery );
// create and post notification
String payload = "Hello, World!";
@@ -221,7 +196,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("payloads", payloads);
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications").getEntity();
+ Entity e = app.testRequest(ServiceAction.POST, 1,"users","asdf", "notifications").getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
app.getEm().refreshIndex();
@@ -246,12 +221,10 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
- .getEntity();
+ Entity e = app.testRequest(ServiceAction.POST, 1, "notifications",";ql=notifications") .getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
- Notification notification = app.getEm().get(e.getUuid(),
- Notification.class);
+ Notification notification = app.getEm().get(e.getUuid(), Notification.class);
assertEquals(
notification.getPayloads().get(notifier.getUuid().toString()),
payload);
@@ -297,7 +270,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
+ Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications")
.getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
@@ -328,7 +301,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("debug",true);
try {
- app.testRequest(ServiceAction.POST, 1, "notifications");
+ app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications");
fail("invalid payload should have been rejected");
} catch (IllegalArgumentException ex) {
// ok
@@ -340,7 +313,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("payloads", payloads);
payloads.put("xxx", "");
try {
- app.testRequest(ServiceAction.POST, 1, "notifications");
+ app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications");
fail("invalid payload should have been rejected");
} catch (IllegalArgumentException ex) {
// ok
@@ -372,7 +345,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("debug",true);
try {
- app.testRequest(ServiceAction.POST, 1, "notifications");
+ app.testRequest(ServiceAction.POST, 1, "devices",device1.getUuid(),"notifications");
fail("invalid payload should have been rejected");
} catch (Exception ex) {
assertEquals("java.lang.IllegalArgumentException: GCM payloads must be 4096 characters or less",
@@ -410,7 +383,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
+ Entity e = app.testRequest(ServiceAction.POST, 1, "devices",device1.getUuid(),"notifications")
.getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
@@ -467,7 +440,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
app.put("queued", System.currentTimeMillis());
app.put("debug",true);
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
+ Entity e = app.testRequest(ServiceAction.POST, 1,"devices",device1.getUuid(), "notifications")
.getEntity();
app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
@@ -488,104 +461,4 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
fail("Should have received a ConnectionException");
}
- @Ignore("Run only if you need to.")
- @Test
- public void loadTest() throws Exception {
-
- final int NUM_DEVICES = 10000;
-
- // create notification //
-
- HashMap<String, Object> properties = new LinkedHashMap<String, Object>();
- String payload = "Hello, World!";
- Map<String, String> payloads = new HashMap<String, String>(1);
- payloads.put(notifier.getUuid().toString(), payload);
- properties.put("payloads", payloads);
- properties.put("queued", System.currentTimeMillis());
- properties.put("debug",true);
-
- Entity e = app.testRequest(ServiceAction.POST, 1, "notifications")
- .getEntity();
- app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
-
- Notification notification = app.getEm().get(e.getUuid(),
- Notification.class);
- assertEquals(
- notification.getPayloads().get(notifier.getUuid().toString()),
- payload);
-
- // create a bunch of devices and add them to the notification
- properties = new LinkedHashMap<String, Object>();
- properties.put(notifier.getName() + NOTIFIER_ID_POSTFIX, PUSH_TOKEN);
- for (int i = 0; i < NUM_DEVICES; i++) {
- Entity entity = app.getEm().create("device", properties);
- ns.addDevice(notification, entity);
- }
-
- long time = System.currentTimeMillis();
- logger.error("START DELIVERY OF {} NOTIFICATIONS", NUM_DEVICES);
-
- // perform push //
- notification = scheduleNotificationAndWait(notification);
- logger.error("END DELIVERY OF {} NOTIFICATIONS ({})", NUM_DEVICES,
- System.currentTimeMillis() - time);
-
- // check receipts //
- checkReceipts(notification, NUM_DEVICES);
- checkStatistics(notification, NUM_DEVICES, 0);
- }
-
- // @Test
- // public void inactiveDeviceUpdate() throws Exception {
- //
- // if (!USE_REAL_CONNECTIONS) {
- // // mock action (based on verified actual behavior) //
- // NotificationsService.providerAdapters.put("apple", new
- // MockSuccessfulProviderAdapter() {
- // public Map<String,Date> getInactiveDevices(Notifier notifier,
- // EntityManager em) throws Exception {
- // return Collections.singletonMap(PUSH_TOKEN, new Date());
- // }
- // });
- // }
- //
- // // create push notification //
- //
- // HashMap<String, Object> properties = new LinkedHashMap<String, Object>();
- // String payload =
- // APNS.newPayload().alertBody("Hello, World!").sound("chime").build();
- // Map<String, String> payloads = new HashMap<String, String>(1);
- // payloads.put(notifier.getUuid().toString(), payload);
- // properties.put("payloads", payloads);
- // properties.put("queued", System.currentTimeMillis());
- //
- // Entity e = testRequest(sm, ServiceAction.POST, 1, properties,
- // "notifications").getEntity();
- // testRequest(sm, ServiceAction.GET, 1, null, "notifications",
- // e.getUuid());
- //
- // Notification notification = em.get(e.getUuid(), Notification.class);
- // assertEquals(notification.getPayloads().get(notifier.getUuid().toString()),
- // payload);
- //
- // ns.addDevice(notification, device1);
- // ns.addDevice(notification, device2);
- //
- // assertNotNull(device1.getProperty(notifier.getName() +
- // NOTIFIER_ID_POSTFIX));
- // assertNotNull(device2.getProperty(notifier.getName() +
- // NOTIFIER_ID_POSTFIX));
- //
- // // perform push //
- // notification = scheduleNotificationAndWait(notification);
- //
- // // check provider IDs //
- //
- // device1 = em.get(device1, Device.class);
- // assertNull(device1.getProperty(notifier.getName() +
- // NOTIFIER_ID_POSTFIX));
- // device2 = em.get(device2, Device.class);
- // assertNull(device2.getProperty(notifier.getName() +
- // NOTIFIER_ID_POSTFIX));
- // }
}
[4/7] git commit: adding collections test
Posted by to...@apache.org.
adding collections test
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/dc9211bd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/dc9211bd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/dc9211bd
Branch: refs/heads/two-dot-o
Commit: dc9211bd4fdbe375f075f48b2abfc14b640fe549
Parents: 72fc2bd
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 14 16:39:44 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 14 16:39:44 2014 -0600
----------------------------------------------------------------------
.../AbstractServiceNotificationIT.java | 2 ++
.../apns/NotificationsServiceIT.java | 20 ++++++++++++++++++--
2 files changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/dc9211bd/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java
index f67d731..651c94f 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java
@@ -63,6 +63,8 @@ public class AbstractServiceNotificationIT extends AbstractServiceIT {
return ns;
}
+
+
protected Notification scheduleNotificationAndWait(Notification notification)
throws Exception {
long timeout = System.currentTimeMillis() + 60000;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/dc9211bd/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
index 935f6b6..aef4da5 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
@@ -64,6 +64,7 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
private NotificationsService ns;
QueueListener listener;
private String notifierName = "apNs";
+ private User user2;
@BeforeClass
public static void setup(){
@@ -114,8 +115,23 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
user1.setUsername("user1");
user1.setEmail("user1@usergrid.org");
user1 = app.getEm().create(user1);
- app.getEm().createConnection(user1, "devices", device1);
- app.getEm().createConnection(user1, "devices", device2);
+
+ // create User
+ user2 = new User();
+ user2.setUsername("user2");
+ user2.setEmail("user2@usergrid.org");
+ user2 = app.getEm().create(user2);
+
+ app.clear();
+ e = app.testRequest(ServiceAction.POST, 1, "users",user2.getUuid(),"devices",device1.getUuid()).getEntity();
+ app.clear();
+ e = app.testRequest(ServiceAction.POST, 1, "users",user1.getUuid(),"devices",device1.getUuid()).getEntity();
+ List device1Users = app.getEm().getCollection(device1,"users",null,100, Query.Level.REFS,false).getEntities();
+ assertEquals(device1Users.size(),1);
+
+ app.clear();
+ e = app.testRequest(ServiceAction.POST, 1, "users",user1.getUuid(),"devices",device2.getUuid()).getEntity();
+
// create Group
group1 = new Group();
[5/7] git commit: register devices
Posted by to...@apache.org.
register devices
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/9c1c57c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/9c1c57c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/9c1c57c6
Branch: refs/heads/two-dot-o
Commit: 9c1c57c66da5e53d9cb1086daac77437518ee74a
Parents: dc9211b
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 14 16:43:16 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 14 16:43:16 2014 -0600
----------------------------------------------------------------------
.../apns/NotificationsServiceIT.java | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9c1c57c6/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
index aef4da5..45bd1bb 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
@@ -778,6 +778,22 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
}
@Test
+ public void deviceTest() throws Exception{
+ app.clear();
+ Entity e = app.testRequest(ServiceAction.POST, 1, "users",user2.getUuid(),"devices",device1.getUuid()).getEntity();
+ app.clear();
+ e = app.testRequest(ServiceAction.POST, 1, "users",user1.getUuid(),"devices",device1.getUuid()).getEntity();
+ app.clear();
+ e = app.testRequest(ServiceAction.POST, 1, "users",user1.getUuid(),"devices",device2.getUuid()).getEntity();
+
+ List device1Users = app.getEm().getCollection(device1,"users",null,100, Query.Level.REFS,false).getEntities();
+ assertEquals(device1Users.size(),1);
+ List user1Devices = app.getEm().getCollection(user1,"devices",null,100, Query.Level.REFS,false).getEntities();
+ assertEquals(user1Devices.size(),2);
+
+ }
+
+ @Test
public void batchTest() throws Exception {
final int NUM_DEVICES = 50;
@@ -881,6 +897,8 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
String payload = builder.buildWithDefaultMaximumLength();
return payload;
}
+
+
// todo: can't do the following tests here. do it in the REST tier...
// private Notification postNotification(String path) throws Exception {
// HashMap<String, Object> properties = new LinkedHashMap<String, Object>();
[6/7] git commit: real tests for devices, BA
Posted by to...@apache.org.
real tests for devices, BA
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/b5470f19
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/b5470f19
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/b5470f19
Branch: refs/heads/two-dot-o
Commit: b5470f197b177822cccb828c970bc047f595de1f
Parents: 9c1c57c
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Oct 15 09:28:49 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Oct 15 09:28:49 2014 -0600
----------------------------------------------------------------------
.../AbstractServiceNotificationIT.java | 4 +-
.../apns/NotificationsServiceIT.java | 53 ++++++++++++++++++++
2 files changed, 55 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b5470f19/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java
index 651c94f..e16f111 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/AbstractServiceNotificationIT.java
@@ -103,7 +103,7 @@ public class AbstractServiceNotificationIT extends AbstractServiceIT {
protected void checkReceipts(Notification notification, int expected)
throws Exception {
List<EntityRef> receipts = getNotificationReceipts(notification);
- long timeout = System.currentTimeMillis() + 60000;
+ long timeout = System.currentTimeMillis() + 10000;
while (System.currentTimeMillis() < timeout) {
Thread.sleep(200);
receipts =getNotificationReceipts(notification);
@@ -124,7 +124,7 @@ public class AbstractServiceNotificationIT extends AbstractServiceIT {
protected void checkStatistics(Notification notification, long sent, long errors) throws Exception{
Map<String, Long> statistics = null;
- long timeout = System.currentTimeMillis() + 60000;
+ long timeout = System.currentTimeMillis() + 10000;
while (System.currentTimeMillis() < timeout) {
Thread.sleep(200);
statistics = app.getEm().get(notification.getUuid(), Notification.class).getStatistics();
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/b5470f19/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
index 45bd1bb..76dbed3 100644
--- a/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
+++ b/stack/services/src/test/java/org/apache/usergrid/services/notifications/apns/NotificationsServiceIT.java
@@ -791,6 +791,59 @@ public class NotificationsServiceIT extends AbstractServiceNotificationIT {
List user1Devices = app.getEm().getCollection(user1,"devices",null,100, Query.Level.REFS,false).getEntities();
assertEquals(user1Devices.size(),2);
+ // create push notification //
+
+ app.getEm().refreshIndex();
+
+ // give queue manager a query for loading 100 devices from an application (why?)
+ app.clear();
+ ns.TEST_PATH_QUERY = null;
+
+ // create a "hello world" notification
+ String payload = getPayload();
+ Map<String, String> payloads = new HashMap<String, String>(1);
+ payloads.put(notifier.getName().toString(), payload);
+ app.put("payloads", payloads);
+ app.put("queued", System.currentTimeMillis());
+ app.put("debug",true);
+
+ // post notification to service manager
+ e = app.testRequest(ServiceAction.POST, 1,"users",user1.getUuid(), "notifications").getEntity();
+
+ // ensure notification it was created
+ app.testRequest(ServiceAction.GET, 1, "notifications", e.getUuid());
+
+ // ensure notification has expected name
+ Notification notification = app.getEm().get(e.getUuid(), Notification.class);
+ assertEquals(
+ notification.getPayloads().get(notifier.getName().toString()),
+ payload);
+
+ // verify Query for CREATED state
+ Query query = new Query();
+ query.addEqualityFilter("state", Notification.State.STARTED.toString());
+ Results results = app.getEm().searchCollection(
+ app.getEm().getApplicationRef(), "notifications", query);
+ Entity entity = results.getEntitiesMap().get(notification.getUuid());
+ //assertNotNull(entity);
+
+ // perform push //
+
+ notification = scheduleNotificationAndWait(notification);
+
+ app.getEm().refreshIndex();
+
+ // verify Query for FINISHED state
+ query = new Query();
+ query.addEqualityFilter("state", Notification.State.FINISHED.toString());
+ results = app.getEm().searchCollection(app.getEm().getApplicationRef(),
+ "notifications", query);
+ entity = results.getEntitiesMap().get(notification.getUuid());
+ assertNotNull(entity);
+
+ checkReceipts(notification, 2);
+ checkStatistics(notification, 2, 0);
+
}
@Test
[2/7] git commit: Merge branch 'two-dot-o' of
https://git-wip-us.apache.org/repos/asf/incubator-usergrid into
delete-device-connections
Posted by to...@apache.org.
Merge branch 'two-dot-o' of https://git-wip-us.apache.org/repos/asf/incubator-usergrid into delete-device-connections
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/d3cce6e8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/d3cce6e8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/d3cce6e8
Branch: refs/heads/two-dot-o
Commit: d3cce6e8887feaa50e2cfca9dbc4c1e577ad3798
Parents: bf9f69f 27db106
Author: Shawn Feldman <sf...@apache.org>
Authored: Tue Oct 14 14:50:50 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Tue Oct 14 14:50:50 2014 -0600
----------------------------------------------------------------------
.../corepersistence/CpEntityManagerFactory.java | 13 ++++++++-----
.../persistence/queue/impl/SQSQueueManagerImpl.java | 14 +++++++++++---
.../notifications/ApplicationQueueManager.java | 5 +++--
.../services/notifications/NotificationsService.java | 2 +-
.../services/notifications/QueueListener.java | 2 +-
.../apache/usergrid/services/TestQueueManager.java | 4 +---
.../services/notifications/NotifiersServiceIT.java | 1 +
7 files changed, 26 insertions(+), 15 deletions(-)
----------------------------------------------------------------------