KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.objectweb.celtix.bus.ws.rm;
2
3 import java.io.IOException 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.SequenceTerminationPolicyType;
12
13 import static org.easymock.EasyMock.expectLastCall;
14
15 public class RMBusLifeCycleListenerTest extends TestCase {
16
17     private IMocksControl control;
18     private RMSource source;
19     private SequenceTerminationPolicyType stp;
20     
21     public void setUp() {
22         control = EasyMock.createNiceControl();
23         source = control.createMock(RMSource.class);
24         stp = control.createMock(SequenceTerminationPolicyType.class);
25     }
26     
27     public void testNoAction() {
28         source.getSequenceTerminationPolicy();
29         expectLastCall().andReturn(stp);
30         stp.isTerminateOnShutdown();
31         expectLastCall().andReturn(false);
32         control.replay();
33
34         RMBusLifeCycleListener listener = new RMBusLifeCycleListener(source);
35         listener.initComplete();
36         listener.preShutdown();
37         listener.postShutdown();
38
39         control.verify();
40     }
41     
42     public void testTerminateClosedSequenceFailRequestAcknowledgement() throws IOException JavaDoc {
43
44         Collection JavaDoc<SourceSequence> seqs = new ArrayList JavaDoc<SourceSequence>();
45         SourceSequence seq = control.createMock(SourceSequence.class);
46         seqs.add(seq);
47         RMHandler handler = control.createMock(RMHandler.class);
48         RMProxy proxy = control.createMock(RMProxy.class);
49         
50         source.getSequenceTerminationPolicy();
51         expectLastCall().andReturn(stp);
52         stp.isTerminateOnShutdown();
53         expectLastCall().andReturn(true);
54         source.getAllUnacknowledgedSequences();
55         expectLastCall().andReturn(seqs);
56         seq.isLastMessage();
57         expectLastCall().andReturn(true);
58         source.getHandler();
59         expectLastCall().andReturn(handler);
60         handler.getProxy();
61         expectLastCall().andReturn(proxy);
62         proxy.requestAcknowledgment(seqs);
63         expectLastCall().andThrow(new IOException JavaDoc());
64         
65         control.replay();
66
67         RMBusLifeCycleListener listener = new RMBusLifeCycleListener(source);
68         listener.initComplete();
69         listener.preShutdown();
70         listener.postShutdown();
71
72         control.verify();
73     }
74     
75     
76     public void testTerminateOpenSequenceFailLastMessage() throws IOException JavaDoc {
77
78         Collection JavaDoc<SourceSequence> seqs = new ArrayList JavaDoc<SourceSequence>();
79         SourceSequence seq = control.createMock(SourceSequence.class);
80         seqs.add(seq);
81         RMHandler handler = control.createMock(RMHandler.class);
82         RMProxy proxy = control.createMock(RMProxy.class);
83         
84         source.getSequenceTerminationPolicy();
85         expectLastCall().andReturn(stp);
86         stp.isTerminateOnShutdown();
87         expectLastCall().andReturn(true);
88         source.getAllUnacknowledgedSequences();
89         expectLastCall().andReturn(seqs);
90         seq.isLastMessage();
91         expectLastCall().andReturn(false);
92         source.getHandler();
93         expectLastCall().andReturn(handler);
94         handler.getProxy();
95         expectLastCall().andReturn(proxy);
96         proxy.lastMessage(seq);
97         expectLastCall().andThrow(new IOException JavaDoc());
98         
99         control.replay();
100
101         RMBusLifeCycleListener listener = new RMBusLifeCycleListener(source);
102         listener.initComplete();
103         listener.preShutdown();
104         listener.postShutdown();
105
106         control.verify();
107     }
108     
109     public void testTerminateClosedSequence() throws IOException JavaDoc {
110
111         Collection JavaDoc<SourceSequence> seqs = new ArrayList JavaDoc<SourceSequence>();
112         SourceSequence seq = control.createMock(SourceSequence.class);
113         seqs.add(seq);
114         RMHandler handler = control.createMock(RMHandler.class);
115         RMProxy proxy = control.createMock(RMProxy.class);
116         
117         source.getSequenceTerminationPolicy();
118         expectLastCall().andReturn(stp);
119         stp.isTerminateOnShutdown();
120         expectLastCall().andReturn(true);
121         source.getAllUnacknowledgedSequences();
122         expectLastCall().andReturn(seqs);
123         seq.isLastMessage();
124         expectLastCall().andReturn(true);
125         source.getHandler();
126         expectLastCall().andReturn(handler);
127         handler.getProxy();
128         expectLastCall().andReturn(proxy);
129         proxy.requestAcknowledgment(seqs);
130         expectLastCall();
131         
132         control.replay();
133
134         RMBusLifeCycleListener listener = new RMBusLifeCycleListener(source);
135         listener.initComplete();
136         listener.preShutdown();
137         listener.postShutdown();
138
139         control.verify();
140     }
141     
142     public void testTerminateOpenSequence() throws IOException JavaDoc {
143
144         Collection JavaDoc<SourceSequence> seqs = new ArrayList JavaDoc<SourceSequence>();
145         SourceSequence seq = control.createMock(SourceSequence.class);
146         seqs.add(seq);
147         RMHandler handler = control.createMock(RMHandler.class);
148         RMProxy proxy = control.createMock(RMProxy.class);
149         
150         source.getSequenceTerminationPolicy();
151         expectLastCall().andReturn(stp);
152         stp.isTerminateOnShutdown();
153         expectLastCall().andReturn(true);
154         source.getAllUnacknowledgedSequences();
155         expectLastCall().andReturn(seqs);
156         seq.isLastMessage();
157         expectLastCall().andReturn(false);
158         source.getHandler();
159         expectLastCall().andReturn(handler);
160         handler.getProxy();
161         expectLastCall().andReturn(proxy);
162         proxy.lastMessage(seq);
163         expectLastCall();
164         
165         control.replay();
166
167         RMBusLifeCycleListener listener = new RMBusLifeCycleListener(source);
168         listener.initComplete();
169         listener.preShutdown();
170         listener.postShutdown();
171
172         control.verify();
173     }
174 }
175
Popular Tags