You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by an...@apache.org on 2007/03/23 10:37:34 UTC

svn commit: r521646 [2/2] - in /incubator/cxf/trunk/rt: core/src/main/java/org/apache/cxf/endpoint/ core/src/main/java/org/apache/cxf/service/ frontend/simple/src/main/java/org/apache/cxf/service/factory/ ws/rm/ ws/rm/src/main/java/org/apache/cxf/ws/rm...

Added: incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMContextUtilsTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMContextUtilsTest.java?view=auto&rev=521646
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMContextUtilsTest.java (added)
+++ incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMContextUtilsTest.java Fri Mar 23 02:37:32 2007
@@ -0,0 +1,188 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.ws.rm;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.ws.addressing.AddressingProperties;
+import org.apache.cxf.ws.addressing.AddressingPropertiesImpl;
+import org.apache.cxf.ws.addressing.JAXWSAConstants;
+import org.easymock.classextension.EasyMock;
+import org.easymock.classextension.IMocksControl;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * 
+ */
+public class RMContextUtilsTest extends TestCase {
+    
+    private IMocksControl control;
+    
+    @Before
+    public void setUp() {
+        control = EasyMock.createNiceControl();
+    }
+    
+    @After
+    public void tearDown() {
+        control.verify();
+    }
+    
+    @Test
+    public void testCtor() {
+        control.replay();
+        assertNotNull(new RMContextUtils());
+    }
+    
+    @Test
+    public void testGenerateUUID() {
+        control.replay();
+        assertNotNull(RMContextUtils.generateUUID());
+    }
+    
+    @Test
+    public void testIsOutbound() {
+        Message msg = control.createMock(Message.class); 
+        Exchange ex = control.createMock(Exchange.class);
+        EasyMock.expect(msg.getExchange()).andReturn(ex);
+        EasyMock.expect(ex.getOutMessage()).andReturn(null);
+        EasyMock.expect(ex.getOutFaultMessage()).andReturn(null);
+        control.replay();
+        assertTrue(!RMContextUtils.isOutbound(msg));
+    }
+    
+    @Test
+    public void testIsRequestor() {
+        Message msg = control.createMock(Message.class); 
+        EasyMock.expect(msg.get(Message.REQUESTOR_ROLE)).andReturn(Boolean.TRUE);
+        control.replay();
+        assertTrue(RMContextUtils.isRequestor(msg));
+    }
+    
+    @Test
+    public void testIsServerSide() {
+        Message msg = control.createMock(Message.class); 
+        Exchange ex = control.createMock(Exchange.class);
+        EasyMock.expect(msg.getExchange()).andReturn(ex);
+        EasyMock.expect(ex.getDestination()).andReturn(null);
+        control.replay();
+        assertTrue(!RMContextUtils.isServerSide(msg));
+    }
+    
+    @Test
+    public void testIsPartialResponse() {
+        Message msg = control.createMock(Message.class); 
+        Exchange ex = control.createMock(Exchange.class);
+        EasyMock.expect(msg.getExchange()).andReturn(ex).times(2);
+        EasyMock.expect(ex.getOutMessage()).andReturn(msg);
+        EasyMock.expect(msg.getContent(List.class)).andReturn(null);
+        EasyMock.expect(ex.getOutFaultMessage()).andReturn(null);
+        EasyMock.expect(ex.getInFaultMessage()).andReturn(null);
+        control.replay();
+        assertTrue(RMContextUtils.isPartialResponse(msg));
+    }
+    
+    @Test
+    public void testIsApplicationMessage() {
+        control.replay();
+        String action = null;
+        assertTrue(RMContextUtils.isAplicationMessage(action));
+        action = "";
+        assertTrue(RMContextUtils.isAplicationMessage(action));
+        action = "greetMe";
+        assertTrue(RMContextUtils.isAplicationMessage(action));
+        action = RMConstants.getCreateSequenceAction();
+        assertTrue(!RMContextUtils.isAplicationMessage(action));        
+    }
+    
+    @Test
+    public void testRetrieveOutboundRMProperties() {
+        Message msg = control.createMock(Message.class);
+        RMProperties rmps = control.createMock(RMProperties.class);
+        EasyMock.expect(msg.get(RMMessageConstants.RM_PROPERTIES_OUTBOUND)).andReturn(rmps);
+        control.replay();
+        assertSame(rmps, RMContextUtils.retrieveRMProperties(msg, true));        
+    }
+    
+    @Test
+    public void testRetrieveInboundRMPropertiesFromOutboundMessage() {
+        Message outMsg = control.createMock(Message.class);
+        Exchange ex = control.createMock(Exchange.class);
+        EasyMock.expect(outMsg.getExchange()).andReturn(ex).times(3);
+        EasyMock.expect(ex.getOutMessage()).andReturn(outMsg);
+        Message inMsg = control.createMock(Message.class);
+        EasyMock.expect(ex.getInMessage()).andReturn(null);
+        EasyMock.expect(ex.getInFaultMessage()).andReturn(inMsg);
+        RMProperties rmps = control.createMock(RMProperties.class);
+        EasyMock.expect(inMsg.get(RMMessageConstants.RM_PROPERTIES_INBOUND)).andReturn(rmps);
+        control.replay();
+        assertSame(rmps, RMContextUtils.retrieveRMProperties(outMsg, false));        
+    }
+    
+    @Test
+    public void testRetrieveInboundRMPropertiesFromInboundMessage() {
+        Message inMsg = control.createMock(Message.class);
+        Exchange ex = control.createMock(Exchange.class);
+        EasyMock.expect(inMsg.getExchange()).andReturn(ex);
+        EasyMock.expect(ex.getOutMessage()).andReturn(null);
+        EasyMock.expect(ex.getOutFaultMessage()).andReturn(null);
+        RMProperties rmps = control.createMock(RMProperties.class);
+        EasyMock.expect(inMsg.get(RMMessageConstants.RM_PROPERTIES_INBOUND)).andReturn(rmps);
+        control.replay();
+        assertSame(rmps, RMContextUtils.retrieveRMProperties(inMsg, false));        
+    }
+    
+    @Test
+    public void testStoreRMProperties() {
+        Message msg = control.createMock(Message.class);
+        RMProperties rmps = control.createMock(RMProperties.class);
+        EasyMock.expect(msg.put(RMMessageConstants.RM_PROPERTIES_INBOUND, rmps)).andReturn(null);
+        control.replay();
+        RMContextUtils.storeRMProperties(msg, rmps, false);
+    }
+    
+    @Test
+    public void testRetrieveMAPs() {
+        Message msg = control.createMock(Message.class);
+        EasyMock.expect(msg.get(Message.REQUESTOR_ROLE)).andReturn(Boolean.TRUE);
+        AddressingPropertiesImpl maps = control.createMock(AddressingPropertiesImpl.class);
+        EasyMock.expect(msg.get(JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES_OUTBOUND)).andReturn(maps);
+        control.replay();
+        assertSame(maps, RMContextUtils.retrieveMAPs(msg, false, true));     
+    }
+    
+    @Test
+    public void testStoreMAPs() {
+        Message msg = control.createMock(Message.class);
+        AddressingProperties maps = control.createMock(AddressingProperties.class);
+        EasyMock.expect(msg.put(JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES_OUTBOUND, maps)).andReturn(null);
+        control.replay();
+        RMContextUtils.storeMAPs(maps, msg, true, true);
+    }
+    
+    
+    
+
+}

Propchange: incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMContextUtilsTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMContextUtilsTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMEndpointTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMEndpointTest.java?view=diff&rev=521646&r1=521645&r2=521646
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMEndpointTest.java (original)
+++ incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMEndpointTest.java Fri Mar 23 02:37:32 2007
@@ -19,39 +19,229 @@
 
 package org.apache.cxf.ws.rm;
 
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collections;
+
 import javax.xml.namespace.QName;
 
 import junit.framework.TestCase;
-
+import org.apache.cxf.Bus;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.service.Service;
+import org.apache.cxf.service.model.BindingInfo;
+import org.apache.cxf.service.model.BindingOperationInfo;
+import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.service.model.InterfaceInfo;
 import org.apache.cxf.service.model.OperationInfo;
 import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.cxf.transport.Conduit;
+import org.apache.cxf.ws.policy.EndpointPolicyInfo;
+import org.apache.cxf.ws.policy.OutPolicyInfo;
+import org.apache.cxf.ws.policy.PolicyEngine;
+import org.apache.cxf.ws.policy.PolicyInterceptorProviderRegistry;
+import org.apache.neethi.Assertion;
+import org.apache.neethi.Policy;
 import org.easymock.classextension.EasyMock;
 import org.easymock.classextension.IMocksControl;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
 public class RMEndpointTest extends TestCase {
     
     private IMocksControl control;
+    private RMManager manager;
+    private Endpoint ae;
+    private RMEndpoint rme;
     
+    @Before
     public void setUp() {
         control = EasyMock.createNiceControl();
+        manager = control.createMock(RMManager.class);
+        ae = control.createMock(Endpoint.class);
+        rme = new RMEndpoint(manager, ae);
     }
     
+    @After
     public void tearDown() {
         control.verify();
     }
-      
-    public void testCreateService() throws NoSuchMethodException {
-        Service appService = control.createMock(Service.class);
-        Endpoint appEndpoint = control.createMock(Endpoint.class);
-        EasyMock.expect(appEndpoint.getService()).andReturn(appService);
+    
+    @Test
+    public void testConstructor() {
+        control.replay();
+        assertNotNull(rme);
+        assertNull(rme.getEndpoint());
+        assertNull(rme.getService());
+        assertNull(rme.getConduit());
+        assertNull(rme.getReplyTo());
+    }
+    
+    @Test
+    public void testGetName() {
+        EndpointInfo aei = control.createMock(EndpointInfo.class);        
+        EasyMock.expect(ae.getEndpointInfo()).andReturn(aei);
+        QName qn = new QName("cxf");
+        EasyMock.expect(aei.getName()).andReturn(qn);
+        control.replay();
+        assertSame(qn, rme.getName());
+    }
+    
+    @Test
+    public void testGetManager() {
+        control.replay();
+        assertSame(manager, rme.getManager());
+    }
+    
+    @Test
+    public void testGetApplicationEndpoint() {
+        control.replay();
+        assertSame(ae, rme.getApplicationEndpoint());
+    }
+    
+    @Test
+    public void testGetProxy() {
+        control.replay();
+        assertSame(rme, rme.getProxy().getReliableEndpoint());
+    }
+    
+    @Test
+    public void testGetServant() {
+        control.replay();
+        assertNotNull(rme.getServant());
+    }
+    
+    @Test
+    public void testGetSetDestination() {
+        Destination d = control.createMock(Destination.class);
         control.replay();
+        assertSame(rme, rme.getDestination().getReliableEndpoint());
+        rme.setDestination(d);
+        assertSame(d, rme.getDestination());        
+    }
+    
+    @Test
+    public void testGetSetSource() {
+        Source s = control.createMock(Source.class);
+        control.replay();
+        assertSame(rme, rme.getSource().getReliableEndpoint());
+        rme.setSource(s);
+        assertSame(s, rme.getSource());        
+    }
+    
+    @Test
+    public void testInitialise() throws NoSuchMethodException {
+        Method m1 = RMEndpoint.class.getDeclaredMethod("createService", new Class[] {});
+        Method m2 = RMEndpoint.class.getDeclaredMethod("createEndpoint", new Class[] {});
+        Method m3 = RMEndpoint.class.getDeclaredMethod("setPolicies", new Class[] {});
         
-        RMEndpoint rme = new RMEndpoint(null, appEndpoint);
+        rme = control.createMock(RMEndpoint.class, new Method[] {m1, m2, m3});
         rme.createService();
-        
+        EasyMock.expectLastCall();
+        rme.createEndpoint();
+        EasyMock.expectLastCall();
+        rme.setPolicies();
+        EasyMock.expectLastCall();
+        Conduit c = control.createMock(Conduit.class);
+        org.apache.cxf.ws.addressing.EndpointReferenceType epr = 
+            control.createMock(org.apache.cxf.ws.addressing.EndpointReferenceType.class);        
+        control.replay();
+        rme.initialise(c, epr);
+        assertSame(c, rme.getConduit());
+        assertSame(epr, rme.getReplyTo());  
+    }
+    
+    @Test
+    public void testCreateService() {
+        Service as = control.createMock(Service.class);
+        EasyMock.expect(ae.getService()).andReturn(as);
+        control.replay();
+        rme.createService();
+        Service s = rme.getService();
+        assertNotNull(s);
+        WrappedService ws = (WrappedService)s;
+        assertSame(as, ws.getWrappedService());
+        assertSame(rme.getServant(), s.getInvoker());
+        verifyService();
+    }
+    
+    @Test
+    public void testCreateEndpoint() throws NoSuchMethodException {
+        Method m = RMEndpoint.class.getDeclaredMethod("getUsingAddressing", new Class[] {EndpointInfo.class});
+        rme = control.createMock(RMEndpoint.class, new Method[] {m});
+        rme.setAplicationEndpoint(ae);
+        rme.setManager(manager);  
+        Service as = control.createMock(Service.class);
+        EasyMock.expect(ae.getService()).andReturn(as);
+        EndpointInfo aei = control.createMock(EndpointInfo.class);
+        EasyMock.expect(ae.getEndpointInfo()).andReturn(aei).times(2);
+        BindingInfo bi = control.createMock(BindingInfo.class);
+        EasyMock.expect(aei.getBinding()).andReturn(bi);
+        String ns = "http://schemas.xmlsoap.org/wsdl/soap/";
+        EasyMock.expect(bi.getBindingId()).andReturn(ns);
+        EasyMock.expect(aei.getTransportId()).andReturn(ns);
+        String addr = "addr";
+        EasyMock.expect(aei.getAddress()).andReturn(addr);
+        Object ua = new Object();
+        EasyMock.expect(rme.getUsingAddressing(aei)).andReturn(ua);
+        control.replay();
+        rme.createService();
+        rme.createEndpoint();
+        Endpoint e = rme.getEndpoint();
+        WrappedEndpoint we = (WrappedEndpoint)e;
+        assertSame(ae, we.getWrappedEndpoint());  
+        Service s = rme.getService();
+        assertEquals(1, s.getEndpoints().size());
+        assertSame(e, s.getEndpoints().get(new QName(RMConstants.getWsdlNamespace(), 
+                                                     "SequenceAbstractSoapPort")));   
+    }
+    
+    @Test
+    public void testSetPolicies() throws NoSuchMethodException {
+        Method m = RMEndpoint.class.getDeclaredMethod("getEndpoint", new Class[] {});
+        rme = control.createMock(RMEndpoint.class, new Method[] {m});
+        rme.setAplicationEndpoint(ae);
+        rme.setManager(manager);
+        Endpoint e = control.createMock(Endpoint.class);
+        EasyMock.expect(rme.getEndpoint()).andReturn(e);
+        Bus bus = control.createMock(Bus.class);
+        EasyMock.expect(manager.getBus()).andReturn(bus);
+        PolicyEngine pe = control.createMock(PolicyEngine.class);
+        EasyMock.expect(bus.getExtension(PolicyEngine.class)).andReturn(pe);
+        EndpointPolicyInfo epi = control.createMock(EndpointPolicyInfo.class);
+        EasyMock.expect(pe.getEndpointPolicyInfo(ae, (Conduit)null)).andReturn(epi);
+        Policy policy = new Policy();
+        EasyMock.expect(epi.getPolicy()).andReturn(policy);
+        EasyMock.expect(epi.getChosenAlternative()).andReturn(new ArrayList<Assertion>());
+        EasyMock.expect(pe.getBus()).andReturn(bus);
+        PolicyInterceptorProviderRegistry reg = control.createMock(PolicyInterceptorProviderRegistry.class);
+        EasyMock.expect(bus.getExtension(PolicyInterceptorProviderRegistry.class)).andReturn(reg);
+        pe.setEndpointPolicyInfo(e, epi);
+        EasyMock.expectLastCall();
+        EndpointInfo ei = control.createMock(EndpointInfo.class);
+        EasyMock.expect(e.getEndpointInfo()).andReturn(ei);
+        BindingInfo bi = control.createMock(BindingInfo.class);
+        EasyMock.expect(ei.getBinding()).andReturn(bi);
+        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+        EasyMock.expect(bi.getOperations()).andReturn(Collections.singletonList(boi));
+        pe.setServerRequestPolicyInfo(EasyMock.eq(e), EasyMock.eq(boi), 
+                                      EasyMock.isA(OutPolicyInfo.class));
+        EasyMock.expectLastCall();
+        pe.setServerResponsePolicyInfo(EasyMock.eq(e), EasyMock.eq(boi), 
+                                      EasyMock.isA(OutPolicyInfo.class));
+        EasyMock.expectLastCall();
+        pe.setClientRequestPolicyInfo(EasyMock.eq(e), EasyMock.eq(boi), 
+                                      EasyMock.isA(OutPolicyInfo.class));
+        EasyMock.expectLastCall();
+        pe.setClientResponsePolicyInfo(EasyMock.eq(e), EasyMock.eq(boi), 
+                                      EasyMock.isA(OutPolicyInfo.class));
+        EasyMock.expectLastCall();
+        control.replay();
+        rme.setPolicies();
+    }
+       
+    private void verifyService() {        
         Service service = rme.getService();
         ServiceInfo si = service.getServiceInfo();
         assertNotNull("service info is null", si);

Modified: incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMInInterceptorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMInInterceptorTest.java?view=diff&rev=521646&r1=521645&r2=521646
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMInInterceptorTest.java (original)
+++ incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMInInterceptorTest.java Fri Mar 23 02:37:32 2007
@@ -19,19 +19,47 @@
 
 package org.apache.cxf.ws.rm;
 
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
 
 import junit.framework.TestCase;
-
+import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.Phase;
 import org.apache.cxf.phase.PhaseInterceptorChain;
+import org.apache.cxf.ws.addressing.AddressingPropertiesImpl;
+import org.apache.cxf.ws.addressing.AttributedURIType;
+import org.apache.cxf.ws.addressing.JAXWSAConstants;
 import org.apache.cxf.ws.addressing.MAPAggregator;
+import org.apache.cxf.ws.policy.AssertionInfoMap;
+import org.easymock.classextension.EasyMock;
+import org.easymock.classextension.IMocksControl;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
 public class RMInInterceptorTest extends TestCase {
     
+    private IMocksControl control;
+    private RMProperties rmps;
+    
+    @Before
+    public void setUp() {
+        control = EasyMock.createNiceControl();
+        rmps = control.createMock(RMProperties.class);
+    }
+
+    @After
+    public void tearDown() {
+        control.verify();
+    }
     
+    @Test
     public void testOrdering() {
+        control.replay();
         Phase p = new Phase(Phase.PRE_LOGICAL, 1);
         PhaseInterceptorChain chain = 
             new PhaseInterceptorChain(Collections.singletonList(p));
@@ -42,6 +70,203 @@
         Iterator it = chain.iterator();
         assertSame("Unexpected order.", rmi, it.next());
         assertSame("Unexpected order.", map, it.next());
-                              
     } 
+    
+    
+    @Test
+    public void testHandleCreateSequenceOnServer() throws SequenceFault {
+        RMInInterceptor interceptor = new RMInInterceptor();         
+        Message message = setupInboundMessage(RMConstants.getCreateSequenceAction(), true);   
+        EasyMock.expect(message.get(AssertionInfoMap.class)).andReturn(null);
+        
+        control.replay();
+        interceptor.handle(message);
+    }
+    
+    @Test
+    public void testHandleCreateSequenceOnClient() throws SequenceFault {
+        RMInInterceptor interceptor = new RMInInterceptor();         
+        Message message = setupInboundMessage(RMConstants.getCreateSequenceAction(), false);       
+        RMManager manager = control.createMock(RMManager.class);
+        interceptor.setManager(manager);
+        RMEndpoint rme = control.createMock(RMEndpoint.class);
+        EasyMock.expect(manager.getReliableEndpoint(message)).andReturn(rme);
+        Servant servant = control.createMock(Servant.class);
+        EasyMock.expect(rme.getServant()).andReturn(servant);
+        CreateSequenceResponseType csr = control.createMock(CreateSequenceResponseType.class);
+        EasyMock.expect(servant.createSequence(message)).andReturn(csr);
+        Proxy proxy = control.createMock(Proxy.class);
+        EasyMock.expect(rme.getProxy()).andReturn(proxy);
+        proxy.createSequenceResponse(csr);
+        EasyMock.expectLastCall();
+        
+        control.replay();
+        interceptor.handle(message);
+    }
+    
+    @Test
+    public void testHandleSequenceAckOnClient() throws SequenceFault, NoSuchMethodException {
+        testHandleSequenceAck(false);
+    }
+    
+    @Test
+    public void testHandleSequenceAckOnServer() throws SequenceFault, NoSuchMethodException {
+        testHandleSequenceAck(true);
+    }
+    
+    private void testHandleSequenceAck(boolean onServer) throws SequenceFault, NoSuchMethodException {
+        Method m = RMInInterceptor.class.getDeclaredMethod("processAcknowledgments",
+            new Class[] {RMProperties.class});
+        RMInInterceptor interceptor = control.createMock(RMInInterceptor.class, new Method[] {m});
+        Message message = setupInboundMessage(RMConstants.getSequenceAckAction(), onServer);
+        interceptor.processAcknowledgments(rmps);
+        EasyMock.expectLastCall();
+        EasyMock.expect(message.get(AssertionInfoMap.class)).andReturn(null);
+
+        control.replay();
+        interceptor.handle(message);
+    }
+    
+    @Test
+    public void testHandleTerminateSequenceOnServer() throws SequenceFault {
+        testHandleTerminateSequence(true);        
+    }
+    
+    @Test
+    public void testHandleTerminateSequenceOnClient() throws SequenceFault {
+        testHandleTerminateSequence(false);        
+    }
+    
+    private void testHandleTerminateSequence(boolean onServer) throws SequenceFault {
+        RMInInterceptor interceptor = new RMInInterceptor();
+        Message message = setupInboundMessage(RMConstants.getTerminateSequenceAction(), onServer);
+        EasyMock.expectLastCall();
+        EasyMock.expect(message.get(AssertionInfoMap.class)).andReturn(null);
+
+        control.replay();
+        interceptor.handle(message);
+    }
+    
+    @Test
+    public void testAppRequest() throws SequenceFault, NoSuchMethodException {
+        testAppMessage(true);
+    }
+    
+    @Test
+    public void testAppResponse() throws SequenceFault, NoSuchMethodException {
+        testAppMessage(false);
+    }
+    
+    private void testAppMessage(boolean onServer) throws SequenceFault, NoSuchMethodException {
+        Method m1 = RMInInterceptor.class.getDeclaredMethod("processAcknowledgments",
+                                                            new Class[] {RMProperties.class});
+        Method m2 = RMInInterceptor.class.getDeclaredMethod("processAcknowledgmentRequests",
+                                                            new Class[] {RMProperties.class});
+        Method m3 = RMInInterceptor.class.getDeclaredMethod("processSequence",
+                                                            new Class[] {Destination.class, Message.class});
+        Method m4 = RMInInterceptor.class.getDeclaredMethod("processDeliveryAssurance",
+                                                            new Class[] {RMProperties.class});
+        RMInInterceptor interceptor = control
+            .createMock(RMInInterceptor.class, new Method[] {m1, m2, m3, m4});
+        Message message = setupInboundMessage("greetMe", true);
+        RMManager manager = control.createMock(RMManager.class);
+        interceptor.setManager(manager);
+        Destination d = control.createMock(Destination.class);
+        EasyMock.expect(manager.getDestination(message)).andReturn(d);
+        interceptor.processAcknowledgments(rmps);
+        EasyMock.expectLastCall();
+        interceptor.processAcknowledgmentRequests(rmps);
+        EasyMock.expectLastCall();
+        interceptor.processSequence(d, message);
+        EasyMock.expectLastCall();
+        interceptor.processDeliveryAssurance(rmps);
+        EasyMock.expectLastCall();
+        EasyMock.expect(message.get(AssertionInfoMap.class)).andReturn(null);
+
+        control.replay();
+        interceptor.handle(message);
+    }  
+    
+    @Test
+    public void testProcessAcknowledgments() {
+        RMInInterceptor interceptor = new RMInInterceptor();
+        RMManager manager = control.createMock(RMManager.class);
+        interceptor.setManager(manager);
+        SequenceAcknowledgement ack1 = control.createMock(SequenceAcknowledgement.class);
+        SequenceAcknowledgement ack2 = control.createMock(SequenceAcknowledgement.class);
+        Collection<SequenceAcknowledgement> acks = new ArrayList<SequenceAcknowledgement>();
+        acks.add(ack1);
+        acks.add(ack2);
+        EasyMock.expect(rmps.getAcks()).andReturn(acks);
+        Identifier id1 = control.createMock(Identifier.class);
+        EasyMock.expect(ack1.getIdentifier()).andReturn(id1);
+        SourceSequence ss1 = control.createMock(SourceSequence.class);
+        EasyMock.expect(manager.getSourceSequence(id1)).andReturn(ss1);
+        ss1.setAcknowledged(ack1);
+        EasyMock.expectLastCall();
+        Identifier id2 = control.createMock(Identifier.class);
+        EasyMock.expect(ack2.getIdentifier()).andReturn(id2);
+        EasyMock.expect(manager.getSourceSequence(id2)).andReturn(null);
+        EasyMock.expect(id2.getValue()).andReturn("s2");
+        
+        control.replay();
+        try {
+            interceptor.processAcknowledgments(rmps);
+            fail("Expected SequenceFault not thrown");
+        } catch (SequenceFault sf) {
+            assertEquals(RMConstants.getUnknownSequenceFaultCode(), sf.getFaultInfo().getFaultCode());
+        }
+    }
+    
+    @Test
+    public void testProcessAcknowledgmentRequests() {
+        control.replay();
+        // TODI
+    }
+    
+    @Test
+    public void testProcessSequence() throws SequenceFault {
+        Destination destination = control.createMock(Destination.class);
+        Message message = control.createMock(Message.class);
+        destination.acknowledge(message);
+        EasyMock.expectLastCall();        
+        control.replay();
+        RMInInterceptor interceptor = new RMInInterceptor();
+        interceptor.processSequence(destination, message);
+    }
+    
+    @Test
+    public void testProcessDeliveryAssurance() {
+        control.replay(); 
+        // TODO
+    }
+    
+    
+    
+
+    private Message setupInboundMessage(String action, boolean serverSide) {
+        Message message = control.createMock(Message.class);
+        Exchange exchange = control.createMock(Exchange.class);
+        EasyMock.expect(message.getExchange()).andReturn(exchange).times(2);
+        EasyMock.expect(exchange.getOutMessage()).andReturn(null);
+        EasyMock.expect(exchange.getOutFaultMessage()).andReturn(null);        
+        EasyMock.expect(message.get(RMMessageConstants.RM_PROPERTIES_INBOUND)).andReturn(rmps);
+        
+        EasyMock.expect(message.get(Message.REQUESTOR_ROLE)).andReturn(!serverSide);
+        AddressingPropertiesImpl maps = control.createMock(AddressingPropertiesImpl.class);
+        EasyMock.expect(message.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND)).andReturn(maps);
+        
+        AttributedURIType actionURI = control.createMock(AttributedURIType.class);
+        EasyMock.expect(maps.getAction()).andReturn(actionURI).times(2);
+        EasyMock.expect(actionURI.getValue()).andReturn(action);
+        
+        EasyMock.expect(message.get(RMMessageConstants.ORIGINAL_REQUESTOR_ROLE)).andReturn(Boolean.FALSE);
+        EasyMock.expect(message.put(Message.REQUESTOR_ROLE, Boolean.FALSE)).andReturn(null);
+        
+        org.apache.cxf.transport.Destination td = 
+            serverSide ? control.createMock(org.apache.cxf.transport.Destination.class) : null;
+        EasyMock.expect(exchange.getDestination()).andReturn(td);
+        return message;
+    }
+    
 }

Modified: incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java?view=diff&rev=521646&r1=521645&r2=521646
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java (original)
+++ incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java Fri Mar 23 02:37:32 2007
@@ -26,7 +26,6 @@
 import java.util.TimerTask;
 
 import junit.framework.TestCase;
-
 import org.apache.cxf.Bus;
 import org.apache.cxf.bus.spring.SpringBusFactory;
 import org.apache.cxf.endpoint.Endpoint;
@@ -43,15 +42,20 @@
 import org.apache.cxf.ws.rm.policy.RMAssertion;
 import org.easymock.classextension.EasyMock;
 import org.easymock.classextension.IMocksControl;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
 
 public class RMManagerTest extends TestCase {
     
     private IMocksControl control;
     
+    @Before
     public void setUp() {
         control = EasyMock.createNiceControl();
     }
    
+    @Test
     public void testAccessors() {
         RMManager manager = new RMManager();
         assertNull(manager.getStore());
@@ -70,6 +74,7 @@
         
     }
     
+    @Test
     public void testInitialisation() {
         RMManager manager = new RMManager();
         assertTrue("RMAssertion is set.", !manager.isSetRMAssertion());
@@ -103,6 +108,8 @@
    
     }   
     
+    @Ignore
+    @Test
     public void xtestGetReliableEndpoint() {
         
         RMManager manager = new RMManager();
@@ -122,6 +129,7 @@
         control.verify();
     }
     
+    @Test
     public void testGetDestination() throws NoSuchMethodException {
         Method  m = RMManager.class
             .getDeclaredMethod("getReliableEndpoint", new Class[] {Message.class});        
@@ -142,7 +150,8 @@
         assertNull(manager.getDestination(message));
         control.verify();        
     }
-        
+    
+    @Test
     public void testGetSource() throws NoSuchMethodException {
         Method m = RMManager.class
             .getDeclaredMethod("getReliableEndpoint", new Class[] {Message.class});
@@ -163,7 +172,8 @@
         assertNull(manager.getSource(message));
         control.verify();
     }
-        
+     
+    @Test
     public void testGetExistingSequence() throws NoSuchMethodException, SequenceFault {
         Method m = RMManager.class
            .getDeclaredMethod("getSource", new Class[] {Message.class});
@@ -180,6 +190,7 @@
         control.verify();
     }
     
+    @Test
     public void testGetNewSequence() throws NoSuchMethodException, SequenceFault, IOException {
         Method m = RMManager.class.getDeclaredMethod("getSource", new Class[] {Message.class});
         RMManager manager = control.createMock(RMManager.class, new Method[] {m});
@@ -207,8 +218,7 @@
         Proxy proxy = control.createMock(Proxy.class);
         EasyMock.expect(rme.getProxy()).andReturn(proxy);
         CreateSequenceResponseType createResponse = control.createMock(CreateSequenceResponseType.class);
-        proxy.createSequence(EasyMock.isA(EndpointReferenceType.class),
-                             EasyMock.isA(org.apache.cxf.ws.addressing.v200408.EndpointReferenceType.class),
+        proxy.createSequence(EasyMock.isA(org.apache.cxf.ws.addressing.v200408.EndpointReferenceType.class),
                              (RelatesToType)EasyMock.isNull(),
                              EasyMock.eq(false));
         EasyMock.expectLastCall().andReturn(createResponse);
@@ -226,6 +236,7 @@
         control.verify();
     }
 
+    @Test
     public void testShutdown() {
 
         Bus bus = new SpringBusFactory().createBus("org/apache/cxf/ws/rm/rmmanager.xml", false);

Modified: incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java?view=diff&rev=521646&r1=521645&r2=521646
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java (original)
+++ incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMOutInterceptorTest.java Fri Mar 23 02:37:32 2007
@@ -26,7 +26,6 @@
 import java.util.List;
 
 import junit.framework.TestCase;
-
 import org.apache.cxf.interceptor.InterceptorChain;
 import org.apache.cxf.message.Exchange;
 import org.apache.cxf.message.Message;
@@ -40,15 +39,19 @@
 import org.apache.cxf.ws.addressing.v200408.AttributedURI;
 import org.easymock.classextension.EasyMock;
 import org.easymock.classextension.IMocksControl;
+import org.junit.Before;
+import org.junit.Test;
 
 public class RMOutInterceptorTest extends TestCase {
     
     private IMocksControl control;
     
+    @Before
     public void setUp() {
         control = EasyMock.createNiceControl();
     }
     
+    @Test
     public void testOrdering() {
         Phase p = new Phase(Phase.PRE_LOGICAL, 1);
         PhaseInterceptorChain chain = 
@@ -62,6 +65,7 @@
         assertSame("Unexpected order.", rmi, it.next());                      
     } 
     
+    @Test
     public void testHandleApplicationMessage() throws NoSuchMethodException, SequenceFault {
         AddressingPropertiesImpl maps = createMAPs("greetMe", "localhost:9000/GreeterPort", 
             org.apache.cxf.ws.addressing.Names.WSA_NONE_ADDRESS);
@@ -114,7 +118,7 @@
 
         
         control.replay();
-        interceptor.handleMessage(message, false);
+        interceptor.handle(message);
         assertSame(sid, rmpsOut.getSequence().getIdentifier());        
         assertEquals(BigInteger.TEN, rmpsOut.getSequence().getMessageNumber());
         assertNull(rmpsOut.getSequence().getLastMessage());

Modified: incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/SourceSequenceTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/SourceSequenceTest.java?view=diff&rev=521646&r1=521645&r2=521646
==============================================================================
--- incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/SourceSequenceTest.java (original)
+++ incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/SourceSequenceTest.java Fri Mar 23 02:37:32 2007
@@ -32,6 +32,9 @@
 import org.apache.cxf.ws.rm.manager.SourcePolicyType;
 import org.easymock.classextension.EasyMock;
 import org.easymock.classextension.IMocksControl;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
 public class SourceSequenceTest extends TestCase {
 
@@ -45,6 +48,7 @@
     private SequenceTerminationPolicyType stp;
     private RetransmissionQueue rq;
   
+    @Before
     public void setUp() {        
         factory = new ObjectFactory();
         id = factory.createIdentifier();
@@ -53,6 +57,7 @@
         control = EasyMock.createNiceControl();
     }
     
+    @After
     public void tearDown() {
         source = null;
         manager = null;
@@ -79,7 +84,7 @@
         EasyMock.expect(manager.getSourcePolicy()).andReturn(sp).anyTimes();
     }
     
-
+    @Test
     public void testConstructors() {
 
         Identifier otherId = factory.createIdentifier();
@@ -114,6 +119,7 @@
         assertFalse(seq.offeredBy(id));
     }
     
+    @Test
     public void testSetExpires() {
         SourceSequence seq = new SourceSequence(id);
         
@@ -142,6 +148,7 @@
         assertTrue(seq.isExpired());   
     }
 
+    @Test
     public void testEqualsAndHashCode() {
         SourceSequence seq = new SourceSequence(id);
         SourceSequence otherSeq = null;
@@ -157,7 +164,7 @@
         assertTrue(!seq.equals(this));
     }
     
-
+    @Test
     public void testSetAcknowledged() {
         SourceSequence seq = new SourceSequence(id);
         setUpSource();
@@ -190,6 +197,7 @@
         control.verify();
     } 
 
+    @Test
     public void testAllAcknowledged() throws SequenceFault {
         
         SourceSequence seq = new SourceSequence(id, null, null, new BigInteger("4"), false);        
@@ -216,6 +224,7 @@
         control.verify();
     }
     
+    @Test
     public void testNextMessageNumber() {     
         SourceSequence seq = null;        
         setUpSource();
@@ -270,6 +279,7 @@
         // termination policy max unacknowledged 
     }
     
+    @Test
     public void testGetEndpointIdentfier() {
         setUpSource();
         QName qn = new QName("abc", "xyz");
@@ -282,6 +292,7 @@
         control.verify();
     }
     
+    @Test
     public void testCheckOfferingSequenceClosed() {
         SourceSequence seq = null;