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:40:38 UTC

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

Author: dsullivan
Date: Thu Nov  7 19:40:38 2013
New Revision: 1539778

URL: http://svn.apache.org/r1539778
Log:
adding StreamsActivityRepositoryServiceTest

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

Added: incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsActivityRepositoryServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsActivityRepositoryServiceTest.java?rev=1539778&view=auto
==============================================================================
--- incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsActivityRepositoryServiceTest.java (added)
+++ incubator/streams/branches/webservice/streams-components/src/test/java/org/apache/streams/components/service/StreamsActivityRepositoryServiceTest.java Thu Nov  7 19:40:38 2013
@@ -0,0 +1,95 @@
+package org.apache.streams.components.service;
+
+import org.apache.streams.components.service.impl.CassandraActivityService;
+import org.apache.streams.persistence.model.ActivityStreamsEntry;
+import org.apache.streams.persistence.model.ActivityStreamsPublisher;
+import org.apache.streams.persistence.model.cassandra.CassandraActivityStreamsEntry;
+import org.apache.streams.persistence.repository.ActivityStreamsRepository;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import java.util.*;
+
+import static org.easymock.EasyMock.*;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
+
+public class StreamsActivityRepositoryServiceTest {
+    private StreamsActivityRepositoryService activityRepositoryService;
+    private ActivityStreamsRepository activityStreamsRepository;
+
+    @Rule
+    public ExpectedException thrown = ExpectedException.none();
+
+    @Before
+    public void setup() {
+        activityStreamsRepository = createMock(ActivityStreamsRepository.class);
+
+        activityRepositoryService = new CassandraActivityService(activityStreamsRepository);
+    }
+
+    @Test
+    public void receiveActivityTest_SrcEqual() throws Exception {
+        ActivityStreamsPublisher activityStreamsPublisher = createMock(ActivityStreamsPublisher.class);
+        String activityJson = "{\"provider\":{\"url\":\"myUrl\"}}";
+
+        expect(activityStreamsPublisher.getSrc()).andReturn("myUrl");
+        activityStreamsRepository.save(isA(ActivityStreamsEntry.class));
+        expectLastCall();
+        replay(activityStreamsRepository, activityStreamsPublisher);
+
+        activityRepositoryService.receiveActivity(activityStreamsPublisher,activityJson);
+
+        verify(activityStreamsRepository);
+
+    }
+
+    @Test
+    public void receiveActivityTest_SrcNotEqual() throws Exception {
+        ActivityStreamsPublisher activityStreamsPublisher = createMock(ActivityStreamsPublisher.class);
+        String activityJson = "{\"provider\":{\"url\":\"actSrc\"}}";
+
+        expect(activityStreamsPublisher.getSrc()).andReturn("pubSrc");
+        expect(activityStreamsPublisher.getSrc()).andReturn("pubSrc");
+        replay(activityStreamsPublisher);
+
+        thrown.expect(Exception.class);
+        thrown.expectMessage("The Publisher source: pubSrc and Activity Provider source: actSrc were not equal");
+
+        activityRepositoryService.receiveActivity(activityStreamsPublisher,activityJson);
+    }
+
+    @Test
+    public void getActivitiesForTagsTest_Valid(){
+        Set<String> tags = new HashSet<String>(Arrays.asList("tags"));
+
+        String entry1Json = "{\"id\":\"entry1\",\"tags\":null,\"published\":1234,\"verb\":null,\"actor\":null,\"object\":null,\"provider\":null,\"target\":null}";
+        String entry2Json = "{\"id\":\"entry2\",\"tags\":null,\"published\":5678,\"verb\":null,\"actor\":null,\"object\":null,\"provider\":null,\"target\":null}";
+
+        Date begin = new Date(0L);
+        ActivityStreamsEntry entry1 = new CassandraActivityStreamsEntry();
+        Date published1 = new Date(1234L);
+        entry1.setPublished(published1);
+        entry1.setId("entry1");
+
+        ActivityStreamsEntry entry2 = new CassandraActivityStreamsEntry();
+        Date published2 = new Date(5678L);
+        entry2.setPublished(published2);
+        entry2.setId("entry2");
+
+        List<ActivityStreamsEntry> activities = new ArrayList<ActivityStreamsEntry>();
+        activities.add(entry1);
+        activities.add(entry2);
+
+        expect(activityStreamsRepository.getActivitiesForTags(tags, begin)).andReturn(activities);
+        replay(activityStreamsRepository);
+
+        List<String> returned = activityRepositoryService.getActivitiesForTags(tags,begin);
+
+        assertThat(returned.get(0),is(equalTo(entry2Json)));
+        assertThat(returned.get(1),is(equalTo(entry1Json)));
+    }
+}