You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2014/10/06 23:47:10 UTC

git commit: better tests

Repository: incubator-usergrid
Updated Branches:
  refs/heads/two-dot-o c0c30a916 -> 4ce4956fb


better tests


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/4ce4956f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/4ce4956f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/4ce4956f

Branch: refs/heads/two-dot-o
Commit: 4ce4956fb88888e753e63cd6985a32d72785b79a
Parents: c0c30a9
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Oct 6 15:46:54 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Oct 6 15:46:54 2014 -0600

----------------------------------------------------------------------
 .../persistence/queue/QueueManager.java         |  4 +--
 .../queue/impl/SQSQueueManagerImpl.java         | 37 +++++++++++---------
 .../persistence/queue/QueueManagerTest.java     | 25 +++++++++++++
 3 files changed, 48 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4ce4956f/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
index 89abe40..223860e 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
@@ -53,12 +53,12 @@ public interface QueueManager {
      * @param bodies body objects must be serializable
      * @throws IOException
      */
-    void sendMessages(List<Serializable> bodies) throws IOException;
+    void sendMessages(List bodies) throws IOException;
 
     /**
      * send a message to queue
      * @param body
      * @throws IOException
      */
-    void sendMessage(Serializable body)throws IOException;
+    void sendMessage(Object body)throws IOException;
 }

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4ce4956f/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
index 85b7f1e..6fa5bf8 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
@@ -31,14 +31,16 @@ import com.google.inject.Inject;
 import com.fasterxml.jackson.dataformat.smile.SmileFactory;
 import com.google.inject.assistedinject.Assisted;
 import org.apache.commons.lang.StringUtils;
+import org.apache.usergrid.persistence.model.util.UUIDGenerator;
 import org.apache.usergrid.persistence.queue.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import java.io.*;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.UUID;
 
-public class SQSQueueManagerImpl<T> implements QueueManager {
+public class SQSQueueManagerImpl implements QueueManager {
     private static final Logger LOG = LoggerFactory.getLogger(SQSQueueManagerImpl.class);
 
     private final AmazonSQSClient sqs;
@@ -103,7 +105,7 @@ public class SQSQueueManagerImpl<T> implements QueueManager {
     public List<QueueMessage> getMessages(int limit, int transactionTimeout, int waitTime, Class klass) {
         waitTime = waitTime/1000;
         String url = getQueue().getUrl();
-        LOG.info("Getting {} messages from {}",limit,url);
+        LOG.info("Getting {} messages from {}", limit, url);
         ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(url);
         receiveMessageRequest.setMaxNumberOfMessages(limit);
         receiveMessageRequest.setVisibilityTimeout(transactionTimeout);
@@ -127,24 +129,15 @@ public class SQSQueueManagerImpl<T> implements QueueManager {
     }
 
     @Override
-    public void commitMessage(QueueMessage queueMessage) {
-        String url = getQueue().getUrl();
-        LOG.info("Commit message {} to queue {}",queueMessage.getMessageId(),url);
-
-        sqs.deleteMessage(new DeleteMessageRequest()
-                .withQueueUrl(url)
-                .withReceiptHandle(queueMessage.getHandle()));
-    }
-
-    @Override
-    public void sendMessages(List<Serializable> bodies) throws IOException {
+    public void sendMessages(List bodies) throws IOException {
         String url = getQueue().getUrl();
         LOG.info("Sending Messages...{} to {}",bodies.size(),url);
 
         SendMessageBatchRequest request = new SendMessageBatchRequest(url);
         List<SendMessageBatchRequestEntry> entries = new ArrayList<>(bodies.size());
-        for(Serializable body : bodies){
+        for(Object body : bodies){
             SendMessageBatchRequestEntry entry = new SendMessageBatchRequestEntry();
+            entry.setId(UUID.randomUUID().toString());
             entry.setMessageBody(toString(body));
             entries.add(entry);
         }
@@ -154,13 +147,25 @@ public class SQSQueueManagerImpl<T> implements QueueManager {
     }
 
     @Override
-    public void sendMessage(Serializable body) throws IOException {
+    public void sendMessage(Object body) throws IOException {
         String url = getQueue().getUrl();
         LOG.info("Sending Message...{} to {}",body.toString(),url);
         SendMessageRequest request = new SendMessageRequest(url,toString((Serializable)body));
         sqs.sendMessage(request);
     }
 
+
+    @Override
+    public void commitMessage(QueueMessage queueMessage) {
+        String url = getQueue().getUrl();
+        LOG.info("Commit message {} to queue {}",queueMessage.getMessageId(),url);
+
+        sqs.deleteMessage(new DeleteMessageRequest()
+                .withQueueUrl(url)
+                .withReceiptHandle(queueMessage.getHandle()));
+    }
+
+
     @Override
     public void commitMessages(List<QueueMessage> queueMessages) {
         String url = getQueue().getUrl();
@@ -186,7 +191,7 @@ public class SQSQueueManagerImpl<T> implements QueueManager {
     }
 
     /** Write the object to a Base64 string. */
-    private  String toString( Serializable o ) throws IOException {
+    private  String toString( Object o ) throws IOException {
         return mapper.writeValueAsString(o);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4ce4956f/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
index b8b7967..26a350c 100644
--- a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
+++ b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
@@ -19,6 +19,7 @@
 
 package org.apache.usergrid.persistence.queue;
 
+import com.amazonaws.services.glacier.TreeHashGenerator;
 import org.apache.usergrid.persistence.collection.util.InvalidEntityGenerator;
 import org.apache.usergrid.persistence.queue.guice.TestQueueModule;
 import org.apache.usergrid.persistence.queue.impl.QueueScopeImpl;
@@ -34,7 +35,10 @@ import org.apache.usergrid.persistence.model.entity.SimpleId;
 import com.google.inject.Inject;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import static org.junit.Assert.*;
 
@@ -72,4 +76,25 @@ public class QueueManagerTest {
 
     }
 
+    @Ignore("need aws creds")
+    @Test
+    public void sendMore() throws IOException,ClassNotFoundException{
+        HashMap<String,String> values = new HashMap<>();
+        values.put("test","Test");
+
+        List<Map<String,String>> bodies = new ArrayList<>();
+        bodies.add(values);
+        qm.sendMessages(bodies);
+        List<QueueMessage> messageList = qm.getMessages(1,5000,5000,values.getClass());
+        assertTrue(messageList.size() >= 1);
+        for(QueueMessage message : messageList){
+            assertTrue(message.getBody().equals(values));
+        }
+        qm.commitMessages(messageList);
+
+        messageList = qm.getMessages(1,5000,5000,values.getClass());
+        assertTrue(messageList.size() <= 0);
+
+    }
+
 }