diff options
Diffstat (limited to 'src/test/java/com/btr/proxy/search/java/JavaProxySearchTest.java')
-rw-r--r-- | src/test/java/com/btr/proxy/search/java/JavaProxySearchTest.java | 137 |
1 files changed, 137 insertions, 0 deletions
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)); + } + +} + |