You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by dh...@apache.org on 2009/02/06 21:33:00 UTC

svn commit: r741707 - in /incubator/esme/trunk/esme-java-client/src: main/java/org/apache/esme/api/EsmeRestApi.java test/java/org/apache/esme/api/RestTest.java

Author: dhague
Date: Fri Feb  6 20:32:59 2009
New Revision: 741707

URL: http://svn.apache.org/viewvc?rev=741707&view=rev
Log:
getMessages is now implemented.  resources/props/test.properties allows you to specify the token & API URL to use for JUnit test.

Modified:
    incubator/esme/trunk/esme-java-client/src/main/java/org/apache/esme/api/EsmeRestApi.java
    incubator/esme/trunk/esme-java-client/src/test/java/org/apache/esme/api/RestTest.java

Modified: incubator/esme/trunk/esme-java-client/src/main/java/org/apache/esme/api/EsmeRestApi.java
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/esme-java-client/src/main/java/org/apache/esme/api/EsmeRestApi.java?rev=741707&r1=741706&r2=741707&view=diff
==============================================================================
--- incubator/esme/trunk/esme-java-client/src/main/java/org/apache/esme/api/EsmeRestApi.java (original)
+++ incubator/esme/trunk/esme-java-client/src/main/java/org/apache/esme/api/EsmeRestApi.java Fri Feb  6 20:32:59 2009
@@ -226,6 +226,16 @@
 
     public List getMessages()
     {
+        return getMessagesHelper("/get_msgs");
+    }
+
+    public List waitForMessages()
+    {
+        return getMessagesHelper("/wait_for_msgs");
+    }
+
+    private List getMessagesHelper(String apiCall)
+    {
 //  GET /api/get_msgs
 //
 //  <esme_api operation="get_msgs" success="true">
@@ -242,7 +252,7 @@
 //  </esme_api>
 
         // TODO
-        GetMethod method = new GetMethod(apiUrl + "/get_msgs");
+        GetMethod method = new GetMethod(apiUrl + apiCall);
 
         List messageList = new ArrayList();
 

Modified: incubator/esme/trunk/esme-java-client/src/test/java/org/apache/esme/api/RestTest.java
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/esme-java-client/src/test/java/org/apache/esme/api/RestTest.java?rev=741707&r1=741706&r2=741707&view=diff
==============================================================================
--- incubator/esme/trunk/esme-java-client/src/test/java/org/apache/esme/api/RestTest.java (original)
+++ incubator/esme/trunk/esme-java-client/src/test/java/org/apache/esme/api/RestTest.java Fri Feb  6 20:32:59 2009
@@ -1,10 +1,12 @@
 package org.apache.esme.api;
 
+import java.io.IOException;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import org.apache.esme.api.EsmeRestApi;
 import junit.framework.TestCase;
+import org.apache.esme.model.Message;
 import org.apache.esme.model.Status;
 
 public class RestTest extends TestCase {
@@ -12,6 +14,8 @@
     private static Logger logger = Logger.getLogger("org.apache.esme.api");
     private static String token = TestProperties.getProperty("esme-token");
     private static String esmeServer = TestProperties.getProperty("esme-server");
+    private String testMsg = "This is a background message to be picked up by testWaitForMessages";
+    private EsmeRestApi esme;
 
     public void testStatus() throws Exception
     {
@@ -19,7 +23,7 @@
 
         logger.log(Level.INFO, "Testing message status");
 
-        EsmeRestApi esme = new EsmeRestApi(esmeServer);
+        esme = new EsmeRestApi(esmeServer);
         Status status = esme.getStatus();
 
         logger.log(Level.INFO, "API status is "+status);
@@ -42,7 +46,7 @@
 
         logger.log(Level.INFO, "Testing message sending");
 
-        EsmeRestApi esme = new EsmeRestApi(esmeServer);
+        esme = new EsmeRestApi(esmeServer);
 
         logger.log(Level.INFO, "Login with token "+token);
         esme.login(token);
@@ -63,7 +67,7 @@
 
         logger.log(Level.INFO, "Testing getMessages");
 
-        EsmeRestApi esme = new EsmeRestApi(esmeServer);
+        esme = new EsmeRestApi(esmeServer);
         esme.login(token);
 
         Status status = esme.getStatus();
@@ -78,4 +82,54 @@
         esme.logout();
     }
 
+	public void testWaitForMessages() throws Exception
+    {
+        EsmeRestApi.debugMode = true;
+
+        logger.log(Level.INFO, "Testing waitForMessages");
+
+        esme = new EsmeRestApi(esmeServer);
+        esme.login(token);
+
+        Status status = esme.getStatus();
+        assertNotNull(status);
+        logger.log(Level.INFO, "API status is "+status);
+
+        // Get the initial message list
+        List messages = esme.getMessages();
+
+        // Kick off a thread to wait 5 seconds and then send a message
+        new BackgroundMessage().start();
+
+        // Now we wait for the new message to appear
+        messages = esme.waitForMessages();
+        assertNotNull(messages);
+
+        logger.info("Got "+messages.size()+" messages from server.");
+
+        assertNotNull((Message)messages.get(0));
+        assertEquals(testMsg, ((Message)messages.get(0)).getBody());
+        
+        esme.logout();
+    }
+
+    private class BackgroundMessage extends Thread
+    {
+        public void run()
+        {
+            try {
+                // Log into ESME, wait 5 seconds, send a message & logout
+                EsmeRestApi bgEsme = new EsmeRestApi(esmeServer);
+                bgEsme.login(token);
+                sleep(5000);
+                bgEsme.sendMsg(testMsg);
+                bgEsme.logout();
+            } catch (IOException ex) {
+                ex.printStackTrace();
+            } catch (InterruptedException ex) {
+                ex.printStackTrace();
+            }
+
+        }
+    }
 }