/* * Copyright (c) 2012 Eike Stepper (Berlin, Germany) and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Eike Stepper - initial API and implementation */ package org.eclipse.net4j.tests.bugzilla; import org.eclipse.net4j.Net4jUtil; import org.eclipse.net4j.connector.IConnector; import org.eclipse.net4j.jvm.JVMUtil; import org.eclipse.net4j.tcp.TCPUtil; import org.eclipse.net4j.tcp.ssl.SSLUtil; import org.eclipse.net4j.tests.AbstractTransportTest; import org.eclipse.net4j.tests.signal.TestSignalProtocol; import org.eclipse.net4j.util.container.IManagedContainer; import org.eclipse.net4j.util.container.ManagedContainer; /** * @author Eike Stepper */ public class Bugzilla_259086_Test extends AbstractTransportTest { private static final int SERVER_PROTOCOL_VERSION = 4711; @Override protected IManagedContainer createContainer() { IManagedContainer container = new ManagedContainer(); Net4jUtil.prepareContainer(container); JVMUtil.prepareContainer(container); TCPUtil.prepareContainer(container); SSLUtil.prepareContainer(container); container.registerFactory(new TestSignalProtocol.Factory(SERVER_PROTOCOL_VERSION)); return container; } public void testVersionMatch() throws Exception { startTransport(); IConnector connector = getConnector(); connector.setOpenChannelTimeout(2000L); new TestSignalProtocol(connector, SERVER_PROTOCOL_VERSION); } public void testVersionMissing() throws Exception { startTransport(); IConnector connector = getConnector(); connector.setOpenChannelTimeout(2000L); try { new TestSignalProtocol(connector); fail("Exception expected"); //$NON-NLS-1$ } catch (Exception expected) { expected.printStackTrace(); } } public void testVersionMismatch() throws Exception { startTransport(); IConnector connector = getConnector(); connector.setOpenChannelTimeout(2000L); try { new TestSignalProtocol(connector, SERVER_PROTOCOL_VERSION - 1); fail("Exception expected"); //$NON-NLS-1$ } catch (Exception expected) { expected.printStackTrace(); } } /** * @author Eike Stepper */ public static final class JVM extends Bugzilla_259086_Test { @Override protected boolean useJVMTransport() { return true; } @Override protected boolean useSSLTransport() { return false; } } /** * @author Eike Stepper */ public static final class TCP extends Bugzilla_259086_Test { @Override protected boolean useJVMTransport() { return false; } @Override protected boolean useSSLTransport() { return false; } } /** * @author Eike Stepper */ public static final class SSL extends Bugzilla_259086_Test { @Override protected boolean useJVMTransport() { return false; } @Override protected boolean useSSLTransport() { return true; } } }