package com.philemonworks.critter.httpclient;
import org.apache.http.HttpException;
import org.apache.http.HttpHost;
import org.junit.Assert;
import org.junit.Test;
public class ProxyRoutePlannerTest {
private static final String HTTPS_PROXY = "http://192.168.128.1:5678";
private static final String HTTP_PROXY = "http://192.168.64.1:1234";
@Test
public void testHttpRouteWithProxies() throws HttpException {
ProxyRoutePlanner proxyRoutePlanner = new ProxyRoutePlanner(HTTP_PROXY, HTTPS_PROXY, "");
HttpHost httpHost = createHttpHost();
HttpHost result = proxyRoutePlanner.determineProxy(httpHost, null, null);
Assert.assertEquals("192.168.64.1", result.getHostName());
Assert.assertEquals(1234, result.getPort());
}
@Test
public void testHttpsRouteWithProxies() throws HttpException {
ProxyRoutePlanner proxyRoutePlanner = new ProxyRoutePlanner(HTTP_PROXY, HTTPS_PROXY, "");
HttpHost httpHost = createHttpsHost();
HttpHost result = proxyRoutePlanner.determineProxy(httpHost, null, null);
Assert.assertEquals("192.168.128.1", result.getHostName());
Assert.assertEquals(5678, result.getPort());
}
@Test
public void testHttpsRouteWithProxiesAndNoProxyHost() throws HttpException {
ProxyRoutePlanner proxyRoutePlanner = new ProxyRoutePlanner(HTTP_PROXY, HTTPS_PROXY, "www.google.nl");
HttpHost httpHost = createHttpsHost();
Assert.assertNull(proxyRoutePlanner.determineProxy(httpHost, null, null));
}
@Test
public void testHttpsRouteWithoutProxies() throws HttpException {
ProxyRoutePlanner proxyRoutePlanner = new ProxyRoutePlanner(null, null, "");
HttpHost httpHost = createHttpsHost();
Assert.assertNull(proxyRoutePlanner.determineProxy(httpHost, null, null));
}
@Test
public void testHttpRouteWithoutProxies() throws HttpException {
ProxyRoutePlanner proxyRoutePlanner = new ProxyRoutePlanner(null, null, "");
HttpHost httpHost = createHttpHost();
Assert.assertNull(proxyRoutePlanner.determineProxy(httpHost, null, null));
}
public HttpHost createHttpHost() {
return new HttpHost("www.google.nl", 80, "http");
}
public HttpHost createHttpsHost() {
return new HttpHost("www.google.nl", 443, "https");
}
}