package cyrille.net; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.ProxySelector; import java.net.URI; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Test; import static org.junit.Assert.*; /** * @author <a href="mailto:cyrille.leclerc@pobox.com">Cyrille Le Clerc</a> */ public class ConfigurableProxySelectorTest { @Test public void testSelectURIDelegatedToInitialProxySelector() throws Exception { ProxySelector proxySelector = new ConfigurableProxySelector(); List<Proxy> actual = proxySelector.select(new URI("http://localhost:80/")); List<Proxy> expected = Arrays.asList(Proxy.NO_PROXY); assertEquals(expected, actual); } @Test public void testSetProxiesHostPortByHostName() throws Exception { String hostName = "myHost"; String proxyHost = "myProxyServer"; int proxyPort = 8080; ConfigurableProxySelector configurableProxySelector = new ConfigurableProxySelector(); Map<String, Proxy> expected = new HashMap<String, Proxy>(); Proxy expectedProxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)); expected.put(hostName, expectedProxy); Map<String, String> proxiesHostPortByHostName = new HashMap<String, String>(); proxiesHostPortByHostName.put(hostName, proxyHost + ":" + proxyPort); configurableProxySelector.setProxiesHostPortByHostName(proxiesHostPortByHostName); Map<String, Proxy> actual = configurableProxySelector.proxiesByHostName; assertEquals(expected, actual); } }