blob: 069cda3004e56d08af31a42d8487e1b8194d846f (
plain) (
tree)
|
|
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.SOCKET_TEST_URI);
assertEquals(TestUtil.SOCKS_TEST_PROXY, result.get(0));
}
}
|