/** * Copyright (c) 2012 SUSE LLC * * This software is licensed to you under the GNU General Public License, * version 2 (GPLv2). There is NO WARRANTY for this software, express or * implied, including the implied warranties of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2 * along with this software; if not, see * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. * * Red Hat trademarks are not licensed under GPLv2. No permission is * granted to use or replicate Red Hat trademarks that are incorporated * in this software or its documentation. */ package com.redhat.rhn.common.validator.test; import com.redhat.rhn.common.validator.HostPortValidator; import junit.framework.TestCase; /** * Test class for the {@link HostPortValidator}. */ public class HostPortValidatorTest extends TestCase { public void testIPv4() { assertTrue(HostPortValidator.getInstance().isValid("192.168.1.2")); assertTrue(HostPortValidator.getInstance().isValid("192.168.1.2:8888")); assertTrue(HostPortValidator.getInstance().isValid("192.168.1")); assertFalse(HostPortValidator.getInstance().isValid("192.168.1.2:")); assertFalse(HostPortValidator.getInstance().isValid("192.168.1.2.3")); assertFalse(HostPortValidator.getInstance().isValid("1200.5.4.3")); assertFalse(HostPortValidator.getInstance().isValid("192.168.2.1:888888")); assertFalse(HostPortValidator.getInstance().isValid("http://192.168.2.1:8888")); } public void testIPv6() { assertTrue(HostPortValidator.getInstance().isValid( "2001:0db8:85a3:08d3:1319:8a2e:0370:7344")); assertTrue(HostPortValidator.getInstance().isValid( "[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]")); assertTrue(HostPortValidator.getInstance().isValid( "[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:8888")); assertTrue(HostPortValidator.getInstance().isValid("[2607:f0d0:1002:51::4]:8888")); assertTrue(HostPortValidator.getInstance().isValid("[::1]")); assertTrue(HostPortValidator.getInstance().isValid("[::1]:8888")); assertFalse(HostPortValidator.getInstance().isValid( "2001:0db8:85a3:08d3:1319:8a2e:0370:7344:8888")); assertFalse(HostPortValidator.getInstance().isValid( "[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]]:8888")); assertFalse(HostPortValidator.getInstance().isValid( "[2001:0db8:85a3:08d3:1319:8a2e:0370:7344:8888")); assertFalse(HostPortValidator.getInstance().isValid( "2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:8888")); assertFalse(HostPortValidator.getInstance().isValid("[::1]:")); assertFalse(HostPortValidator.getInstance().isValid("[]")); } public void testHostnames() { assertTrue(HostPortValidator.getInstance().isValid("myproxy")); assertTrue(HostPortValidator.getInstance().isValid("myproxy:8888")); assertTrue(HostPortValidator.getInstance().isValid("proxy.example.com")); assertTrue(HostPortValidator.getInstance().isValid("proxy.example.com:8888")); assertFalse(HostPortValidator.getInstance().isValid("http://proxy.example.com")); assertFalse(HostPortValidator.getInstance().isValid( "http://proxy.example.com:8888")); } public void testHostnameCharset() { assertTrue(HostPortValidator.getInstance().isValid("müller")); assertTrue(HostPortValidator.getInstance().isValid("pröxy.com")); assertFalse(HostPortValidator.getInstance().isValid("pröxy.com;8888")); assertFalse(HostPortValidator.getInstance().isValid("pröxy com")); assertFalse(HostPortValidator.getInstance().isValid("pro xy:8888")); assertFalse(HostPortValidator.getInstance().isValid("p$r%o&x!y=")); } }