package org.marketcetera.module;
import org.marketcetera.util.misc.ClassVersion;
import org.junit.After;
import javax.management.JMX;
import java.math.BigInteger;
/* $License$ */
/**
* Base class for testing configuration provider integration
* with the module manager.
*
* @author anshul@marketcetera.com
*/
@ClassVersion("$Id: ConfigurationProviderTestBase.java 16154 2012-07-14 16:34:05Z colin $")
public class ConfigurationProviderTestBase extends ModuleTestBase {
@After
public void cleanup() throws Exception {
if(mManager != null) {
mManager.stop();
}
}
/**
* Verify values of provider / instance beans when no default
* values have been supplied by the configuration provider.
*
* @throws ModuleException if there were unexpected errors
*/
protected void verifyEmptyValues() throws ModuleException {
ConfigurationProviderFactoryMXBean factory = JMX.newMXBeanProxy(
getMBeanServer(),
ConfigurationProviderTestFactory.PROVIDER_URN.toObjectName(),
ConfigurationProviderFactoryMXBean.class);
org.junit.Assert.assertNull(factory.getMaxLimit());
org.junit.Assert.assertEquals(new BigInteger("0"),factory.getInstances());
//Create a module and verify all its values are empty
ModuleURN urn = new ModuleURN(ConfigurationProviderTestFactory.PROVIDER_URN,
"empty");
mManager.createModule(ConfigurationProviderTestFactory.PROVIDER_URN,
urn);
JMXTestModuleMXBean module = JMX.newMXBeanProxy(getMBeanServer(),
urn.toObjectName(), JMXTestModuleMXBean.class);
org.junit.Assert.assertNull(module.getBoolean());
org.junit.Assert.assertNull(module.getByte());
org.junit.Assert.assertNull(module.getCharacter());
org.junit.Assert.assertNull(module.getDecimal());
org.junit.Assert.assertNull(module.getDouble());
org.junit.Assert.assertNull(module.getFactoryAnnotation());
org.junit.Assert.assertNull(module.getFile());
org.junit.Assert.assertNull(module.getFloat());
org.junit.Assert.assertNull(module.getInt());
org.junit.Assert.assertNull(module.getInteger());
org.junit.Assert.assertNull(module.getLong());
org.junit.Assert.assertEquals(false,module.isPrimBoolean());
org.junit.Assert.assertEquals(0,module.getPrimByte());
org.junit.Assert.assertEquals('\u0000', module.getPrimCharacter());
org.junit.Assert.assertEquals(0.0, module.getPrimDouble(),0.0);
org.junit.Assert.assertEquals(0.0f, module.getPrimFloat(),0.0);
org.junit.Assert.assertEquals(0, module.getPrimInt());
org.junit.Assert.assertEquals(0l, module.getPrimLong());
org.junit.Assert.assertEquals(0,module.getPrimShort());
org.junit.Assert.assertNull(module.getShort());
org.junit.Assert.assertNull(module.getString());
org.junit.Assert.assertNull(module.getURL());
}
protected ModuleManager mManager;
}