You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by ds...@apache.org on 2013/11/08 14:44:56 UTC
svn commit: r1540027 -
/incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsSubscriberRegistrationServiceTest.java
Author: dsullivan
Date: Fri Nov 8 13:44:56 2013
New Revision: 1540027
URL: http://svn.apache.org/r1540027
Log:
adding StreamsSubscriberRegistrationServiceTest
Added:
incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsSubscriberRegistrationServiceTest.java
Added: incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsSubscriberRegistrationServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsSubscriberRegistrationServiceTest.java?rev=1540027&view=auto
==============================================================================
--- incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsSubscriberRegistrationServiceTest.java (added)
+++ incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsSubscriberRegistrationServiceTest.java Fri Nov 8 13:44:56 2013
@@ -0,0 +1,61 @@
+package org.apache.streams.components.service;
+
+import org.apache.streams.components.activitysubscriber.ActivityStreamsSubscriberWarehouse;
+import org.apache.streams.components.service.impl.StreamsSubscriberRegistrationServiceImpl;
+import org.apache.streams.persistence.model.ActivityStreamsSubscription;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+public class StreamsSubscriberRegistrationServiceTest {
+ private StreamsSubscriberRegistrationService subscriberRegistrationService;
+ private StreamsSubscriptionRepositoryService subscriptionRepositoryService;
+ private ActivityStreamsSubscriberWarehouse activityStreamsSubscriberWarehouse;
+
+ @Before
+ public void setup(){
+ subscriptionRepositoryService = createMock(StreamsSubscriptionRepositoryService.class);
+ activityStreamsSubscriberWarehouse = createMock(ActivityStreamsSubscriberWarehouse.class);
+
+ subscriberRegistrationService = new StreamsSubscriberRegistrationServiceImpl(subscriptionRepositoryService,activityStreamsSubscriberWarehouse);
+ }
+
+ @Test
+ public void registerTest_inDB() throws Exception {
+ String username = "blah";
+ String inRoute = "inRoute";
+ String subscriberJson = "{\"username\":\"blah\"}";
+
+ ActivityStreamsSubscription subscription = createMock(ActivityStreamsSubscription.class);
+ expect(subscriptionRepositoryService.getSubscriptionByUsername(username)).andReturn(subscription);
+ expect(subscription.getInRoute()).andReturn(inRoute);
+ replay(subscriptionRepositoryService, subscription);
+
+ String returned = subscriberRegistrationService.register(subscriberJson);
+
+ assertThat(returned, is(equalTo(inRoute)));
+ }
+
+ @Test
+ public void registerTest_notInDB() throws Exception {
+ String username = "blah";
+ String subscriberJson = "{\"username\":\"blah\"}";
+
+ expect(subscriptionRepositoryService.getSubscriptionByUsername(username)).andReturn(null);
+ subscriptionRepositoryService.saveSubscription(isA(ActivityStreamsSubscription.class));
+ expectLastCall();
+ activityStreamsSubscriberWarehouse.register(isA(ActivityStreamsSubscription.class));
+ expectLastCall();
+ replay(subscriptionRepositoryService, activityStreamsSubscriberWarehouse);
+
+ String returned = subscriberRegistrationService.register(subscriberJson);
+
+ assertThat(returned, is(instanceOf(String.class)));
+ verify(subscriptionRepositoryService,activityStreamsSubscriberWarehouse);
+ }
+}