KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > ws > rm > RMDestinationTest


1 package org.objectweb.celtix.bus.ws.rm;
2
3 import java.math.BigInteger JavaDoc;
4 import java.util.ArrayList JavaDoc;
5 import java.util.Collection JavaDoc;
6
7 import junit.framework.TestCase;
8
9 import org.easymock.classextension.EasyMock;
10 import org.easymock.classextension.IMocksControl;
11 import org.objectweb.celtix.bus.configuration.wsrm.DestinationPolicyType;
12 import org.objectweb.celtix.configuration.Configuration;
13 import org.objectweb.celtix.ws.addressing.v200408.EndpointReferenceType;
14 import org.objectweb.celtix.ws.rm.Identifier;
15 import org.objectweb.celtix.ws.rm.SequenceType;
16 import org.objectweb.celtix.ws.rm.persistence.RMDestinationSequence;
17 import org.objectweb.celtix.ws.rm.persistence.RMStore;
18 import org.objectweb.celtix.ws.rm.policy.RMAssertionType;
19 import org.objectweb.celtix.ws.rm.wsdl.SequenceFault;
20
21 public class RMDestinationTest extends TestCase {
22     
23     private IMocksControl control;
24     private RMHandler handler;
25     private EndpointReferenceType address;
26
27     public void setUp() {
28         control = EasyMock.createNiceControl();
29         handler = control.createMock(RMHandler.class);
30         address = control.createMock(EndpointReferenceType.class);
31     }
32
33     public void testSequenceAccess() {
34         RMStore store = control.createMock(RMStore.class);
35         EasyMock.expect(handler.getStore()).andReturn(store).times(2);
36         store.createDestinationSequence(EasyMock.isA(RMDestinationSequence.class));
37         EasyMock.expectLastCall();
38         store.removeDestinationSequence(EasyMock.isA(Identifier.class));
39         EasyMock.expectLastCall();
40         
41         control.replay();
42         RMDestination d = new RMDestination(handler);
43         Identifier sid = d.generateSequenceIdentifier();
44         DestinationSequence seq = new DestinationSequence(sid, address, d);
45         d.addSequence(seq);
46         assertSame(seq, d.getSequence(sid));
47         assertEquals(1, d.getAllSequences().size());
48         d.removeSequence(seq);
49         assertNull(d.getSequence(sid));
50         assertEquals(0, d.getAllSequences().size());
51         control.verify();
52     }
53     
54     public void testGetDestinationPolicies() {
55         Configuration c = control.createMock(Configuration.class);
56         DestinationPolicyType dp = null;
57         EasyMock.expect(handler.getConfiguration()).andReturn(c);
58         EasyMock.expect(c.getObject(DestinationPolicyType.class, "destinationPolicies")).andReturn(dp);
59         control.replay();
60         RMDestination d = new RMDestination(handler);
61         assertNotNull(d.getDestinationPolicies());
62         control.verify();
63         
64         control.reset();
65         dp = control.createMock(DestinationPolicyType.class);
66         EasyMock.expect(handler.getConfiguration()).andReturn(c);
67         EasyMock.expect(c.getObject(DestinationPolicyType.class, "destinationPolicies")).andReturn(dp);
68         control.replay();
69         assertNotNull(d.getDestinationPolicies());
70         control.verify();
71     }
72
73     public void testAcknowledge() throws SequenceFault {
74         RMStore store = control.createMock(RMStore.class);
75         EasyMock.expect(handler.getStore()).andReturn(store);
76         store.createDestinationSequence(EasyMock.isA(RMDestinationSequence.class));
77         EasyMock.expectLastCall();
78         Configuration c = control.createMock(Configuration.class);
79         EasyMock.expect(handler.getConfiguration()).andReturn(c);
80         EasyMock.expect(c.getObject(RMAssertionType.class, "rmAssertion")).andReturn(null);
81         EasyMock.expect(handler.getConfiguration()).andReturn(c);
82         EasyMock.expect(c.getObject(DestinationPolicyType.class, "destinationPolicies")).andReturn(null);
83         
84         control.replay();
85         RMDestination d = new RMDestination(handler);
86         Identifier sid = d.generateSequenceIdentifier();
87         DestinationSequence seq = new DestinationSequence(sid, address, d);
88         d.addSequence(seq);
89         SequenceType st = RMUtils.getWSRMFactory().createSequenceType();
90         st.setIdentifier(sid);
91         BigInteger JavaDoc m = new BigInteger JavaDoc("3");
92         st.setMessageNumber(m);
93         d.acknowledge(st, RMUtils.getAddressingConstants().getNoneURI());
94         
95         Identifier unknown = d.generateSequenceIdentifier();
96         st.setIdentifier(unknown);
97         try {
98             d.acknowledge(st, RMUtils.getAddressingConstants().getNoneURI());
99             fail("Expected sequenceFault not thrown.");
100         } catch (SequenceFault sf) {
101             assertEquals("UnknownSequence", sf.getFaultInfo().getFaultCode().getLocalPart());
102         }
103         control.verify();
104     }
105     
106     public void testRestore() {
107         RMStore store = control.createMock(RMStore.class);
108         EasyMock.expect(handler.getStore()).andReturn(store);
109         Configuration c = control.createMock(Configuration.class);
110         EasyMock.expect(handler.getConfiguration()).andReturn(c);
111         Configuration pc = control.createMock(Configuration.class);
112         EasyMock.expect(c.getParent()).andReturn(pc);
113         EasyMock.expect(pc.getId()).andReturn("endpoint");
114         Collection JavaDoc<RMDestinationSequence> dss = new ArrayList JavaDoc<RMDestinationSequence>();
115         EasyMock.expect(store.getDestinationSequences("endpoint")).andReturn(dss);
116         
117         control.replay();
118         RMDestination d = new RMDestination(handler);
119         d.restore();
120         assertEquals(0, d.getAllSequences().size());
121         control.verify();
122     }
123
124 }
125
Popular Tags