package org.cyclopsgroup.jmxterm; import java.io.IOException; import java.io.Writer; import java.util.Map; import javax.management.MBeanServerConnection; import javax.management.remote.JMXServiceURL; import org.cyclopsgroup.jmxterm.io.WriterCommandOutput; import org.cyclopsgroup.jmxterm.pm.UnsupportedJavaProcessManager; /** * Mocked version of {@link Session} implementation for testing purpose only * * @author <a href="mailto:jiaqi.guo@gmail.com">Jiaqi Guo</a> */ public class MockSession extends Session { private boolean connected = true; private MockConnection connection; /** * @param output Output writer * @param con MBean service connection * @throws IOException */ public MockSession( Writer output, MBeanServerConnection con ) throws IOException { super( new WriterCommandOutput( output, null ), null, new UnsupportedJavaProcessManager( "testing" ) ); connection = new MockConnection( SyntaxUtils.getUrl( "localhost:9991", null ), con ); } /** * @inheritDoc */ @Override public void connect( JMXServiceURL url, Map<String, Object> env ) throws IOException { connected = true; } /** * @inheritDoc */ @Override public void disconnect() throws IOException { connected = false; } /** * @inheritDoc */ @Override public Connection getConnection() { return connection; } /** * @inheritDoc */ @Override public boolean isConnected() { return connected; } }