KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > system > controller > lifecycle > basic > test > BasicDependencyTest


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.basic.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.system.ServiceControllerMBean;
31 import org.jboss.test.system.controller.AbstractControllerTest;
32 import org.jboss.test.system.controller.support.Simple;
33
34 /**
35  * BasicLifecycleTest.
36  *
37  * @author <a HREF="adrian@jboss.com">Adrian Brock</a>
38  * @version $Revision: 1.1 $
39  */

40 public abstract class BasicDependencyTest extends AbstractControllerTest
41 {
42    private static ObjectName JavaDoc NAME_ONE = ObjectNameFactory.create("test:name=1");
43    private static ObjectName JavaDoc NAME_TWO = ObjectNameFactory.create("test:name=2");
44    
45    private String JavaDoc resourceName;
46    
47    public BasicDependencyTest(String JavaDoc name)
48    {
49       super(name);
50
51       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       resourceName = resourceName + "_NotAutomatic.xml";
63    }
64    
65    public void testBasicDependency() throws Exception JavaDoc
66    {
67       Simple test1 = null;
68       Simple test2 = null;
69       
70       boolean error = false;
71       
72       List JavaDoc<ObjectName JavaDoc> mbeans = deploy(resourceName);
73       try
74       {
75          assertServiceRunning(NAME_ONE);
76          assertServiceRunning(NAME_TWO);
77          
78          MBeanServer JavaDoc server = getServer();
79          test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
80          assertEquals("()", test1.constructorUsed);
81          assertEquals(2, test1.createOrder);
82          assertEquals(4, test1.startOrder);
83          assertEquals(0, test1.stopOrder);
84          assertEquals(0, test1.destroyOrder);
85          test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
86          assertEquals("()", test2.constructorUsed);
87          assertEquals(1, test2.createOrder);
88          assertEquals(3, test2.startOrder);
89          assertEquals(0, test2.stopOrder);
90          assertEquals(0, test2.destroyOrder);
91       }
92       catch (Exception JavaDoc e)
93       {
94          error = true;
95          throw e;
96       }
97       catch (Error JavaDoc e)
98       {
99          error = true;
100          throw e;
101       }
102       finally
103       {
104          undeploy(mbeans);
105
106          if (error == false)
107          {
108             assertNoService(NAME_ONE);
109             assertNotRegistered(NAME_ONE);
110             assertEquals(2, test1.createOrder);
111             assertEquals(4, test1.startOrder);
112             assertEquals(5, test1.stopOrder);
113             assertEquals(7, test1.destroyOrder);
114             assertNoService(NAME_TWO);
115             assertNotRegistered(NAME_TWO);
116             assertEquals(1, test2.createOrder);
117             assertEquals(3, test2.startOrder);
118             assertEquals(6, test2.stopOrder);
119             assertEquals(8, test2.destroyOrder);
120          }
121       }
122    }
123    
124    public void testBasicRedeploy() throws Exception JavaDoc
125    {
126       Simple test1 = null;
127       Simple test2 = null;
128       
129       boolean error = false;
130       
131       List JavaDoc<ObjectName JavaDoc> mbeans = deploy(resourceName);
132       try
133       {
134          assertServiceRunning(NAME_ONE);
135          assertServiceRunning(NAME_TWO);
136          
137          MBeanServer JavaDoc server = getServer();
138          test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
139          assertEquals("()", test1.constructorUsed);
140          assertEquals(2, test1.createOrder);
141          assertEquals(4, test1.startOrder);
142          assertEquals(0, test1.stopOrder);
143          assertEquals(0, test1.destroyOrder);
144          test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
145          assertEquals("()", test2.constructorUsed);
146          assertEquals(1, test2.createOrder);
147          assertEquals(3, test2.startOrder);
148          assertEquals(0, test2.stopOrder);
149          assertEquals(0, test2.destroyOrder);
150       }
151       catch (Exception JavaDoc e)
152       {
153          error = true;
154          throw e;
155       }
156       catch (Error JavaDoc e)
157       {
158          error = true;
159          throw e;
160       }
161       finally
162       {
163          undeploy(mbeans);
164
165          if (error == false)
166          {
167             assertNoService(NAME_ONE);
168             assertNotRegistered(NAME_ONE);
169             assertEquals(2, test1.createOrder);
170             assertEquals(4, test1.startOrder);
171             assertEquals(5, test1.stopOrder);
172             assertEquals(7, test1.destroyOrder);
173             assertNoService(NAME_TWO);
174             assertNotRegistered(NAME_TWO);
175             assertEquals(1, test2.createOrder);
176             assertEquals(3, test2.startOrder);
177             assertEquals(6, test2.stopOrder);
178             assertEquals(8, test2.destroyOrder);
179          }
180       }
181       
182       mbeans = deploy(resourceName);
183       try
184       {
185          assertServiceRunning(NAME_ONE);
186          assertServiceRunning(NAME_TWO);
187          
188          MBeanServer JavaDoc server = getServer();
189          test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
190          assertEquals("()", test1.constructorUsed);
191          assertEquals(10, test1.createOrder);
192          assertEquals(12, test1.startOrder);
193          assertEquals(0, test1.stopOrder);
194          assertEquals(0, test1.destroyOrder);
195          test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
196          assertEquals("()", test2.constructorUsed);
197          assertEquals(9, test2.createOrder);
198          assertEquals(11, test2.startOrder);
199          assertEquals(0, test2.stopOrder);
200          assertEquals(0, test2.destroyOrder);
201       }
202       catch (Exception JavaDoc e)
203       {
204          error = true;
205          throw e;
206       }
207       catch (Error JavaDoc e)
208       {
209          error = true;
210          throw e;
211       }
212       finally
213       {
214          undeploy(mbeans);
215
216          if (error == false)
217          {
218             assertNoService(NAME_ONE);
219             assertNotRegistered(NAME_ONE);
220             assertEquals(10, test1.createOrder);
221             assertEquals(12, test1.startOrder);
222             assertEquals(13, test1.stopOrder);
223             assertEquals(15, test1.destroyOrder);
224             assertNoService(NAME_TWO);
225             assertNotRegistered(NAME_TWO);
226             assertEquals(9, test2.createOrder);
227             assertEquals(11, test2.startOrder);
228             assertEquals(14, test2.stopOrder);
229             assertEquals(16, test2.destroyOrder);
230          }
231       }
232    }
233    
234    public void testBasicDependencyManualLifecycle() throws Exception JavaDoc
235    {
236       Simple test1 = null;
237       Simple test2 = null;
238       
239       boolean error = false;
240       
241       List JavaDoc<ObjectName JavaDoc> mbeans = deploy(resourceName);
242       try
243       {
244          assertServiceRunning(NAME_ONE);
245          assertServiceRunning(NAME_TWO);
246          
247          MBeanServer JavaDoc server = getServer();
248          test1 = (Simple) server.getAttribute(NAME_ONE, "Instance");
249          assertEquals("()", test1.constructorUsed);
250          assertEquals(2, test1.createOrder);
251          assertEquals(4, test1.startOrder);
252          assertEquals(0, test1.stopOrder);
253          assertEquals(0, test1.destroyOrder);
254          test2 = (Simple) server.getAttribute(NAME_TWO, "Instance");
255          assertEquals("()", test2.constructorUsed);
256          assertEquals(1, test2.createOrder);
257          assertEquals(3, test2.startOrder);
258          assertEquals(0, test2.stopOrder);
259          assertEquals(0, test2.destroyOrder);
260          
261          ServiceControllerMBean controller = getController();
262          
263          controller.stop(NAME_ONE);
264          assertServiceStopped(NAME_ONE);
265          assertServiceRunning(NAME_TWO);
266          assertEquals(2, test1.createOrder);
267          assertEquals(4, test1.startOrder);
268          assertEquals(5, test1.stopOrder);
269          assertEquals(0, test1.destroyOrder);
270          assertEquals(1, test2.createOrder);
271          assertEquals(3, test2.startOrder);
272          assertEquals(0, test2.stopOrder);
273          assertEquals(0, test2.destroyOrder);
274          
275          controller.destroy(NAME_ONE);
276          assertServiceDestroyed(NAME_ONE);
277          assertServiceRunning(NAME_TWO);
278          assertEquals(2, test1.createOrder);
279          assertEquals(4, test1.startOrder);
280          assertEquals(5, test1.stopOrder);
281          assertEquals(6, test1.destroyOrder);
282          assertEquals(1, test2.createOrder);
283          assertEquals(3, test2.startOrder);
284          assertEquals(0, test2.stopOrder);
285          assertEquals(0, test2.destroyOrder);
286          
287          controller.create(NAME_ONE);
288          assertServiceCreated(NAME_ONE);
289          assertServiceRunning(NAME_TWO);
290          assertEquals(7, test1.createOrder);
291          assertEquals(4, test1.startOrder);
292          assertEquals(5, test1.stopOrder);
293          assertEquals(6, test1.destroyOrder);
294          assertEquals(1, test2.createOrder);
295          assertEquals(3, test2.startOrder);
296          assertEquals(0, test2.stopOrder);
297          assertEquals(0, test2.destroyOrder);
298          
299          controller.start(NAME_ONE);
300          assertServiceRunning(NAME_ONE);
301          assertServiceRunning(NAME_TWO);
302          assertEquals(7, test1.createOrder);
303          assertEquals(8, test1.startOrder);
304          assertEquals(5, test1.stopOrder);
305          assertEquals(6, test1.destroyOrder);
306          assertEquals(1, test2.createOrder);
307          assertEquals(3, test2.startOrder);
308          assertEquals(0, test2.stopOrder);
309          assertEquals(0, test2.destroyOrder);
310          
311          controller.stop(NAME_TWO);
312          assertServiceStopped(NAME_ONE);
313          assertServiceStopped(NAME_TWO);
314          assertEquals(7, test1.createOrder);
315          assertEquals(8, test1.startOrder);
316          assertEquals(9, test1.stopOrder);
317          assertEquals(6, test1.destroyOrder);
318          assertEquals(1, test2.createOrder);
319          assertEquals(3, test2.startOrder);
320          assertEquals(10, test2.stopOrder);
321          assertEquals(0, test2.destroyOrder);
322          
323          controller.destroy(NAME_TWO);
324          assertServiceDestroyed(NAME_ONE);
325          assertServiceDestroyed(NAME_TWO);
326          assertEquals(7, test1.createOrder);
327          assertEquals(8, test1.startOrder);
328          assertEquals(9, test1.stopOrder);
329          assertEquals(11, test1.destroyOrder);
330          assertEquals(1, test2.createOrder);
331          assertEquals(3, test2.startOrder);
332          assertEquals(10, test2.stopOrder);
333          assertEquals(12, test2.destroyOrder);
334          
335          controller.create(NAME_TWO);
336          assertServiceCreated(NAME_ONE);
337          assertServiceCreated(NAME_TWO);
338          assertEquals(14, test1.createOrder);
339          assertEquals(8, test1.startOrder);
340          assertEquals(9, test1.stopOrder);
341          assertEquals(11, test1.destroyOrder);
342          assertEquals(13, test2.createOrder);
343          assertEquals(3, test2.startOrder);
344          assertEquals(10, test2.stopOrder);
345          assertEquals(12, test2.destroyOrder);
346          
347          controller.start(NAME_TWO);
348          assertServiceRunning(NAME_ONE);
349          assertServiceRunning(NAME_TWO);
350          assertEquals(14, test1.createOrder);
351          assertEquals(16, test1.startOrder);
352          assertEquals(9, test1.stopOrder);
353          assertEquals(11, test1.destroyOrder);
354          assertEquals(13, test2.createOrder);
355          assertEquals(15, test2.startOrder);
356          assertEquals(10, test2.stopOrder);
357          assertEquals(12, test2.destroyOrder);
358       }
359       catch (Exception JavaDoc e)
360       {
361          error = true;
362          throw e;
363       }
364       catch (Error JavaDoc e)
365       {
366          error = true;
367          throw e;
368       }
369       finally
370       {
371          undeploy(mbeans);
372
373          if (error == false)
374          {
375             assertNoService(NAME_ONE);
376             assertNotRegistered(NAME_ONE);
377             assertEquals(14, test1.createOrder);
378             assertEquals(16, test1.startOrder);
379             assertEquals(17, test1.stopOrder);
380             assertEquals(19, test1.destroyOrder);
381             assertNoService(NAME_TWO);
382             assertNotRegistered(NAME_TWO);
383             assertEquals(13, test2.createOrder);
384             assertEquals(15, test2.startOrder);
385             assertEquals(18, test2.stopOrder);
386             assertEquals(20, test2.destroyOrder);
387          }
388       }
389    }
390 }
391
Popular Tags