001 // jademx - JADE management using JMX 002 // Copyright 2005 Caboodle Networks, Inc. 003 // 004 // This library is free software; you can redistribute it and/or 005 // modify it under the terms of the GNU Lesser General Public 006 // License as published by the Free Software Foundation; either 007 // version 2.1 of the License, or (at your option) any later version. 008 // 009 // This library is distributed in the hope that it will be useful, 010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 // Lesser General Public License for more details. 013 // 014 // You should have received a copy of the GNU Lesser General Public 015 // License along with this library; if not, write to the Free Software 016 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 017 018 package jade.jademx.server; 019 020 021 import java.util.Hashtable; 022 023 import javax.management.ObjectName; 024 025 import jade.jademx.JadeMXSuiteTest; 026 import junit.framework.Test; 027 import junit.framework.TestCase; 028 import junit.framework.TestSuite; 029 030 /** 031 * Java platform MBean server test 032 * @author David Bernstein, <a href="http://www.caboodlenetworks.com" 033 * >Caboodle Networks, Inc.</a> 034 */ 035 public class JadeServiceTest extends TestCase { 036 037 // tests 038 039 /** 040 * test construction of JadeService 041 */ 042 public void testJadeServiceConstruction() { 043 JadeService jadeService = new JadeService(); 044 } 045 046 /** 047 * test access to ObjectNameDomain 048 */ 049 public void testJadeServiceSetGetObjectNameDomain() { 050 JadeService jadeService = new JadeService(); 051 final String OBJECT_NAME_DOMAIN = "foo"; 052 jadeService.setObjectNameDomain(OBJECT_NAME_DOMAIN); 053 String objectNameDomain = jadeService.getObjectNameDomain(); 054 assertEquals( OBJECT_NAME_DOMAIN, objectNameDomain ); 055 } 056 057 058 /** 059 * test access to ConfigDocResource 060 */ 061 public void testJadeServiceSetGetConfigDocResource() { 062 JadeService jadeService = new JadeService(); 063 final String CONFIG_DOC_RESOURCE = "foo"; 064 jadeService.setConfigDocResource(CONFIG_DOC_RESOURCE); 065 String configDocResource = jadeService.getConfigDocResource(); 066 assertEquals( CONFIG_DOC_RESOURCE, configDocResource ); 067 jadeService.setConfigDocUrl( "bar" ); 068 assertNull( jadeService.getConfigDocResource() ); 069 } 070 071 072 /** 073 * test access to ConfigDocUrl 074 */ 075 public void testJadeServiceSetGetConfigDocUrl() { 076 JadeService jadeService = new JadeService(); 077 final String CONFIG_DOC_URL = "foo"; 078 jadeService.setConfigDocUrl(CONFIG_DOC_URL); 079 String configDocUrl = jadeService.getConfigDocUrl(); 080 assertEquals( CONFIG_DOC_URL, configDocUrl ); 081 jadeService.setConfigDocResource( "bar" ); 082 assertNull( jadeService.getConfigDocUrl() ); 083 } 084 085 /** 086 * test access to JndiName 087 */ 088 public void testJadeServiceSetGetJndiName() { 089 JadeService jadeService = new JadeService(); 090 final String JNDI_NAME = "foo"; 091 jadeService.setJndiName(JNDI_NAME); 092 String jndiName = jadeService.getJndiName(); 093 assertEquals( JNDI_NAME, jndiName ); 094 } 095 096 097 /** 098 * test access to JadeMXServerClassName 099 */ 100 public void testJadeServiceSetGetJadeMXServerClassName() { 101 JadeService jadeService = new JadeService(); 102 final String JADEMX_SERVER_CLASS_NAME = "foo"; 103 jadeService.setJadeMXServerClassName(JADEMX_SERVER_CLASS_NAME); 104 String jadeMXServerClassName = jadeService.getJadeMXServerClassName(); 105 assertEquals( JADEMX_SERVER_CLASS_NAME, jadeMXServerClassName ); 106 } 107 108 /** 109 * test setting of JNDI initial context properties 110 */ 111 public void testJadeServiceSetJndiInitCtxtProps() { 112 JadeService jadeService = new JadeService(); 113 jadeService.setJndiInitialContextProperties( new Hashtable() ); 114 } 115 116 /** 117 * test getting of JadeService bound name 118 */ 119 public void testJadeServiceBoundName() { 120 JadeService jadeService = new JadeService(); 121 assertNull( jadeService.getBoundName() ); 122 } 123 124 /** 125 * test MBean type attribute for JadeService 126 */ 127 public void testJadeServiceType() { 128 JadeService jadeService = new JadeService(); 129 assertEquals( JadeServiceMBean.ATTR_TYPE, jadeService.getType() ); 130 } 131 132 /** 133 * test javax.management.MBeanRegistration implementation 134 */ 135 public void testJadeServiceMBeanRegistration() throws Exception { 136 JadeService jadeService = new JadeService(); 137 ObjectName objectName = jadeService.preRegister( null, null ); 138 assertEquals( objectName, jadeService.getObjectName() ); 139 jadeService.postRegister( Boolean.FALSE ); 140 assertNull( jadeService.getObjectName() ); 141 142 objectName = jadeService.preRegister( null, null ); 143 assertEquals( objectName, jadeService.getObjectName() ); 144 jadeService.postRegister( Boolean.TRUE ); 145 assertEquals( objectName, jadeService.getObjectName() ); 146 147 jadeService.preDeregister(); 148 assertTrue(true); 149 jadeService.postDeregister(); 150 assertNull( jadeService.getObjectName() ); 151 152 } 153 154 /** 155 * test conversion of JadeService to string 156 */ 157 public void testToString() { 158 Hashtable ht = new Hashtable(); 159 ht.put("a","b"); 160 ht.put("c","d"); 161 JadeService jadeService = new JadeService(); 162 jadeService.setJndiInitialContextProperties( ht ); 163 String actualStr = jadeService.toString(); 164 String expectedStr = "jade.jademx.server.JadeService[jadeMXServerClassName=null,objectNameDomain=jade,configDocName=jademx-config.xml,configDocNameIsUrl=false,jndiName=jade,jndiInitialContextProperties=(a=b,c=d),registered=false,objectName=null]"; 165 assertEquals( expectedStr, actualStr ); 166 } 167 168 // suite 169 170 /** 171 * return the implicit suite of tests 172 * @return the implicit suite of tests 173 */ 174 public static Test suite() { 175 return new TestSuite( 176 JadeServiceTest.class, 177 JadeMXSuiteTest.nameWithClass( JadeServiceTest.class, 178 "testing JadeService: JBoss JADE service") ); 179 } 180 181 182 183 }