You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/02/25 22:21:43 UTC
[1/3] git commit: Fixing social feed not working once you have over
10 followers, bumping limit to 1000
Repository: incubator-usergrid
Updated Branches:
refs/pull/61/head c431c8409 -> d4accb978
refs/pull/61/merge a9b170e62 -> 90abbe7a4 (forced update)
Fixing social feed not working once you have over 10 followers, bumping limit to 1000
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/d4accb97
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/d4accb97
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/d4accb97
Branch: refs/pull/61/head
Commit: d4accb978487b62c92f9c385a58a434dcc63c88d
Parents: c431c84
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Feb 25 13:54:04 2014 -0700
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Feb 25 13:54:04 2014 -0700
----------------------------------------------------------------------
.../rest/management/ManagementResourceIT.java | 92 +++++++++++++++++++-
.../users/activities/ActivitiesService.java | 2 +-
2 files changed, 91 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d4accb97/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
index b379770..f289cd7 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
@@ -16,12 +16,12 @@
package org.apache.usergrid.rest.management;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
import javax.ws.rs.core.MediaType;
import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.node.ArrayNode;
import org.junit.Test;
import org.apache.usergrid.cassandra.Concurrent;
import org.apache.usergrid.management.OrganizationInfo;
@@ -216,6 +216,94 @@ public class ManagementResourceIT extends AbstractRestIT {
"<a href=\"mailto:test@usergrid.com\">" ) );
}
+ /** Test that we can support over 10 items in feed. */
+ @Test
+ public void mgmtFollowsUserFeed() throws Exception {
+ List<String> users1 = new ArrayList<String>();
+ int i;
+ //try with 10 users
+ for(i = 0; i<10;i++){
+ users1.add("follower" + Integer.toString(i));
+ }
+ checkFeed("leader1",users1);
+ //try with 11
+ List<String> users2 = new ArrayList<String>();
+ for(i =20; i<31;i++){
+ users2.add("follower" + Integer.toString(i));
+ }
+ checkFeed("leader2",users2);
+ }
+
+ private void checkFeed(String leader, List<String> followers){
+ JsonNode userFeed;
+ //create user
+ createUser(leader);
+ String preFollowContent = leader+": pre-something to look for " + UUID.randomUUID().toString();
+ addActivity(leader, leader + " " + leader + "son", preFollowContent);
+ String lastUser = followers.get(followers.size()-1);
+ int i = 0;
+ for(String user : followers){
+ createUser(user);
+ follow(user,leader);
+ }
+ userFeed = getUserFeed(lastUser);
+ assertTrue(userFeed.size()==1);
+
+ //retrieve feed
+ userFeed = getUserFeed(lastUser);
+ assertTrue(userFeed.size()==1);
+ String postFollowContent = leader+": something to look for " + UUID.randomUUID().toString();
+ addActivity(leader,leader+" "+leader+"son",postFollowContent);
+ //check feed
+ userFeed = getUserFeed(lastUser);
+ assertNotNull(userFeed);
+ assertTrue(userFeed.size()>1);
+ String serialized = userFeed.toString();
+ assertTrue(serialized.indexOf(postFollowContent)>0);
+ assertTrue(serialized.indexOf(preFollowContent)>0);
+ }
+
+ private void createUser(String username){
+ Map<String, Object> payload = new LinkedHashMap<String, Object>();
+ payload.put( "username", username );
+ resource().path( "/test-organization/test-app/users" )
+ .queryParam("access_token", access_token)
+ .accept( MediaType.APPLICATION_JSON )
+ .type(MediaType.APPLICATION_JSON_TYPE)
+ .post(JsonNode.class, payload);
+
+ }
+ private JsonNode getUserFeed(String username){
+ JsonNode userFeed = resource().path( "/test-organization/test-app/users/"+username+"/feed" )
+ .queryParam( "access_token", access_token )
+ .accept(MediaType.APPLICATION_JSON)
+ .get( JsonNode.class );
+ return userFeed.get("entities");
+ }
+
+ private void follow(String user, String followUser){
+ //post follow
+ resource().path( "/test-organization/test-app/users/"+user+"/following/users/"+followUser )
+ .queryParam("access_token", access_token)
+ .accept( MediaType.APPLICATION_JSON )
+ .type(MediaType.APPLICATION_JSON_TYPE)
+ .post(JsonNode.class, new HashMap<String, String>());
+ }
+
+ private void addActivity(String user,String name, String content){
+ Map<String,Object> activityPayload = new HashMap<String, Object>();
+ activityPayload.put("content",content);
+ activityPayload.put("verb","post");
+ Map<String,String> actorMap = new HashMap<String, String>();
+ actorMap.put("displayName",name);
+ actorMap.put("username",user);
+ activityPayload.put("actor",actorMap);
+ resource().path("/test-organization/test-app/users/"+user+"/activities")
+ .queryParam("access_token", access_token)
+ .accept(MediaType.APPLICATION_JSON)
+ .type(MediaType.APPLICATION_JSON_TYPE)
+ .post(JsonNode.class, activityPayload);
+ }
@Test
public void mgmtCreateAndGetApplication() throws Exception {
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d4accb97/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
index ae3ac9b..b076e4d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
@@ -133,7 +133,7 @@ public class ActivitiesService extends GenericCollectionService {
return;
}
em.addToCollection( user, "feed", activity );
- Results r = em.getConnectingEntities( user.getUuid(), "following", User.ENTITY_TYPE, Results.Level.REFS );
+ Results r = em.getConnectingEntities( user.getUuid(), "following", User.ENTITY_TYPE, Results.Level.REFS, 1000 ); //allow 1000 connections
List<EntityRef> refs = r.getRefs();
if ( refs != null ) {
em.addToCollections( refs, "feed", activity );
[3/3] git commit: Merge d4accb978487b62c92f9c385a58a434dcc63c88d into
9aff385f50cc3af1b60082882dcef442eeefbb6e
Posted by sn...@apache.org.
Merge d4accb978487b62c92f9c385a58a434dcc63c88d into 9aff385f50cc3af1b60082882dcef442eeefbb6e
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/90abbe7a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/90abbe7a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/90abbe7a
Branch: refs/pull/61/merge
Commit: 90abbe7a4e0ebfa72fb76cebd52e1febefdc18ee
Parents: 9aff385 d4accb9
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Feb 25 13:54:13 2014 -0700
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Feb 25 13:54:13 2014 -0700
----------------------------------------------------------------------
portal/package.json | 3 +-
.../rest/management/ManagementResourceIT.java | 92 +++++++++++++++++++-
.../users/activities/ActivitiesService.java | 2 +-
3 files changed, 92 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
[2/3] git commit: Fixing social feed not working once you have over
10 followers, bumping limit to 1000
Posted by sn...@apache.org.
Fixing social feed not working once you have over 10 followers, bumping limit to 1000
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/d4accb97
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/d4accb97
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/d4accb97
Branch: refs/pull/61/merge
Commit: d4accb978487b62c92f9c385a58a434dcc63c88d
Parents: c431c84
Author: Shawn Feldman <sh...@gmail.com>
Authored: Tue Feb 25 13:54:04 2014 -0700
Committer: Shawn Feldman <sh...@gmail.com>
Committed: Tue Feb 25 13:54:04 2014 -0700
----------------------------------------------------------------------
.../rest/management/ManagementResourceIT.java | 92 +++++++++++++++++++-
.../users/activities/ActivitiesService.java | 2 +-
2 files changed, 91 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d4accb97/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
index b379770..f289cd7 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/ManagementResourceIT.java
@@ -16,12 +16,12 @@
package org.apache.usergrid.rest.management;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
import javax.ws.rs.core.MediaType;
import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.node.ArrayNode;
import org.junit.Test;
import org.apache.usergrid.cassandra.Concurrent;
import org.apache.usergrid.management.OrganizationInfo;
@@ -216,6 +216,94 @@ public class ManagementResourceIT extends AbstractRestIT {
"<a href=\"mailto:test@usergrid.com\">" ) );
}
+ /** Test that we can support over 10 items in feed. */
+ @Test
+ public void mgmtFollowsUserFeed() throws Exception {
+ List<String> users1 = new ArrayList<String>();
+ int i;
+ //try with 10 users
+ for(i = 0; i<10;i++){
+ users1.add("follower" + Integer.toString(i));
+ }
+ checkFeed("leader1",users1);
+ //try with 11
+ List<String> users2 = new ArrayList<String>();
+ for(i =20; i<31;i++){
+ users2.add("follower" + Integer.toString(i));
+ }
+ checkFeed("leader2",users2);
+ }
+
+ private void checkFeed(String leader, List<String> followers){
+ JsonNode userFeed;
+ //create user
+ createUser(leader);
+ String preFollowContent = leader+": pre-something to look for " + UUID.randomUUID().toString();
+ addActivity(leader, leader + " " + leader + "son", preFollowContent);
+ String lastUser = followers.get(followers.size()-1);
+ int i = 0;
+ for(String user : followers){
+ createUser(user);
+ follow(user,leader);
+ }
+ userFeed = getUserFeed(lastUser);
+ assertTrue(userFeed.size()==1);
+
+ //retrieve feed
+ userFeed = getUserFeed(lastUser);
+ assertTrue(userFeed.size()==1);
+ String postFollowContent = leader+": something to look for " + UUID.randomUUID().toString();
+ addActivity(leader,leader+" "+leader+"son",postFollowContent);
+ //check feed
+ userFeed = getUserFeed(lastUser);
+ assertNotNull(userFeed);
+ assertTrue(userFeed.size()>1);
+ String serialized = userFeed.toString();
+ assertTrue(serialized.indexOf(postFollowContent)>0);
+ assertTrue(serialized.indexOf(preFollowContent)>0);
+ }
+
+ private void createUser(String username){
+ Map<String, Object> payload = new LinkedHashMap<String, Object>();
+ payload.put( "username", username );
+ resource().path( "/test-organization/test-app/users" )
+ .queryParam("access_token", access_token)
+ .accept( MediaType.APPLICATION_JSON )
+ .type(MediaType.APPLICATION_JSON_TYPE)
+ .post(JsonNode.class, payload);
+
+ }
+ private JsonNode getUserFeed(String username){
+ JsonNode userFeed = resource().path( "/test-organization/test-app/users/"+username+"/feed" )
+ .queryParam( "access_token", access_token )
+ .accept(MediaType.APPLICATION_JSON)
+ .get( JsonNode.class );
+ return userFeed.get("entities");
+ }
+
+ private void follow(String user, String followUser){
+ //post follow
+ resource().path( "/test-organization/test-app/users/"+user+"/following/users/"+followUser )
+ .queryParam("access_token", access_token)
+ .accept( MediaType.APPLICATION_JSON )
+ .type(MediaType.APPLICATION_JSON_TYPE)
+ .post(JsonNode.class, new HashMap<String, String>());
+ }
+
+ private void addActivity(String user,String name, String content){
+ Map<String,Object> activityPayload = new HashMap<String, Object>();
+ activityPayload.put("content",content);
+ activityPayload.put("verb","post");
+ Map<String,String> actorMap = new HashMap<String, String>();
+ actorMap.put("displayName",name);
+ actorMap.put("username",user);
+ activityPayload.put("actor",actorMap);
+ resource().path("/test-organization/test-app/users/"+user+"/activities")
+ .queryParam("access_token", access_token)
+ .accept(MediaType.APPLICATION_JSON)
+ .type(MediaType.APPLICATION_JSON_TYPE)
+ .post(JsonNode.class, activityPayload);
+ }
@Test
public void mgmtCreateAndGetApplication() throws Exception {
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d4accb97/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java b/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
index ae3ac9b..b076e4d 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/users/activities/ActivitiesService.java
@@ -133,7 +133,7 @@ public class ActivitiesService extends GenericCollectionService {
return;
}
em.addToCollection( user, "feed", activity );
- Results r = em.getConnectingEntities( user.getUuid(), "following", User.ENTITY_TYPE, Results.Level.REFS );
+ Results r = em.getConnectingEntities( user.getUuid(), "following", User.ENTITY_TYPE, Results.Level.REFS, 1000 ); //allow 1000 connections
List<EntityRef> refs = r.getRefs();
if ( refs != null ) {
em.addToCollections( refs, "feed", activity );