KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > jbossmx > compliance > notcompliant > NCMBeanTestCase


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, 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.jbossmx.compliance.notcompliant;
23
24 import javax.management.MBeanServer JavaDoc;
25 import javax.management.MBeanServerFactory JavaDoc;
26 import javax.management.NotCompliantMBeanException JavaDoc;
27 import javax.management.ObjectName JavaDoc;
28
29 import org.jboss.test.jbossmx.compliance.TestCase;
30 import org.jboss.test.jbossmx.compliance.notcompliant.support.DynamicAndStandard;
31 import org.jboss.test.jbossmx.compliance.notcompliant.support.OverloadedAttribute1;
32 import org.jboss.test.jbossmx.compliance.notcompliant.support.OverloadedAttribute2;
33 import org.jboss.test.jbossmx.compliance.notcompliant.support.OverloadedAttribute3;
34
35 public class NCMBeanTestCase
36    extends TestCase
37 {
38    public NCMBeanTestCase(String JavaDoc s)
39    {
40       super(s);
41    }
42
43    public void testOverloadedAttribute1()
44    {
45       registerAndTest(new OverloadedAttribute1(), true);
46    }
47
48    public void testOverloadedAttribute2()
49    {
50       // according to spec this is not a problem
51
registerAndTest(new OverloadedAttribute2(), false);
52    }
53
54    public void testOverloadedAttribute3()
55    {
56       registerAndTest(new OverloadedAttribute3(), true);
57    }
58
59    public void testMixedDynamicStandard()
60    {
61       // according to the spec this is not a problem any more
62
registerAndTest(new DynamicAndStandard(), false);
63    }
64
65    public void testNoConstructor()
66    {
67       registerAndTest(new NoConstructor(), true);
68    }
69
70    private void registerAndTest(Object JavaDoc mbean, boolean shouldFail)
71    {
72       try
73       {
74          MBeanServer JavaDoc server = MBeanServerFactory.newMBeanServer();
75          server.registerMBean(mbean, new ObjectName JavaDoc("test:foo=bar"));
76          if (shouldFail)
77             fail("expected a NotCompliantMBeanException for " + mbean.getClass().getName());
78       }
79       catch (NotCompliantMBeanException JavaDoc e)
80       {
81          if (shouldFail == false)
82             fail("NotCompliantMBeanException for " + mbean.getClass().getName());
83       }
84       catch (Exception JavaDoc e)
85       {
86          fail("unexpected exception when registering " + mbean.getClass().getName() + ": " + e.getMessage());
87       }
88    }
89 }
90
Popular Tags