KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > system > controller > lifecycle > seperated > test > SeperatedDependencyTest


1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2006, JBoss Inc., and individual contributors as indicated
4 * by the @authors tag. See the copyright.txt in the distribution for a
5 * full listing of individual contributors.
6 *
7 * This is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation; either version 2.1 of
10 * the License, or (at your option) any later version.
11 *
12 * This software is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this software; if not, write to the Free
19 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21 */

22 package org.jboss.test.system.controller.lifecycle.seperated.test;
23
24 import java.util.List JavaDoc;
25
26 import javax.management.MBeanServer JavaDoc;
27 import javax.management.ObjectName JavaDoc;
28
29 import org.jboss.mx.util.ObjectNameFactory;
30 import org.jboss.test.system.controller.AbstractControllerTest;
31 import org.jboss.test.system.controller.support.Simple;
32
33 /**
34  * BasicLifecycleTest.
35  *
36  * @author <a HREF="adrian@jboss.com">Adrian Brock</a>
37  * @version $Revision: 1.1 $
38  */

39 public abstract class SeperatedDependencyTest extends AbstractControllerTest
40 {
41    private static ObjectName JavaDoc NAME_ONE = ObjectNameFactory.create("test:name=1");
42    private static ObjectName JavaDoc NAME_TWO = ObjectNameFactory.create("test:name=2");
43    
44    private String JavaDoc resourceName1;
45    private String JavaDoc resourceName2;
46    
47    public SeperatedDependencyTest(String JavaDoc name)
48    {
49       super(name);
50
51       String JavaDoc resourceName = getClass().getName();
52       int index= resourceName.lastIndexOf('.');
53       if (index != -1)
54          resourceName= resourceName.substring(index + 1, resourceName.length());
55       index = resourceName.indexOf("NewUnitTestCase");
56       if (index != -1)
57          resourceName = resourceName.substring(0, index);
58       index = resourceName.indexOf("OldUnitTestCase");
59       if (index != -1)
60          resourceName = resourceName.substring(0, index);
61       
62       resourceName1 = resourceName + "_1.xml";
63       resourceName2 = resourceName + "_2.xml";
64    }
65    
66    public void testDeployCorrectOrder() throws Exception JavaDoc
67    {
68       Simple test1 = null;
69       Simple test2 = null;
70       
71       boolean error = false;
72       
73       List JavaDoc<ObjectName JavaDoc> mbeans1 = deploy(resourceName1);
74       try
75       {
76          assertServiceRunning(NAME_ONE);
77          assertNoService(NAME_TWO);
78          
79          MBeanServer JavaDoc server = getServer();
80          test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
81          assertEquals("()", test1.constructorUsed);
82          assertEquals(1, test1.createOrder);
83          assertEquals(2, test1.startOrder);
84          assertEquals(0, test1.stopOrder);
85          assertEquals(0, test1.destroyOrder);
86
87          List JavaDoc<ObjectName JavaDoc> mbeans2 = deploy(resourceName2);
88          try
89          {
90             assertServiceRunning(NAME_ONE);
91             assertServiceRunning(NAME_TWO);
92             
93             assertEquals(1, test1.createOrder);
94             assertEquals(2, test1.startOrder);
95             assertEquals(0, test1.stopOrder);
96             assertEquals(0, test1.destroyOrder);
97             test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
98             assertEquals("()", test2.constructorUsed);
99             assertEquals(3, test2.createOrder);
100             assertEquals(4, test2.startOrder);
101             assertEquals(0, test2.stopOrder);
102             assertEquals(0, test2.destroyOrder);
103          }
104          catch (Exception JavaDoc e)
105          {
106             error = true;
107             throw e;
108          }
109          catch (Error JavaDoc e)
110          {
111             error = true;
112             throw e;
113          }
114          finally
115          {
116             undeploy(mbeans2);
117
118             if (error == false)
119             {
120                assertServiceRunning(NAME_ONE);
121                assertEquals(1, test1.createOrder);
122                assertEquals(2, test1.startOrder);
123                assertEquals(0, test1.stopOrder);
124                assertEquals(0, test1.destroyOrder);
125                assertNoService(NAME_TWO);
126                assertNotRegistered(NAME_TWO);
127                assertEquals(3, test2.createOrder);
128                assertEquals(4, test2.startOrder);
129                assertEquals(5, test2.stopOrder);
130                assertEquals(6, test2.destroyOrder);
131             }
132          }
133       }
134       catch (Exception JavaDoc e)
135       {
136          error = true;
137          throw e;
138       }
139       catch (Error JavaDoc e)
140       {
141          error = true;
142          throw e;
143       }
144       finally
145       {
146          undeploy(mbeans1);
147
148          if (error == false)
149          {
150             assertNoService(NAME_ONE);
151             assertNotRegistered(NAME_ONE);
152             assertEquals(1, test1.createOrder);
153             assertEquals(2, test1.startOrder);
154             assertEquals(7, test1.stopOrder);
155             assertEquals(8, test1.destroyOrder);
156             assertNoService(NAME_TWO);
157             assertNotRegistered(NAME_TWO);
158             if (test2 != null)
159             {
160                assertEquals(3, test2.createOrder);
161                assertEquals(4, test2.startOrder);
162                assertEquals(5, test2.stopOrder);
163                assertEquals(6, test2.destroyOrder);
164             }
165          }
166       }
167    }
168    
169    public void testDeployWrongOrder() throws Exception JavaDoc
170    {
171       Simple test1 = null;
172       Simple test2 = null;
173       
174       boolean error = false;
175       
176       List JavaDoc<ObjectName JavaDoc> mbeans2 = deploy(resourceName2);
177       try
178       {
179          assertServiceConfigured(NAME_TWO);
180          
181          MBeanServer JavaDoc server = getServer();
182          test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
183          assertEquals("()", test2.constructorUsed);
184          assertEquals(0, test2.createOrder);
185          assertEquals(0, test2.startOrder);
186          assertEquals(0, test2.stopOrder);
187          assertEquals(0, test2.destroyOrder);
188
189          List JavaDoc<ObjectName JavaDoc> mbeans1 = deploy(resourceName1);
190          try
191          {
192             assertServiceRunning(NAME_TWO);
193             assertServiceRunning(NAME_ONE);
194             
195             assertEquals(2, test2.createOrder);
196             assertEquals(4, test2.startOrder);
197             assertEquals(0, test2.stopOrder);
198             assertEquals(0, test2.destroyOrder);
199             test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
200             assertEquals("()", test1.constructorUsed);
201             assertEquals(1, test1.createOrder);
202             assertEquals(3, test1.startOrder);
203             assertEquals(0, test1.stopOrder);
204             assertEquals(0, test1.destroyOrder);
205          }
206          catch (Exception JavaDoc e)
207          {
208             error = true;
209             throw e;
210          }
211          catch (Error JavaDoc e)
212          {
213             error = true;
214             throw e;
215          }
216          finally
217          {
218             undeploy(mbeans1);
219
220             if (error == false)
221             {
222                assertServiceDestroyed(NAME_TWO);
223                assertEquals(2, test2.createOrder);
224                assertEquals(4, test2.startOrder);
225                assertEquals(5, test2.stopOrder);
226                assertEquals(7, test2.destroyOrder);
227                assertNotRegistered(NAME_ONE);
228                assertEquals(1, test1.createOrder);
229                assertEquals(3, test1.startOrder);
230                assertEquals(6, test1.stopOrder);
231                assertEquals(8, test1.destroyOrder);
232             }
233          }
234       }
235       catch (Exception JavaDoc e)
236       {
237          error = true;
238          throw e;
239       }
240       catch (Error JavaDoc e)
241       {
242          error = true;
243          throw e;
244       }
245       finally
246       {
247          undeploy(mbeans2);
248
249          if (error == false)
250          {
251             assertNoService(NAME_TWO);
252             assertNotRegistered(NAME_TWO);
253             assertEquals(2, test2.createOrder);
254             assertEquals(4, test2.startOrder);
255             assertEquals(5, test2.stopOrder);
256             assertEquals(7, test2.destroyOrder);
257             assertNoService(NAME_ONE);
258             assertNotRegistered(NAME_ONE);
259             if (test1 != null)
260             {
261                assertEquals(1, test1.createOrder);
262                assertEquals(3, test1.startOrder);
263                assertEquals(6, test1.stopOrder);
264                assertEquals(8, test1.destroyOrder);
265             }
266          }
267       }
268    }
269    
270    public void testRedeployOne() throws Exception JavaDoc
271    {
272       Simple test1 = null;
273       Simple test2 = null;
274       
275       boolean error = false;
276       
277       List JavaDoc<ObjectName JavaDoc> mbeans1 = deploy(resourceName1);
278       try
279       {
280          List JavaDoc<ObjectName JavaDoc> mbeans2 = deploy(resourceName2);
281          try
282          {
283             assertServiceRunning(NAME_ONE);
284             assertServiceRunning(NAME_TWO);
285             
286             MBeanServer JavaDoc server = getServer();
287             test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
288             assertEquals("()", test1.constructorUsed);
289             assertEquals(1, test1.createOrder);
290             assertEquals(2, test1.startOrder);
291             assertEquals(0, test1.stopOrder);
292             assertEquals(0, test1.destroyOrder);
293             test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
294             assertEquals("()", test2.constructorUsed);
295             assertEquals(3, test2.createOrder);
296             assertEquals(4, test2.startOrder);
297             assertEquals(0, test2.stopOrder);
298             assertEquals(0, test2.destroyOrder);
299             
300             undeploy(mbeans1);
301
302             assertNotRegistered(NAME_ONE);
303             assertServiceDestroyed(NAME_TWO);
304             
305             assertEquals(1, test1.createOrder);
306             assertEquals(2, test1.startOrder);
307             assertEquals(6, test1.stopOrder);
308             assertEquals(8, test1.destroyOrder);
309             assertEquals(3, test2.createOrder);
310             assertEquals(4, test2.startOrder);
311             assertEquals(5, test2.stopOrder);
312             assertEquals(7, test2.destroyOrder);
313             
314             mbeans1 = deploy(resourceName1);
315
316             assertServiceRunning(NAME_ONE);
317             assertServiceRunning(NAME_TWO);
318             
319             test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
320             assertEquals("()", test1.constructorUsed);
321             assertEquals(9, test1.createOrder);
322             assertEquals(11, test1.startOrder);
323             assertEquals(0, test1.stopOrder);
324             assertEquals(0, test1.destroyOrder);
325             assertEquals(10, test2.createOrder);
326             assertEquals(12, test2.startOrder);
327             assertEquals(5, test2.stopOrder);
328             assertEquals(7, test2.destroyOrder);
329          }
330          catch (Exception JavaDoc e)
331          {
332             error = true;
333             throw e;
334          }
335          catch (Error JavaDoc e)
336          {
337             error = true;
338             throw e;
339          }
340          finally
341          {
342             undeploy(mbeans2);
343
344             if (error == false)
345             {
346                assertServiceRunning(NAME_ONE);
347                assertEquals(9, test1.createOrder);
348                assertEquals(11, test1.startOrder);
349                assertEquals(0, test1.stopOrder);
350                assertEquals(0, test1.destroyOrder);
351                assertNoService(NAME_TWO);
352                assertNotRegistered(NAME_TWO);
353                assertEquals(10, test2.createOrder);
354                assertEquals(12, test2.startOrder);
355                assertEquals(13, test2.stopOrder);
356                assertEquals(14, test2.destroyOrder);
357             }
358          }
359       }
360       catch (Exception JavaDoc e)
361       {
362          error = true;
363          throw e;
364       }
365       catch (Error JavaDoc e)
366       {
367          error = true;
368          throw e;
369       }
370       finally
371       {
372          undeploy(mbeans1);
373
374          if (error == false)
375          {
376             assertNoService(NAME_ONE);
377             assertNotRegistered(NAME_ONE);
378             assertEquals(9, test1.createOrder);
379             assertEquals(11, test1.startOrder);
380             assertEquals(15, test1.stopOrder);
381             assertEquals(16, test1.destroyOrder);
382             assertNoService(NAME_TWO);
383             assertNotRegistered(NAME_TWO);
384             if (test2 != null)
385             {
386                assertEquals(10, test2.createOrder);
387                assertEquals(12, test2.startOrder);
388                assertEquals(13, test2.stopOrder);
389                assertEquals(14, test2.destroyOrder);
390             }
391          }
392       }
393    }
394    
395    public void testRedeployTwo() throws Exception JavaDoc
396    {
397       Simple test1 = null;
398       Simple test2 = null;
399       
400       boolean error = false;
401       
402       List JavaDoc<ObjectName JavaDoc> mbeans1 = deploy(resourceName1);
403       try
404       {
405          List JavaDoc<ObjectName JavaDoc> mbeans2 = deploy(resourceName2);
406          try
407          {
408             assertServiceRunning(NAME_ONE);
409             assertServiceRunning(NAME_TWO);
410             
411             MBeanServer JavaDoc server = getServer();
412             test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
413             assertEquals("()", test1.constructorUsed);
414             assertEquals(1, test1.createOrder);
415             assertEquals(2, test1.startOrder);
416             assertEquals(0, test1.stopOrder);
417             assertEquals(0, test1.destroyOrder);
418             test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
419             assertEquals("()", test2.constructorUsed);
420             assertEquals(3, test2.createOrder);
421             assertEquals(4, test2.startOrder);
422             assertEquals(0, test2.stopOrder);
423             assertEquals(0, test2.destroyOrder);
424             
425             undeploy(mbeans2);
426
427             assertServiceRunning(NAME_ONE);
428             assertNoService(NAME_TWO);
429             
430             assertEquals(1, test1.createOrder);
431             assertEquals(2, test1.startOrder);
432             assertEquals(0, test1.stopOrder);
433             assertEquals(0, test1.destroyOrder);
434             assertEquals(3, test2.createOrder);
435             assertEquals(4, test2.startOrder);
436             assertEquals(5, test2.stopOrder);
437             assertEquals(6, test2.destroyOrder);
438             
439             mbeans2 = deploy(resourceName2);
440
441             assertServiceRunning(NAME_ONE);
442             assertServiceRunning(NAME_TWO);
443             
444             assertEquals(1, test1.createOrder);
445             assertEquals(2, test1.startOrder);
446             assertEquals(0, test1.stopOrder);
447             assertEquals(0, test1.destroyOrder);
448             test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
449             assertEquals("()", test1.constructorUsed);
450             assertEquals(7, test2.createOrder);
451             assertEquals(8, test2.startOrder);
452             assertEquals(0, test2.stopOrder);
453             assertEquals(0, test2.destroyOrder);
454          }
455          catch (Exception JavaDoc e)
456          {
457             error = true;
458             throw e;
459          }
460          catch (Error JavaDoc e)
461          {
462             error = true;
463             throw e;
464          }
465          finally
466          {
467             undeploy(mbeans2);
468
469             if (error == false)
470             {
471                assertServiceRunning(NAME_ONE);
472                assertEquals(1, test1.createOrder);
473                assertEquals(2, test1.startOrder);
474                assertEquals(0, test1.stopOrder);
475                assertEquals(0, test1.destroyOrder);
476                assertNoService(NAME_TWO);
477                assertNotRegistered(NAME_TWO);
478                assertEquals(7, test2.createOrder);
479                assertEquals(8, test2.startOrder);
480                assertEquals(9, test2.stopOrder);
481                assertEquals(10, test2.destroyOrder);
482             }
483          }
484       }
485       catch (Exception JavaDoc e)
486       {
487          error = true;
488          throw e;
489       }
490       catch (Error JavaDoc e)
491       {
492          error = true;
493          throw e;
494       }
495       finally
496       {
497          undeploy(mbeans1);
498
499          if (error == false)
500          {
501             assertNoService(NAME_ONE);
502             assertNotRegistered(NAME_ONE);
503             assertEquals(1, test1.createOrder);
504             assertEquals(2, test1.startOrder);
505             assertEquals(11, test1.stopOrder);
506             assertEquals(12, test1.destroyOrder);
507             assertNoService(NAME_TWO);
508             assertNotRegistered(NAME_TWO);
509             if (test2 != null)
510             {
511                assertEquals(7, test2.createOrder);
512                assertEquals(8, test2.startOrder);
513                assertEquals(9, test2.stopOrder);
514                assertEquals(10, test2.destroyOrder);
515             }
516          }
517       }
518    }
519 }
520
Popular Tags