This project has retired. For details please refer to its
Attic page.
SubscriptionCallbackTest xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.juddi.v3.client.subscription;
17
18 import java.util.logging.Level;
19 import java.util.logging.Logger;
20 import org.apache.commons.configuration.ConfigurationException;
21 import org.apache.juddi.v3.client.config.UDDIClerk;
22 import org.apache.juddi.v3.client.config.UDDIClient;
23 import org.junit.Assert;
24 import org.junit.Test;
25 import org.uddi.api_v3.BindingTemplate;
26 import org.uddi.sub_v3.SubscriptionResultsList;
27 import org.uddi.subr_v3.NotifySubscriptionListener;
28
29
30
31
32
33
34 public class SubscriptionCallbackTest implements ISubscriptionCallback {
35
36 static final Logger log = Logger.getLogger(SubscriptionCallbackTest.class.getCanonicalName());
37
38 @Test
39 public void Test1_NoAutoRegister() throws Exception {
40 log.info("Test1_NoAutoRegister");
41
42 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
43 c.start();
44 UDDIClerk clerk = c.getClerk("default");
45
46
47 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
48 Assert.assertNotNull(start);
49 Assert.assertNotNull(start);
50
51 SubscriptionCallbackListener.stop(c, "default", start.getBindingKey());
52 c.stop();
53
54 }
55 boolean Test2_NoAutoRegisterAndShortCircuitReceive_ = false;
56
57 @Test
58 public void Test2_NoAutoRegisterAndShortCircuitReceive() throws Exception {
59 log.info("Test2_NoAutoRegisterAndShortCircuitReceive");
60 Test2_NoAutoRegisterAndShortCircuitReceive_ = false;
61 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
62 c.start();
63 UDDIClerk clerk = c.getClerk("default");
64
65
66 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
67 Assert.assertNotNull(start);
68
69 SubscriptionCallbackListener.registerCallback(this);
70 Assert.assertNotNull(SubscriptionCallbackListener.getInstance());
71 SubscriptionCallbackListener.getInstance().notifySubscriptionListener(new NotifySubscriptionListener());
72
73 SubscriptionCallbackListener.stop(c, "default", start.getBindingKey());
74 c.stop();
75 Assert.assertTrue(Test2_NoAutoRegisterAndShortCircuitReceive_);
76 }
77
78 @Test(expected = ServiceAlreadyStartedException.class)
79 public void Test3_StartWhenAlreadyStarted() throws Exception {
80 log.info("Test3_StartWhenAlreadyStarted");
81 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
82 c.start();
83 UDDIClerk clerk = c.getClerk("default");
84
85
86 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
87 try {
88 BindingTemplate start1 = SubscriptionCallbackListener.start(c, "default");
89 } catch (ServiceAlreadyStartedException x) {
90 SubscriptionCallbackListener.stop(c, "default", null);
91 c.stop();
92 throw x;
93 }
94
95
96 }
97 private boolean Test4_NotifyEndpointStopped_ = false;
98
99 @Test
100 public void Test4_NotifyEndpointStopped() throws Exception {
101 log.info("Test4_NotifyEndpointStopped");
102
103 Test4_NotifyEndpointStopped_ = false;
104 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
105 c.start();
106 UDDIClerk clerk = c.getClerk("default");
107
108 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
109 SubscriptionCallbackListener.registerCallback(this);
110
111 SubscriptionCallbackListener.stop(c, "default", null);
112 c.stop();
113 Assert.assertTrue(Test4_NotifyEndpointStopped_);
114
115
116 }
117
118 @Test
119 public void Test5_RegisterNullCallback() throws ConfigurationException {
120 log.info("Test5_RegisterNullCallback");
121
122 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
123 SubscriptionCallbackListener.registerCallback(null);
124
125 SubscriptionCallbackListener.unRegisterCallback(null);
126
127 SubscriptionCallbackListener.stop(c, "default", null);
128 c.stop();
129 }
130
131 @Test
132 public void Test6_UnRegisterUnRegisteredCallback() throws ConfigurationException, ServiceAlreadyStartedException {
133 log.info("Test6_UnRegisterUnRegisteredCallback");
134
135 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
136
137 SubscriptionCallbackListener.unregisterAllCallbacks();
138
139 SubscriptionCallbackListener.unRegisterCallback(new ISubscriptionCallback() {
140 @Override
141 public void handleCallback(SubscriptionResultsList body) {
142 }
143
144 @Override
145 public void notifyEndpointStopped() {
146 }
147 });
148
149 SubscriptionCallbackListener.stop(c, "default", null);
150 c.stop();
151 }
152
153 @Test
154 public void Test7_NullCallbackAddress() throws Exception {
155 log.info("Test7_NullCallbackAddress");
156
157 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback2.xml");
158 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
159 Assert.assertNotNull(start);
160 Assert.assertNotNull(SubscriptionCallbackListener.getCallbackURL());
161 Assert.assertNotNull(start.getAccessPoint());
162 Assert.assertNotNull(start.getAccessPoint().getValue());
163 log.log(Level.INFO, "AP url: {0} EP url: {1}", new Object[]{start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL()});
164 Assert.assertEquals(start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL());
165 SubscriptionCallbackListener.stop(c, "default", null);
166 c.stop();
167 }
168
169 @Test
170 public void Test8_InvalidCallbackAddress() throws Exception {
171 log.info("Test8_InvalidCallbackAddress");
172
173 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback3.xml");
174 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
175 Assert.assertNotNull(start);
176 Assert.assertNotNull(SubscriptionCallbackListener.getCallbackURL());
177 Assert.assertNotNull(start.getAccessPoint());
178 Assert.assertNotNull(start.getAccessPoint().getValue());
179 log.log(Level.INFO, "AP url: {0} EP url: {1}", new Object[]{start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL()});
180 Assert.assertEquals(start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL());
181 SubscriptionCallbackListener.stop(c, "default", null);
182 c.stop();
183 }
184
185 @Test
186 public void Test9_FaultyImplementator1() throws Exception {
187 log.info("Test9_FaultyImplementator1");
188
189 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
190 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
191 Assert.assertNotNull(start);
192 Assert.assertNotNull(SubscriptionCallbackListener.getCallbackURL());
193 Assert.assertNotNull(start.getAccessPoint());
194 Assert.assertNotNull(start.getAccessPoint().getValue());
195 log.log(Level.INFO, "AP url: {0} EP url: {1}", new Object[]{start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL()});
196 Assert.assertEquals(start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL());
197
198 SubscriptionCallbackListener.registerCallback(new ISubscriptionCallback() {
199 @Override
200 public void handleCallback(SubscriptionResultsList body) {
201 log.info("bogus callback received");
202 }
203
204 @Override
205 public void notifyEndpointStopped() {
206 throw new UnsupportedOperationException("Not supported yet.");
207 }
208 });
209 SubscriptionCallbackListener.getInstance().notifySubscriptionListener(new NotifySubscriptionListener());
210 SubscriptionCallbackListener.stop(c, "default", null);
211 c.stop();
212 }
213
214 @Test
215 public void Test10_FaultyImplementator1() throws Exception {
216 log.info("Test10_FaultyImplementator1");
217
218 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
219 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
220 Assert.assertNotNull(start);
221 Assert.assertNotNull(SubscriptionCallbackListener.getCallbackURL());
222 Assert.assertNotNull(start.getAccessPoint());
223 Assert.assertNotNull(start.getAccessPoint().getValue());
224 log.log(Level.INFO, "AP url: {0} EP url: {1}", new Object[]{start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL()});
225 Assert.assertEquals(start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL());
226
227 SubscriptionCallbackListener.registerCallback(new ISubscriptionCallback() {
228 @Override
229 public void handleCallback(SubscriptionResultsList body) {
230 throw new UnsupportedOperationException("Not supported yet.");
231 }
232
233 @Override
234 public void notifyEndpointStopped() {
235 log.info("bogus callback received");
236
237 }
238 });
239 SubscriptionCallbackListener.getInstance().notifySubscriptionListener(new NotifySubscriptionListener());
240 SubscriptionCallbackListener.stop(c, "default", null);
241 c.stop();
242 }
243
244 @Test
245 public void Test11_DoubleStop() throws Exception {
246 log.info("Test11_DoubleStop");
247
248 UDDIClient c = new UDDIClient("META-INF/uddi-subcallback1.xml");
249 BindingTemplate start = SubscriptionCallbackListener.start(c, "default");
250 Assert.assertNotNull(start);
251 Assert.assertNotNull(SubscriptionCallbackListener.getCallbackURL());
252 Assert.assertNotNull(start.getAccessPoint());
253 Assert.assertNotNull(start.getAccessPoint().getValue());
254 log.log(Level.INFO, "AP url: {0} EP url: {1}", new Object[]{start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL()});
255 Assert.assertEquals(start.getAccessPoint().getValue(), SubscriptionCallbackListener.getCallbackURL());
256
257
258 SubscriptionCallbackListener.stop(c, "default", null);
259 SubscriptionCallbackListener.stop(c, "default", null);
260 c.stop();
261 c.stop();
262 }
263
264 @Override
265 public void handleCallback(SubscriptionResultsList body) {
266 log.info("HandleCallback received");
267 Test2_NoAutoRegisterAndShortCircuitReceive_ = true;
268 }
269
270 @Override
271 public void notifyEndpointStopped() {
272 log.info("NotifyEndpointStopped received");
273 Test4_NotifyEndpointStopped_ = true;
274 }
275 }