KickJava   Java API By Example, From Geeks To Geeks.

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


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.ObjectName JavaDoc;
27
28 import org.jboss.mx.util.ObjectNameFactory;
29 import org.jboss.test.AbstractTestDelegate;
30 import org.jboss.test.system.controller.AbstractControllerTest;
31 import org.jboss.test.system.controller.support.Simple;
32
33 /**
34  * NewOnDemandDependencyTest.
35  *
36  * @author <a HREF="adrian@jboss.com">Adrian Brock</a>
37  * @version $Revision: 1.1 $
38  */

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