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/07 20:55:29 UTC

svn commit: r1539785 - /incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsPublisherRegistrationServiceTest.java

Author: dsullivan
Date: Thu Nov  7 19:55:29 2013
New Revision: 1539785

URL: http://svn.apache.org/r1539785
Log:
adding StreamsPublisherRegistrationServiceTest

Added:
    incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsPublisherRegistrationServiceTest.java

Added: incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsPublisherRegistrationServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsPublisherRegistrationServiceTest.java?rev=1539785&view=auto
==============================================================================
--- incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsPublisherRegistrationServiceTest.java (added)
+++ incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsPublisherRegistrationServiceTest.java Thu Nov  7 19:55:29 2013
@@ -0,0 +1,70 @@
+package org.apache.streams.components.service;
+
+import org.apache.streams.components.service.impl.CassandraPublisherService;
+import org.apache.streams.components.service.impl.StreamsPublisherRegistrationServiceImpl;
+import org.apache.streams.persistence.model.ActivityStreamsPublisher;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
+
+public class StreamsPublisherRegistrationServiceTest {
+    private StreamsPublisherRegistrationService publisherRegistrationService;
+    private StreamsPublisherRepositoryService publisherRepositoryService;
+
+    @Rule
+    public ExpectedException thrown = ExpectedException.none();
+
+    @Before
+    public void setup(){
+        publisherRepositoryService = createMock(CassandraPublisherService.class);
+        publisherRegistrationService = new StreamsPublisherRegistrationServiceImpl(publisherRepositoryService);
+    }
+
+    @Test
+    public void registerTest_SrcNull() throws Exception {
+        String publisherJson = "{}";
+
+        thrown.expect(Exception.class);
+        thrown.expectMessage("configuration src is null");
+
+        publisherRegistrationService.register(publisherJson);
+    }
+
+    @Test
+    public void registerTest_SrcValid_inDB() throws Exception{
+        String publisherJson = "{\"src\":\"this is my src!\"}";
+        String inRoute = "this is returned inRoute";
+        ActivityStreamsPublisher publisher= createMock(ActivityStreamsPublisher.class);
+
+        expect(publisherRepositoryService.getActivityStreamsPublisherBySrc("this is my src!")).andReturn(publisher);
+        expect(publisher.getInRoute()).andReturn(inRoute);
+        replay(publisherRepositoryService,publisher);
+
+        String returned = publisherRegistrationService.register(publisherJson);
+
+        assertThat(returned, is(equalTo(inRoute)));
+    }
+
+    @Test
+    public void registerTest_SrcValid_notInDB() throws Exception{
+        String publisherJson = "{\"src\":\"this is my src!\"}";
+        String inRoute = "this is returned inRoute";
+
+        expect(publisherRepositoryService.getActivityStreamsPublisherBySrc("this is my src!")).andReturn(null);
+        publisherRepositoryService.savePublisher(isA(ActivityStreamsPublisher.class));
+        expectLastCall();
+        replay(publisherRepositoryService);
+
+        String returned = publisherRegistrationService.register(publisherJson);
+
+        assertThat(returned, is(instanceOf(String.class)));
+        verify(publisherRepositoryService);
+    }
+}