/******************************************************************************* * Copyright (c) 2014 Zend Technologies Ltd. * 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 *******************************************************************************/ package org.zend.php.zendserver.deployment.core.tunnel; import junit.framework.TestCase; /** * * @author Wojciech Galanciak, 2014 * */ public class PortForwardingTests extends TestCase { private static final int DEFAULT_REMOTE_PORT = 20000; private static final int DEFAULT_LOCAL_PORT = 10000; private static final String DEFAULT_REMOTE_HOST = "192.168.0.1"; //$NON-NLS-1$ private static final String DEFAULT_LOCAL_HOST = "127.0.0.1"; //$NON-NLS-1$ public void testSerializeLocal() { PortForwarding portForwarding = PortForwarding.createLocal( DEFAULT_LOCAL_HOST, DEFAULT_LOCAL_PORT, DEFAULT_REMOTE_HOST, DEFAULT_REMOTE_PORT); String result = portForwarding.serialize(); assertEquals("-L 127.0.0.1:10000:192.168.0.1:20000", result); //$NON-NLS-1$ } public void testSerializeLocalNoHost() { PortForwarding portForwarding = PortForwarding.createLocal( DEFAULT_LOCAL_PORT, DEFAULT_REMOTE_HOST, DEFAULT_REMOTE_PORT); String result = portForwarding.serialize(); assertEquals("-L 10000:192.168.0.1:20000", result); //$NON-NLS-1$ } public void testSerializeRemote() { PortForwarding portForwarding = PortForwarding.createRemote( DEFAULT_REMOTE_HOST, DEFAULT_REMOTE_PORT, DEFAULT_LOCAL_HOST, DEFAULT_LOCAL_PORT); String result = portForwarding.serialize(); assertEquals("-R 192.168.0.1:20000:127.0.0.1:10000", result); //$NON-NLS-1$ } public void testSerializeRemoteNoHost() { PortForwarding portForwarding = PortForwarding.createRemote( DEFAULT_REMOTE_PORT, DEFAULT_LOCAL_HOST, DEFAULT_LOCAL_PORT); String result = portForwarding.serialize(); assertEquals("-R 20000:127.0.0.1:10000", result); //$NON-NLS-1$ } public void testDeserializeLocal() { PortForwarding portForwarding = PortForwarding .deserialize("-L 127.0.0.1:10000:192.168.0.1:20000"); //$NON-NLS-1$ assertEquals(DEFAULT_LOCAL_HOST, portForwarding.getLocalAddress()); assertEquals(DEFAULT_LOCAL_PORT, portForwarding.getLocalPort()); assertEquals(DEFAULT_REMOTE_HOST, portForwarding.getRemoteAddress()); assertEquals(DEFAULT_REMOTE_PORT, portForwarding.getRemotePort()); } public void testDeserializeLocalNoHost() { PortForwarding portForwarding = PortForwarding .deserialize("-L 10000:192.168.0.1:20000"); //$NON-NLS-1$ assertNull(portForwarding.getLocalAddress()); assertEquals(DEFAULT_LOCAL_PORT, portForwarding.getLocalPort()); assertEquals(DEFAULT_REMOTE_HOST, portForwarding.getRemoteAddress()); assertEquals(DEFAULT_REMOTE_PORT, portForwarding.getRemotePort()); } public void testDeserializeRemote() { PortForwarding portForwarding = PortForwarding .deserialize("-R 192.168.0.1:20000:127.0.0.1:10000"); //$NON-NLS-1$ assertEquals(DEFAULT_LOCAL_HOST, portForwarding.getLocalAddress()); assertEquals(DEFAULT_LOCAL_PORT, portForwarding.getLocalPort()); assertEquals(DEFAULT_REMOTE_HOST, portForwarding.getRemoteAddress()); assertEquals(DEFAULT_REMOTE_PORT, portForwarding.getRemotePort()); } public void testDeserializeRemoteNoHost() { PortForwarding portForwarding = PortForwarding .deserialize("-R 20000:127.0.0.1:10000"); //$NON-NLS-1$ assertEquals(DEFAULT_LOCAL_HOST, portForwarding.getLocalAddress()); assertEquals(DEFAULT_LOCAL_PORT, portForwarding.getLocalPort()); assertNull(portForwarding.getRemoteAddress()); assertEquals(DEFAULT_REMOTE_PORT, portForwarding.getRemotePort()); } }