You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2010/05/06 13:23:55 UTC

svn commit: r941665 - in /synapse/trunk/java/modules/core/src/test/java/org/apache/synapse: eventing/SynapseEventSourceTest.java eventing/builders/MessageBuilderTest.java mediators/TestUtils.java

Author: hiranya
Date: Thu May  6 11:23:55 2010
New Revision: 941665

URL: http://svn.apache.org/viewvc?rev=941665&view=rev
Log:
Updated event source tests


Modified:
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/SynapseEventSourceTest.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/builders/MessageBuilderTest.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/TestUtils.java

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/SynapseEventSourceTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/SynapseEventSourceTest.java?rev=941665&r1=941664&r2=941665&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/SynapseEventSourceTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/SynapseEventSourceTest.java Thu May  6 11:23:55 2010
@@ -35,6 +35,7 @@ import org.wso2.eventing.EventingConstan
 import org.wso2.eventing.exceptions.EventException;
 import junit.framework.TestCase;
 
+import javax.xml.namespace.QName;
 import java.util.Date;
 import java.util.Calendar;
 
@@ -42,8 +43,12 @@ public class SynapseEventSourceTest exte
 
     private SubscriptionManager subMan;
     private SynapseEventSource source;
+    private String id;
 
     private static final String SUB_MAN_URL = "http://synapse.test.com/eventing/subscriptions";
+    private static final String ADDR_URL = "http://www.other.example.com/OnStormWarning";
+    private static final String FILTER_DIALECT = "http://www.example.org/topicFilter";
+    private static final String FILTER = "weather.storms";
 
     protected void setUp() throws Exception {
         source = new SynapseEventSource("foo");
@@ -53,12 +58,10 @@ public class SynapseEventSourceTest exte
 
     public void testSubscriptionHandling() {
         subscribeTest();
+        renewTest();
     }
 
     private void subscribeTest() {
-        String addressUrl = "http://www.other.example.com/OnStormWarning";
-        String filterDialect = "http://www.example.org/topicFilter";
-        String filter = "weather.storms";
         Date date = new Date(System.currentTimeMillis() + 3600000);
         Calendar cal = Calendar.getInstance();
         cal.setTime(date);
@@ -75,7 +78,7 @@ public class SynapseEventSourceTest exte
                 "   </wse:EndTo>\n" +
                 "   <wse:Delivery>\n" +
                 "       <wse:NotifyTo>\n" +
-                "         <wsa:Address>" + addressUrl + "</wsa:Address>\n" +
+                "         <wsa:Address>" + ADDR_URL + "</wsa:Address>\n" +
                 "         <wsa:ReferenceProperties>\n" +
                 "             <ew:MySubscription>2597</ew:MySubscription>\n" +
                 "         </wsa:ReferenceProperties>\n" +
@@ -83,13 +86,12 @@ public class SynapseEventSourceTest exte
                 "    </wse:Delivery>\n" +
                 "    <wse:Expires>" + ConverterUtil.convertToString(cal) + "</wse:Expires>\n" +
                 "    <wse:Filter xmlns:ow=\"http://www.example.org/oceanwatch\"\n" +
-                "              Dialect=\"" + filterDialect + "\" >" + filter +"</wse:Filter>\n" +
+                "              Dialect=\"" + FILTER_DIALECT + "\" >" + FILTER +"</wse:Filter>\n" +
                 "</wse:Subscribe>";
 
         try {
             MessageContext msgCtx = createMessageContext(message, EventingConstants.WSE_SUBSCRIBE);
             source.receive(msgCtx);
-
         } catch (Exception ignored) {
 
         }
@@ -98,13 +100,48 @@ public class SynapseEventSourceTest exte
             assertEquals(1, subMan.getSubscriptions().size());
             SynapseSubscription s = (SynapseSubscription) subMan.getSubscriptions().get(0);
             assertEquals(SUB_MAN_URL, s.getSubManUrl());
-            assertEquals(addressUrl, s.getAddressUrl());
-            assertEquals(filterDialect, s.getFilterDialect());
-            assertEquals(filter, s.getFilterValue());
+            assertEquals(ADDR_URL, s.getAddressUrl());
+            assertEquals(FILTER_DIALECT, s.getFilterDialect());
+            assertEquals(FILTER, s.getFilterValue());
+            assertEquals(date, s.getExpires().getTime());
+            id = s.getId();
+        } catch (EventException e) {
+            fail("Eventing exception occured while accessing the subscription manager");
+        }
+    }
+
+    public void renewTest() {
+        Date date = new Date(System.currentTimeMillis() + 3600000 * 2);
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date);
+
+        String message =
+                "<wse:Renew xmlns:wse=\"http://schemas.xmlsoap.org/ws/2004/08/eventing\">\n" +
+                "   <wse:Expires>" + ConverterUtil.convertToString(cal) + "</wse:Expires>\n" +
+                "</wse:Renew>";
+
+        try {
+            MessageContext msgCtx = createMessageContext(message, EventingConstants.WSE_RENEW);
+            QName qname = new QName(EventingConstants.WSE_EVENTING_NS,
+                    EventingConstants.WSE_EN_IDENTIFIER, "wse");
+            TestUtils.addSOAPHeaderBlock(msgCtx, qname, id);
+            source.receive(msgCtx);
+        } catch (Exception ignored) {
+
+        }
+
+        try {
+            assertEquals(1, subMan.getSubscriptions().size());
+            SynapseSubscription s = (SynapseSubscription) subMan.getSubscription(this.id);
+            assertEquals(SUB_MAN_URL, s.getSubManUrl());
+            assertEquals(ADDR_URL, s.getAddressUrl());
+            assertEquals(FILTER_DIALECT, s.getFilterDialect());
+            assertEquals(FILTER, s.getFilterValue());
             assertEquals(date, s.getExpires().getTime());
         } catch (EventException e) {
             fail("Eventing exception occured while accessing the subscription manager");
         }
+
     }
 
     private MessageContext createMessageContext(String payload, String action) {

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/builders/MessageBuilderTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/builders/MessageBuilderTest.java?rev=941665&r1=941664&r2=941665&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/builders/MessageBuilderTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/eventing/builders/MessageBuilderTest.java Thu May  6 11:23:55 2010
@@ -31,6 +31,7 @@ import org.apache.axiom.soap.SOAPHeaderB
 import org.apache.axiom.om.OMAbstractFactory;
 import org.wso2.eventing.EventingConstants;
 
+import javax.xml.namespace.QName;
 import java.util.Calendar;
 import java.util.Date;
 
@@ -195,12 +196,9 @@ public class MessageBuilderTest extends 
 
     private String addIdentifierHeader(MessageContext msgCtx) {
         String id = UUIDGenerator.getUUID();
-        SOAPEnvelope env = msgCtx.getEnvelope();
-        SOAPHeaderBlock header = env.getHeader().addHeaderBlock(
-                EventingConstants.WSE_EN_IDENTIFIER,
-                OMAbstractFactory.getSOAP11Factory().
-                        createOMNamespace(EventingConstants.WSE_EVENTING_NS, "wse"));
-        header.setText(id);
+        QName qname = new QName(EventingConstants.WSE_EVENTING_NS,
+                    EventingConstants.WSE_EN_IDENTIFIER, "wse");
+        TestUtils.addSOAPHeaderBlock(msgCtx, qname, id);
         return id;
     }
 

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/TestUtils.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/TestUtils.java?rev=941665&r1=941664&r2=941665&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/TestUtils.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/TestUtils.java Thu May  6 11:23:55 2010
@@ -25,6 +25,7 @@ import org.apache.axiom.om.OMAbstractFac
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.TestMessageContextBuilder;
 import org.apache.synapse.config.Entry;
@@ -36,6 +37,8 @@ import org.apache.synapse.core.axis2.Axi
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.engine.AxisConfiguration;
 
+import javax.xml.namespace.QName;
+
 public class TestUtils {
 
     public static MessageContext getTestContext(String bodyText, Map<String,Entry> props) throws Exception {
@@ -120,4 +123,15 @@ public class TestUtils {
         return SynapseConfigUtils.stringToOM(xml);
     }
 
+    public static void addSOAPHeaderBlock(org.apache.axis2.context.MessageContext msgCtx,
+                                          QName qname, String value) {
+
+        SOAPEnvelope env = msgCtx.getEnvelope();
+        SOAPHeaderBlock header = env.getHeader().addHeaderBlock(
+                qname.getLocalPart(),
+                msgCtx.getEnvelope().getOMFactory().
+                        createOMNamespace(qname.getNamespaceURI(), qname.getPrefix()));
+        header.setText(value);        
+    }
+
 }