diff options
Diffstat (limited to 'src/test/java/com/btr/proxy/search')
7 files changed, 757 insertions, 0 deletions
diff --git a/src/test/java/com/btr/proxy/search/browser/FirefoxTest.java b/src/test/java/com/btr/proxy/search/browser/FirefoxTest.java new file mode 100644 index 0000000..2a45140 --- /dev/null +++ b/src/test/java/com/btr/proxy/search/browser/FirefoxTest.java @@ -0,0 +1,144 @@ +package com.btr.proxy.search.browser; + +import static org.junit.Assert.*; + +import java.net.Proxy; +import java.net.ProxySelector; +import java.net.URISyntaxException; +import java.util.List; + +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +import com.btr.proxy.TestUtil; +import com.btr.proxy.search.browser.firefox.FirefoxProxySearchStrategy; +import com.btr.proxy.util.ProxyException; + +/***************************************************************************** + * Unit tests for the firefox search. + * + * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009 + ****************************************************************************/ + +@Ignore +public class FirefoxTest { + + /************************************************************************* + * Setup environment for tests. + ************************************************************************/ + @BeforeClass + public static void setup() { + // Fake the OS for this tests. + System.setProperty("os.name", "Linux"); + } + + /************************************************************************* + * Test method. + * @throws ProxyException on error. + ************************************************************************/ + @Test + public void testNone() throws ProxyException { + TestUtil.setTestDataFolder("ff3_none"); + + FirefoxProxySearchStrategy ff = new FirefoxProxySearchStrategy(); + ProxySelector ps = ff.getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTPS_TEST_URI); + assertEquals(Proxy.NO_PROXY , result.get(0)); + + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualHttp() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("ff3_manual"); + + ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualHttps() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("ff3_manual"); + + ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTPS_TEST_URI); + assertEquals(TestUtil.HTTPS_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualFtp() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("ff3_manual"); + + ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.FTP_TEST_URI); + assertEquals(TestUtil.FTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualSocks() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("ff3_manual"); + + ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.SOCKS_TEST_URI); + assertEquals(TestUtil.SOCKS_TEST_PROXY, result.get(0)); + } + + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testPac() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("ff3_pac_script"); + + ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testWhiteList() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("ff3_white_list"); + + ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.NO_PROXY_TEST_URI); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + +} + diff --git a/src/test/java/com/btr/proxy/search/browser/IeTest.java b/src/test/java/com/btr/proxy/search/browser/IeTest.java new file mode 100644 index 0000000..3c7e72c --- /dev/null +++ b/src/test/java/com/btr/proxy/search/browser/IeTest.java @@ -0,0 +1,59 @@ +package com.btr.proxy.search.browser; + +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; + +import java.net.MalformedURLException; +import java.net.URISyntaxException; +import java.net.URL; + +import org.junit.Test; + +import com.btr.proxy.TestUtil; +import com.btr.proxy.search.browser.ie.IELocalByPassFilter; +import com.btr.proxy.search.browser.ie.IEProxySearchStrategy; +import com.btr.proxy.util.PlatformUtil; +import com.btr.proxy.util.ProxyException; +import com.btr.proxy.util.PlatformUtil.Platform; +import com.btr.proxy.util.UriFilter; + +/***************************************************************************** + * Unit tests for the InternetExplorer search. + * Only limited testing as this only runs on windwos and needs a + * installed IE and IE proxy settings written to the registry. + * + * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009 + ****************************************************************************/ + +public class IeTest { + + /************************************************************************* + * Test method. + * @throws ProxyException on proxy detection error. + ************************************************************************/ + @Test + public void testInvoke() throws ProxyException { + if (Platform.WIN.equals(PlatformUtil.getCurrentPlattform())) { + IEProxySearchStrategy st = new IEProxySearchStrategy(); + + // Try at least to invoke it and test if the dll does not crash + st.getProxySelector(); + } + } + + /************************************************************************* + * Test method. + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException if url syntax is wrong. + * @throws MalformedURLException on wrong url format. + ************************************************************************/ + @Test + public void testLocalByPassFilter() throws ProxyException, MalformedURLException, URISyntaxException { + UriFilter filter = new IELocalByPassFilter(); + assertTrue(filter.accept(TestUtil.LOCAL_TEST_URI)); + assertFalse(filter.accept(TestUtil.HTTP_TEST_URI)); + assertFalse(filter.accept(new URL("http://123.45.55.6").toURI())); + } + +} + diff --git a/src/test/java/com/btr/proxy/search/desktop/DesktopProxySearchTest.java b/src/test/java/com/btr/proxy/search/desktop/DesktopProxySearchTest.java new file mode 100644 index 0000000..0f8e6be --- /dev/null +++ b/src/test/java/com/btr/proxy/search/desktop/DesktopProxySearchTest.java @@ -0,0 +1,45 @@ +package com.btr.proxy.search.desktop; + +import java.net.ProxySelector; +import java.net.URI; +import java.net.URISyntaxException; + +import org.junit.Test; + +import com.btr.proxy.search.ProxySearch; +import com.btr.proxy.util.ProxyException; + +/***************************************************************************** + * Unit tests for the desktop facade search strategy. + * + * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009 + ****************************************************************************/ + +public class DesktopProxySearchTest { + + /************************************************************************* + * Test method. + * @throws ProxyException on error. + ************************************************************************/ + @Test + public void testDesktopStrategsIsWorking() throws ProxyException { + new DesktopProxySearchStrategy().getProxySelector(); + } + + /************************************************************************* + * Test method. + * @throws URISyntaxException on error parsing the URI. + * @throws ProxyException on selector error. + ************************************************************************/ + @Test + public void emptyURIShouldNotRaiseNPE() throws URISyntaxException, ProxyException { + ProxySearch proxySearch = ProxySearch.getDefaultProxySearch(); + ProxySelector myProxySelector = proxySearch.getProxySelector(); + if (myProxySelector != null) { + myProxySelector.select(new URI("")); + } + } + + +} + diff --git a/src/test/java/com/btr/proxy/search/desktop/win/DLLManagerTest.java b/src/test/java/com/btr/proxy/search/desktop/win/DLLManagerTest.java new file mode 100644 index 0000000..0711a8c --- /dev/null +++ b/src/test/java/com/btr/proxy/search/desktop/win/DLLManagerTest.java @@ -0,0 +1,78 @@ +package com.btr.proxy.search.desktop.win; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import org.junit.AfterClass; +import org.junit.Ignore; +import org.junit.Test; + +import com.btr.proxy.TestUtil; + +/***************************************************************************** + * Unit tests for DLL loading code. + * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009 + ****************************************************************************/ + +@Ignore +public class DLLManagerTest { + + /************************************************************************* + * Reset system property at the end. + ************************************************************************/ + @AfterClass + public static void teardown() { + System.setProperty(DLLManager.LIB_DIR_OVERRIDE, ""); + } + + /************************************************************************* + * Test method + * @throws IOException on error + ************************************************************************/ + @Test + public void testFindLibFileOverride() throws IOException { + String path = TestUtil.class.getResource("/").getFile() + File.separator+"data"+File.separator+"win"; + System.setProperty(DLLManager.LIB_DIR_OVERRIDE, path); + File actual = DLLManager.findLibFile(); + assertTrue(actual.getAbsolutePath().contains(path)); + } + + /************************************************************************* + * Test method + * @throws IOException on error + ************************************************************************/ + @Test + public void testFindLibFileDefault() throws IOException { + System.setProperty(DLLManager.LIB_DIR_OVERRIDE, ""); + File actual = DLLManager.findLibFile(); + assertTrue(actual.getAbsolutePath().contains("lib"+File.separator)); + } + + /************************************************************************* + * Test method + * @throws IOException on error + ************************************************************************/ + @Test + public void testCleanupTempFiles() throws IOException { + File f1 = File.createTempFile(DLLManager.TEMP_FILE_PREFIX+"_ABC", DLLManager.DLL_EXTENSION); + assertTrue(f1.exists()); + DLLManager.cleanupTempFiles(); + assertFalse(f1.exists()); + } + + /************************************************************************* + * Test method + * @throws IOException on error + ************************************************************************/ +// @Test +// public void testFileCopy() throws IOException { +// URL originalFile = DLLManagerTest.class.getResource("/lib/proxy_util_w32.dll"); +// File tempFile = File.createTempFile(DLLManager.TEMP_FILE_PREFIX, DLLManager.TEMP_FILE_PREFIX); +// DLLManager.copy(originalFile.openStream(), new FileOutputStream(tempFile)); +// assertTrue(tempFile.exists() && tempFile.length() == originalFile.length()); +// tempFile.delete(); +// } + +} + diff --git a/src/test/java/com/btr/proxy/search/gnome/GnomeProxySearchTest.java b/src/test/java/com/btr/proxy/search/gnome/GnomeProxySearchTest.java new file mode 100644 index 0000000..875e2d5 --- /dev/null +++ b/src/test/java/com/btr/proxy/search/gnome/GnomeProxySearchTest.java @@ -0,0 +1,117 @@ +package com.btr.proxy.search.gnome; + +import static org.junit.Assert.assertEquals; + +import java.net.Proxy; +import java.net.ProxySelector; +import java.net.URISyntaxException; +import java.util.List; + +import org.junit.Ignore; +import org.junit.Test; + +import com.btr.proxy.TestUtil; +import com.btr.proxy.search.desktop.gnome.GnomeProxySearchStrategy; +import com.btr.proxy.util.ProxyException; + + +/***************************************************************************** + * Unit tests for the Gnome settings search strategy. + * For every test the "user.home" system property is switched to the test/data + * folder where we provide some Gnome config files prepared for the test cases. + * + * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009 + ****************************************************************************/ +@Ignore +public class GnomeProxySearchTest { + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + ************************************************************************/ + @Test + public void testNone() throws ProxyException { + TestUtil.setTestDataFolder("gnome_none"); + ProxySelector ps = new GnomeProxySearchStrategy().getProxySelector(); + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualHttp() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("gnome_manual"); + + ProxySelector ps = new GnomeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualHttps() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("gnome_manual"); + + ProxySelector ps = new GnomeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTPS_TEST_URI); + assertEquals(TestUtil.HTTPS_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualFtp() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("gnome_manual"); + + ProxySelector ps = new GnomeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.FTP_TEST_URI); + assertEquals(TestUtil.FTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testPac() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("gnome_pac_script"); + + ProxySelector ps = new GnomeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testWhiteList() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("gnome_white_list"); + + ProxySelector ps = new GnomeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.NO_PROXY_TEST_URI); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + +} diff --git a/src/test/java/com/btr/proxy/search/java/JavaProxySearchTest.java b/src/test/java/com/btr/proxy/search/java/JavaProxySearchTest.java new file mode 100644 index 0000000..cfc473a --- /dev/null +++ b/src/test/java/com/btr/proxy/search/java/JavaProxySearchTest.java @@ -0,0 +1,137 @@ +package com.btr.proxy.search.java; + +import static org.junit.Assert.*; + +import java.net.Proxy; +import java.net.ProxySelector; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.List; + +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import com.btr.proxy.TestUtil; + + +/***************************************************************************** + * Unit tests for the Java proxy search strategy. + * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009 + ****************************************************************************/ + +public class JavaProxySearchTest { + + private ProxySelector selector; + + /************************************************************************* + * Setup before the tests. + ************************************************************************/ + @BeforeClass + public static void setupClass() { + System.setProperty("http.proxyHost", "http_proxy.unit-test.invalid"); + System.setProperty("http.proxyPort", "8090"); + System.setProperty("http.nonProxyHosts", "no_proxy.unit-test.invalid"); + System.setProperty("https.proxyHost", "https_proxy.unit-test.invalid"); + System.setProperty("https.proxyPort", "8091"); + System.setProperty("ftp.proxyHost", "ftp_proxy.unit-test.invalid"); + System.setProperty("ftp.nonProxyHosts", "no_proxy.unit-test.invalid"); + System.setProperty("ftp.proxyPort", "8092"); + System.setProperty("socksProxyHost", "socks_proxy.unit-test.invalid"); + System.setProperty("socksProxyPort", "8095"); + } + + /************************************************************************* + * Setup before the tests. + ************************************************************************/ + @AfterClass + public static void teardownClass() { + System.clearProperty("http.proxyHost"); + System.clearProperty("http.proxyPort"); + System.clearProperty("http.nonProxyHosts"); + System.clearProperty("https.proxyHost"); + System.clearProperty("https.proxyPort"); + System.clearProperty("ftp.proxyHost"); + System.clearProperty("ftp.nonProxyHosts"); + System.clearProperty("ftp.proxyPort"); + System.clearProperty("socksProxyHost"); + System.clearProperty("socksProxyPort"); + } + + /************************************************************************* + * Setup before every single test + ************************************************************************/ + @Before + public void setup() { + this.selector = new JavaProxySearchStrategy().getProxySelector(); + } + + /************************************************************************* + * Test method + ************************************************************************/ + @Test + public void testHTTP() { + List<Proxy> result = this.selector.select(TestUtil.HTTP_TEST_URI); + assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws URISyntaxException on wrong URI. + ************************************************************************/ + @Test + public void testHTTPnoProxy() throws URISyntaxException { + List<Proxy> result = this.selector.select(new URI("http://no_proxy.unit-test.invalid")); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + ************************************************************************/ + @Test + public void testHTTPS() { + List<Proxy> result = this.selector.select(TestUtil.HTTPS_TEST_URI); + assertEquals(TestUtil.HTTPS_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws URISyntaxException on wrong URI. + ************************************************************************/ + @Test + public void testHTTPSnoProxy() throws URISyntaxException { + List<Proxy> result = this.selector.select(new URI("https://no_proxy.unit-test.invalid")); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + ************************************************************************/ + @Test + public void testFTP() { + List<Proxy> result = this.selector.select(TestUtil.FTP_TEST_URI); + assertEquals(TestUtil.FTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws URISyntaxException on wrong URI. + ************************************************************************/ + @Test + public void testFTPnoProxy() throws URISyntaxException { + List<Proxy> result = this.selector.select(new URI("ftp://no_proxy.unit-test.invalid")); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + ************************************************************************/ + @Test + public void testSOCKS() { + List<Proxy> result = this.selector.select(TestUtil.SOCKS_TEST_URI); + assertEquals(TestUtil.SOCKS_TEST_PROXY, result.get(0)); + } + +} + diff --git a/src/test/java/com/btr/proxy/search/kde/KdeProxySearchTest.java b/src/test/java/com/btr/proxy/search/kde/KdeProxySearchTest.java new file mode 100644 index 0000000..d600aa2 --- /dev/null +++ b/src/test/java/com/btr/proxy/search/kde/KdeProxySearchTest.java @@ -0,0 +1,177 @@ +package com.btr.proxy.search.kde; + +import static org.junit.Assert.assertEquals; + +import java.net.Proxy; +import java.net.ProxySelector; +import java.net.URISyntaxException; +import java.util.List; + +import org.junit.Ignore; +import org.junit.Test; + +import com.btr.proxy.TestUtil; +import com.btr.proxy.search.desktop.kde.KdeProxySearchStrategy; +import com.btr.proxy.util.ProxyException; + + +/***************************************************************************** + * Unit tests for the KDE settings search strategy. + * For every test the "user.home" system property is switched to the test/data + * folder where we provide some KDE config files prepared for the test cases. + * + * If the env tests fail you need to set the followingenvironment variables: + * <p> + * HTTP_PROXY = http://http_proxy.unit-test.invalid:8090 <br/> + * HTTPS_PROXY = http://https_proxy.unit-test.invalid:8091 <br/> + * FTP_PROXY = http://ftp_proxy.unit-test.invalid:8092 <br/> + * </p> + * + * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009 + ****************************************************************************/ +@Ignore +public class KdeProxySearchTest { + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + ************************************************************************/ + @Test + public void testNone() throws ProxyException { + TestUtil.setTestDataFolder("kde_none"); + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualHttp() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("kde_manual"); + + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualHttps() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("kde_manual"); + + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTPS_TEST_URI); + assertEquals(TestUtil.HTTPS_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testManualFtp() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("kde_manual"); + + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.FTP_TEST_URI); + assertEquals(TestUtil.FTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testPac() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("kde_pac_script"); + + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + @Ignore + public void testEnvHttp() throws ProxyException, URISyntaxException { + // There is no good was to initialize environment variables in the running process. + //System.getenv().put("HTTP_PROXY", "http://http_proxy.unit-test.invalid:8090"); // Does not work + TestUtil.setTestDataFolder("kde_env"); + + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI); + assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + @Ignore + public void testEnvHttps() throws ProxyException, URISyntaxException { + // There is no good was to initialize environment variables in the running process. + // System.getenv().put("HTTPS_PROXY", "http://http_proxy.unit-test.invalid:8090"); // Does not work + TestUtil.setTestDataFolder("kde_env"); + + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.HTTPS_TEST_URI); + assertEquals(TestUtil.HTTPS_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + @Ignore + public void testEnvFtp() throws ProxyException, URISyntaxException { + // there is no good was to initialize environment variables in the running process. + //System.getenv().put("FTP_PROXY", "http://http_proxy.unit-test.invalid:8090"); // Does not work + TestUtil.setTestDataFolder("kde_env"); + + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.FTP_TEST_URI); + assertEquals(TestUtil.FTP_TEST_PROXY, result.get(0)); + } + + /************************************************************************* + * Test method + * @throws ProxyException on proxy detection error. + * @throws URISyntaxException on invalid URL syntax. + ************************************************************************/ + @Test + public void testWhiteList() throws ProxyException, URISyntaxException { + TestUtil.setTestDataFolder("kde_white_list"); + + ProxySelector ps = new KdeProxySearchStrategy().getProxySelector(); + + List<Proxy> result = ps.select(TestUtil.NO_PROXY_TEST_URI); + assertEquals(Proxy.NO_PROXY, result.get(0)); + } + +} |