/*
* Copyright 1999-2006 University of Chicago
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dcache.ftp.client.test;
import org.dcache.ftp.client.HostPort6;
import junit.framework.TestCase;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
Test HostPort
**/
public class HostPortTest extends TestCase {
private static Logger logger =
LoggerFactory.getLogger(HostPortTest.class);
public static void main(String[] argv) {
junit.textui.TestRunner.run (suite());
}
public static Test suite() {
return new TestSuite(HostPortTest.class);
}
public HostPortTest(String name) {
super(name);
}
public void testCreateIPv6() {
HostPort6 hp = null;
hp = new HostPort6(HostPort6.IPv6,
"1080::8:800:200C:417A",
123);
assertEquals(HostPort6.IPv6, hp.getVersion());
assertEquals("1080::8:800:200C:417A", hp.getHost());
assertEquals(123, hp.getPort());
assertEquals("|2|1080::8:800:200C:417A|123|", hp.toFtpCmdArgument());
hp = new HostPort6(HostPort6.IPv4,
"192.168.1.1",
456);
assertEquals(HostPort6.IPv4, hp.getVersion());
assertEquals("192.168.1.1", hp.getHost());
assertEquals(456, hp.getPort());
assertEquals("|1|192.168.1.1|456|", hp.toFtpCmdArgument());
}
public void testParseIPv6() {
parseIPv6("|||6446|",
null, null, 6446);
parseIPv6("|1|132.235.1.2|6275|",
"1", "132.235.1.2", 6275);
parseIPv6("|2|1080::8:800:200C:417A|5282|",
"2", "1080::8:800:200C:417A", 5282);
}
private void parseIPv6(String reply,
String version,
String host,
int port) {
HostPort6 p = new HostPort6(reply);
assertEquals(version, p.getVersion());
assertEquals(host, p.getHost());
assertEquals(port, p.getPort());
String text = p.toFtpCmdArgument();
assertEquals(reply, text);
}
}