/*
* (c) Rob Gordon 2005
*/
package org.oddjob.jmx.handlers;
import junit.framework.TestCase;
import org.oddjob.arooa.ArooaSession;
import org.oddjob.arooa.registry.MockBeanRegistry;
import org.oddjob.arooa.registry.ServerId;
import org.oddjob.arooa.standard.StandardArooaSession;
import org.oddjob.jmx.server.MockServerSession;
import org.oddjob.jmx.server.OddjobMBean;
import org.oddjob.jmx.server.OddjobMBeanFactory;
import org.oddjob.jmx.server.ServerContext;
import org.oddjob.jmx.server.ServerContextImpl;
import org.oddjob.jmx.server.ServerInterfaceManagerFactory;
import org.oddjob.jmx.server.ServerInterfaceManagerFactoryImpl;
import org.oddjob.jmx.server.ServerModel;
import org.oddjob.jmx.server.ServerModelImpl;
import org.oddjob.logging.LogEnabled;
import org.oddjob.util.MockThreadManager;
public class LogEnabledHandlerFactoryTest extends TestCase {
// private static final Logger logger = Logger.getLogger(IconicInfoTest.class);
private class MockLogEnabled implements LogEnabled {
public String loggerName() {
return "org.oddjob.TestLogger";
}
}
private class OurHierarchicalRegistry extends MockBeanRegistry {
@Override
public String getIdFor(Object component) {
assertNotNull(component);
return "x";
}
}
private class OurServerSession extends MockServerSession {
ArooaSession session = new StandardArooaSession();
@Override
public ArooaSession getArooaSession() {
return session;
}
}
public void testLoggerName() throws Exception {
MockLogEnabled target = new MockLogEnabled();
/// factory includes LogEnabledInfo by default
ServerInterfaceManagerFactory imf =
new ServerInterfaceManagerFactoryImpl();
ServerModel sm = new ServerModelImpl(
new ServerId("//test/"),
new MockThreadManager(),
imf
);
ServerContext serverContext = new ServerContextImpl(
target, sm, new OurHierarchicalRegistry());
OddjobMBean ojmb = new OddjobMBean(
target, OddjobMBeanFactory.objectName(0),
new OurServerSession(),
serverContext);
String loggerName = (String) ojmb.invoke("loggerName",
new Object[0], new String[0]);
assertEquals("logger name", "org.oddjob.TestLogger", loggerName);
}
}