You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by do...@apache.org on 2008/06/12 19:30:13 UTC
svn commit: r667170 - in /incubator/shindig/trunk/java/social-api/src:
main/java/org/apache/shindig/social/dataservice/
main/java/org/apache/shindig/social/samplecontainer/
test/java/org/apache/shindig/social/dataservice/
Author: doll
Date: Thu Jun 12 10:30:13 2008
New Revision: 667170
URL: http://svn.apache.org/viewvc?rev=667170&view=rev
Log:
Added tests for the PersonHandler. Also fixed two bugs.
Added:
incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/PersonHandlerTest.java
- copied, changed from r667146, incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/DataRequestHandlerTest.java
Modified:
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/PersonHandler.java
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/PersonHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/PersonHandler.java?rev=667170&r1=667169&r2=667170&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/PersonHandler.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/PersonHandler.java Thu Jun 12 10:30:13 2008
@@ -79,6 +79,11 @@
optionalPersonId = segments[2];
}
+ if (optionalPersonId != null
+ || groupId == DataServiceServlet.GroupId.SELF) {
+ return personService.getPerson(userId, token);
+ }
+
PersonService.SortOrder sort = getEnumParam(servletRequest, "orderBy",
PersonService.SortOrder.topFriends, PersonService.SortOrder.class);
PersonService.FilterType filter = getEnumParam(servletRequest, "filterBy",
@@ -93,10 +98,6 @@
Person.Field.NAME.toString(),
Person.Field.THUMBNAIL_URL.toString())));
- if (optionalPersonId != null
- || groupId == DataServiceServlet.GroupId.SELF) {
- return personService.getPerson(userId, token);
- }
return personService.getPeople(userId, groupId, sort, filter, first, max,
profileDetails, token);
}
Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java?rev=667170&r1=667169&r2=667170&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicActivitiesService.java Thu Jun 12 10:30:13 2008
@@ -88,6 +88,7 @@
if (friendIds != null) {
ids.addAll(friendIds);
}
+ break;
case SELF:
ids.add(userId);
}
Copied: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/PersonHandlerTest.java (from r667146, incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/DataRequestHandlerTest.java)
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/PersonHandlerTest.java?p2=incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/PersonHandlerTest.java&p1=incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/DataRequestHandlerTest.java&r1=667146&r2=667170&rev=667170&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/DataRequestHandlerTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/PersonHandlerTest.java Thu Jun 12 10:30:13 2008
@@ -17,44 +17,141 @@
*/
package org.apache.shindig.social.dataservice;
+import org.apache.shindig.social.ResponseItem;
+import org.apache.shindig.social.opensocial.model.Person;
+import org.apache.shindig.social.opensocial.util.BeanJsonConverter;
+import org.apache.shindig.common.testing.FakeGadgetToken;
+
+import com.google.common.collect.Sets;
import junit.framework.TestCase;
import org.easymock.classextension.EasyMock;
-import org.apache.shindig.social.ResponseItem;
-import org.apache.shindig.common.SecurityToken;
import javax.servlet.http.HttpServletRequest;
-public class DataRequestHandlerTest extends TestCase {
+public class PersonHandlerTest extends TestCase {
+ private BeanJsonConverter converter;
+ private HttpServletRequest servletRequest;
+ private PersonService personService;
+ private PersonHandler handler;
+
+ @Override
+ protected void setUp() throws Exception {
+ converter = EasyMock.createMock(BeanJsonConverter.class);
+ servletRequest = EasyMock.createMock(HttpServletRequest.class);
+ personService = EasyMock.createMock(PersonService.class);
+
+ handler = new PersonHandler(personService, converter);
+ }
+
+ private void replay() {
+ EasyMock.replay(converter);
+ EasyMock.replay(servletRequest);
+ EasyMock.replay(personService);
+ }
+
+ private void verify() {
+ EasyMock.verify(converter);
+ EasyMock.verify(servletRequest);
+ EasyMock.verify(personService);
+ }
+
+ public void testHandleGetAllNoParams() throws Exception {
+ EasyMock.expect(servletRequest.getPathInfo()).andReturn("/people/john.doe/@all");
+
+ EasyMock.expect(servletRequest.getParameter("orderBy")).andReturn(null);
+ EasyMock.expect(servletRequest.getParameter("filterBy")).andReturn(null);
+ EasyMock.expect(servletRequest.getParameter("startIndex")).andReturn(null);
+ EasyMock.expect(servletRequest.getParameter("count")).andReturn(null);
+ EasyMock.expect(servletRequest.getParameter("fields")).andReturn(null);
+
+ FakeGadgetToken token = new FakeGadgetToken();
+ ResponseItem<RestfulCollection<Person>> data
+ = new ResponseItem<RestfulCollection<Person>>(null);
+ EasyMock.expect(personService.getPeople("john.doe",
+ DataServiceServlet.GroupId.ALL, PersonService.SortOrder.topFriends,
+ PersonService.FilterType.all, 0, 20,
+ Sets.newHashSet(Person.Field.ID.toString(),
+ Person.Field.NAME.toString(),
+ Person.Field.THUMBNAIL_URL.toString()),
+ token)).andReturn(data);
+
+ replay();
+ assertEquals(data, handler.handleGet(servletRequest, token));
+ verify();
+ }
+
+ public void testHandleGetFriendsNoParams() throws Exception {
+ EasyMock.expect(servletRequest.getPathInfo()).andReturn("/people/john.doe/@friends");
+
+ EasyMock.expect(servletRequest.getParameter("orderBy")).andReturn(null);
+ EasyMock.expect(servletRequest.getParameter("filterBy")).andReturn(null);
+ EasyMock.expect(servletRequest.getParameter("startIndex")).andReturn(null);
+ EasyMock.expect(servletRequest.getParameter("count")).andReturn(null);
+ EasyMock.expect(servletRequest.getParameter("fields")).andReturn(null);
+
+ FakeGadgetToken token = new FakeGadgetToken();
+ ResponseItem<RestfulCollection<Person>> data
+ = new ResponseItem<RestfulCollection<Person>>(null);
+ EasyMock.expect(personService.getPeople("john.doe",
+ DataServiceServlet.GroupId.FRIENDS, PersonService.SortOrder.topFriends,
+ PersonService.FilterType.all, 0, 20,
+ Sets.newHashSet(Person.Field.ID.toString(),
+ Person.Field.NAME.toString(),
+ Person.Field.THUMBNAIL_URL.toString()),
+ token)).andReturn(data);
+
+ replay();
+ assertEquals(data, handler.handleGet(servletRequest, token));
+ verify();
+ }
+
+ public void testHandleGetFriendsWithParams() throws Exception {
+ EasyMock.expect(servletRequest.getPathInfo()).andReturn("/people/john.doe/@friends");
+
+ PersonService.SortOrder order = PersonService.SortOrder.name;
+ PersonService.FilterType filter = PersonService.FilterType.topFriends;
+
+ EasyMock.expect(servletRequest.getParameter("orderBy")).andReturn(order.toString());
+ EasyMock.expect(servletRequest.getParameter("filterBy")).andReturn(filter.toString());
+ EasyMock.expect(servletRequest.getParameter("startIndex")).andReturn("5");
+ EasyMock.expect(servletRequest.getParameter("count")).andReturn("10");
+ EasyMock.expect(servletRequest.getParameter("fields")).andReturn("money,fame,fortune");
+
+ FakeGadgetToken token = new FakeGadgetToken();
+ ResponseItem<RestfulCollection<Person>> data
+ = new ResponseItem<RestfulCollection<Person>>(null);
+ EasyMock.expect(personService.getPeople("john.doe", DataServiceServlet.GroupId.FRIENDS, order,
+ filter, 5, 10, Sets.newHashSet("money", "fame", "fortune"), token)).andReturn(data);
+
+ replay();
+ assertEquals(data, handler.handleGet(servletRequest, token));
+ verify();
+ }
+
+ public void testHandleGetFriendById() throws Exception {
+ EasyMock.expect(servletRequest.getPathInfo()).andReturn("/people/john.doe/@friends/jane.doe");
+
+ FakeGadgetToken token = new FakeGadgetToken();
+ ResponseItem<Person> data = new ResponseItem<Person>(null);
+ // TODO: This isn't right! We should be passing both john.doe and jane.doe to the service
+ // We probably need to either change the getPerson parameters or add a new method to
+ // the interface
+ EasyMock.expect(personService.getPerson("john.doe", token)).andReturn(data);
+
+ replay();
+ assertEquals(data, handler.handleGet(servletRequest, token));
+ verify();
+ }
+
+ public void testHandleGetSelf() throws Exception {
+ EasyMock.expect(servletRequest.getPathInfo()).andReturn("/people/john.doe/@self");
- public void testgetParamsFromRequest() throws Exception {
- HttpServletRequest req = EasyMock.createMock(HttpServletRequest.class);
- EasyMock.expect(req.getPathInfo()).andReturn("/people/5/@self");
- DataRequestHandler drh = new DataRequestHandler(null) {
- ResponseItem handleDelete(HttpServletRequest servletRequest,
- SecurityToken token) {
- return null;
- }
-
- ResponseItem handlePut(HttpServletRequest servletRequest,
- SecurityToken token) {
- return null;
- }
-
- ResponseItem handlePost(HttpServletRequest servletRequest,
- SecurityToken token) {
- return null;
- }
-
- ResponseItem handleGet(HttpServletRequest servletRequest,
- SecurityToken token) {
- return null;
- }
- };
-
- EasyMock.replay(req);
- String[] params = drh.getParamsFromRequest(req);
- assertEquals("5", params[0]);
- assertEquals("@self", params[1]);
- EasyMock.verify(req);
+ FakeGadgetToken token = new FakeGadgetToken();
+ ResponseItem<Person> data = new ResponseItem<Person>(null);
+ EasyMock.expect(personService.getPerson("john.doe", token)).andReturn(data);
+
+ replay();
+ assertEquals(data, handler.handleGet(servletRequest, token));
+ verify();
}
}
\ No newline at end of file