package com.github.markusbernhardt.proxy.selector.pac; import static org.junit.Assert.assertEquals; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.Proxy; import java.net.URI; import java.net.URISyntaxException; import java.util.List; import org.junit.Test; import com.github.markusbernhardt.proxy.TestUtil; import com.github.markusbernhardt.proxy.selector.pac.PacProxySelector; import com.github.markusbernhardt.proxy.selector.pac.UrlPacScriptSource; /** * @author Markus Bernhardt, Copyright 2016 * @author Bernd Rosstauscher, Copyright 2009 */ public class PacPerProtocolTest { /************************************************************************* * Test the PAC selector for a given protocol. * * @throws IOException * of read error. * @throws URISyntaxException * on uri syntax error. ************************************************************************/ @Test public void testPacForSocket() throws IOException, URISyntaxException { new URI("socket://host1.unit-test.invalid/"); List<Proxy> result = new PacProxySelector(new UrlPacScriptSource(toUrl("test1.pac"))) .select(TestUtil.SOCKET_TEST_URI); assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); } /************************************************************************* * Helper method to build the url to the given test file * * @param testFile * the name of the test file. * @return the URL. * @throws MalformedURLException ************************************************************************/ private String toUrl(String testFile) throws MalformedURLException { return new File(TestUtil.TEST_DATA_FOLDER + "pac", testFile).toURI().toURL().toString(); } }