diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java')
-rw-r--r-- | plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java | 116 |
1 files changed, 77 insertions, 39 deletions
diff --git a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java index 95d46d8b6e..2b31b8c758 100644 --- a/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java +++ b/plugins/org.eclipse.net4j.tests/src/org/eclipse/net4j/tests/bugzilla/Bugzilla_241463_Test.java @@ -7,32 +7,30 @@ * * Contributors: * Eike Stepper - initial API and implementation - * Teerawat Chaiyakijpichet (No Magic Asia Ltd.) - maintenance (SSL) + * Teerawat Chaiyakijpichet (No Magic Asia Ltd.) - maintenance (SSL) */ package org.eclipse.net4j.tests.bugzilla; -import org.eclipse.net4j.TransportInjector; +import org.eclipse.net4j.Net4jUtil; +import org.eclipse.net4j.internal.jvm.JVMAcceptor; +import org.eclipse.net4j.internal.jvm.JVMAcceptorFactory; +import org.eclipse.net4j.internal.jvm.JVMClientConnector; +import org.eclipse.net4j.internal.jvm.JVMServerConnector; import org.eclipse.net4j.internal.tcp.TCPAcceptor; import org.eclipse.net4j.internal.tcp.TCPAcceptorFactory; -import org.eclipse.net4j.internal.tcp.TCPConnectorFactory; -import org.eclipse.net4j.internal.tcp.TCPSelectorFactory; -import org.eclipse.net4j.internal.tcp.TCPSelectorInjector; import org.eclipse.net4j.internal.tcp.TCPServerConnector; import org.eclipse.net4j.internal.tcp.ssl.SSLAcceptor; import org.eclipse.net4j.internal.tcp.ssl.SSLAcceptorFactory; -import org.eclipse.net4j.internal.tcp.ssl.SSLConnectorFactory; import org.eclipse.net4j.internal.tcp.ssl.SSLServerConnector; +import org.eclipse.net4j.jvm.JVMUtil; import org.eclipse.net4j.tcp.ITCPAcceptor; import org.eclipse.net4j.tcp.ITCPSelector; +import org.eclipse.net4j.tcp.TCPUtil; +import org.eclipse.net4j.tcp.ssl.SSLUtil; import org.eclipse.net4j.tests.AbstractTransportTest; -import org.eclipse.net4j.tests.ChannelTest; import org.eclipse.net4j.tests.signal.TestSignalProtocol; -import org.eclipse.net4j.util.concurrent.ExecutorServiceFactory; import org.eclipse.net4j.util.container.IManagedContainer; import org.eclipse.net4j.util.container.ManagedContainer; -import org.eclipse.net4j.util.security.RandomizerFactory; - -import org.eclipse.internal.net4j.buffer.BufferProviderFactory; import org.eclipse.spi.net4j.InternalChannel; @@ -41,6 +39,8 @@ import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; /** + * See bug 241463. + * * @author Eike Stepper */ public class Bugzilla_241463_Test extends AbstractTransportTest @@ -49,30 +49,15 @@ public class Bugzilla_241463_Test extends AbstractTransportTest protected IManagedContainer createContainer() { IManagedContainer container = new ManagedContainer(); + Net4jUtil.prepareContainer(container); + JVMUtil.prepareContainer(container); + TCPUtil.prepareContainer(container); + SSLUtil.prepareContainer(container); - // Net4j - container.registerFactory(new ExecutorServiceFactory()); - container.registerFactory(new BufferProviderFactory()); - container.registerFactory(new RandomizerFactory()); - container.addPostProcessor(new TransportInjector()); + container.registerFactory(new FakeJVMAcceptorFactory()); + container.registerFactory(new FakeTCPAcceptorFactory()); + container.registerFactory(new FakeSSLAcceptorFactory()); - container.registerFactory(new TCPSelectorFactory()); - container.addPostProcessor(new TCPSelectorInjector()); - - if (useSSLTransport()) - { - // SSL - container.registerFactory(new FakeSSLAcceptorFactory()); - container.registerFactory(new SSLConnectorFactory()); - } - else - { - // TCP - container.registerFactory(new FakeAcceptorFactory()); - container.registerFactory(new TCPConnectorFactory()); - } - - // Test container.registerFactory(new TestSignalProtocol.Factory()); return container; } @@ -95,7 +80,42 @@ public class Bugzilla_241463_Test extends AbstractTransportTest /** * @author Eike Stepper */ - private static final class FakeAcceptorFactory extends TCPAcceptorFactory + private static final class FakeJVMAcceptorFactory extends JVMAcceptorFactory + { + @Override + public JVMAcceptor create(String description) + { + JVMAcceptor acceptor = new JVMAcceptor() + { + @Override + public JVMServerConnector handleAccept(JVMClientConnector client) + { + JVMServerConnector connector = new JVMServerConnector(client) + { + @Override + public InternalChannel inverseOpenChannel(short channelID, String protocolID, int protocolVersion) + { + throw new RuntimeException("Simulated problem"); //$NON-NLS-1$ + } + }; + + connector.setName(client.getName()); + connector.setConfig(getConfig()); + connector.activate(); + addConnector(connector); + return connector; + } + }; + + acceptor.setName(description); + return acceptor; + } + } + + /** + * @author Eike Stepper + */ + private static final class FakeTCPAcceptorFactory extends TCPAcceptorFactory { @Override public TCPAcceptor create(String description) @@ -108,7 +128,7 @@ public class Bugzilla_241463_Test extends AbstractTransportTest return new TCPServerConnector(this) { @Override - public InternalChannel inverseOpenChannel(short channelIndex, String protocolID) + public InternalChannel inverseOpenChannel(short channelID, String protocolID, int protocolVersion) { throw new RuntimeException("Simulated problem"); //$NON-NLS-1$ } @@ -132,7 +152,6 @@ public class Bugzilla_241463_Test extends AbstractTransportTest { SSLAcceptor acceptor = new SSLAcceptor() { - @Override public void handleAccept(ITCPSelector selector, ServerSocketChannel serverSocketChannel) { @@ -146,11 +165,12 @@ public class Bugzilla_241463_Test extends AbstractTransportTest SSLServerConnector connector = new SSLServerConnector(this) { @Override - public InternalChannel inverseOpenChannel(short channelID, String protocolID) + public InternalChannel inverseOpenChannel(short channelID, String protocolID, int protocolVersion) { throw new RuntimeException("Simulated problem"); //$NON-NLS-1$ } }; + prepareConnector(connector); connector.setSocketChannel(socketChannel); connector.setSelector(selector); @@ -177,7 +197,25 @@ public class Bugzilla_241463_Test extends AbstractTransportTest /** * @author Eike Stepper */ - public static final class TCP extends ChannelTest + public static final class JVM extends Bugzilla_241463_Test + { + @Override + protected boolean useJVMTransport() + { + return true; + } + + @Override + protected boolean useSSLTransport() + { + return false; + } + } + + /** + * @author Eike Stepper + */ + public static final class TCP extends Bugzilla_241463_Test { @Override protected boolean useJVMTransport() @@ -195,7 +233,7 @@ public class Bugzilla_241463_Test extends AbstractTransportTest /** * @author Teerawat Chaiyakijpichet (No Magic Asia Ltd.) */ - public static final class SSL extends ChannelTest + public static final class SSL extends Bugzilla_241463_Test { @Override protected boolean useJVMTransport() |