View Javadoc

1   package com.atlassian.sal.core.net;
2   
3   import org.apache.commons.httpclient.HostConfiguration;
4   import org.apache.commons.httpclient.HttpClient;
5   
6   import junit.framework.TestCase;
7   
8   import static org.mockito.Mockito.mock;
9   import static org.mockito.Mockito.never;
10  import static org.mockito.Mockito.times;
11  import static org.mockito.Mockito.verify;
12  import static org.mockito.Mockito.when;
13  
14  public class TestHttpClientProxyConfig extends TestCase
15  {
16      public static final String PROXY_HOST = "localhost";
17      private HttpClient httpClient;
18      private HostConfiguration hostConfiguration;
19  
20      @Override
21      public void tearDown()
22      {
23          System.clearProperty("http.proxyHost");
24          System.clearProperty("http.nonProxyHosts");
25      }
26  
27      @Override
28      public void setUp()
29      {
30          httpClient = mock(HttpClient.class);
31          hostConfiguration = mock(HostConfiguration.class);
32          when(httpClient.getHostConfiguration()).thenReturn(hostConfiguration);
33  
34          System.setProperty("http.proxyHost", PROXY_HOST);
35          System.setProperty("http.nonProxyHosts", "localhost|*.jira.com");
36      }
37  
38      public void testConfigureProxyEmptyURL()
39      {
40          HttpClientProxyConfig httpClientProxyConfig = new HttpClientProxyConfig();
41          httpClientProxyConfig.configureProxy(httpClient, "");
42  
43          verify(hostConfiguration, never()).setProxy(PROXY_HOST, 80);
44      }
45  
46      public void testConfigureProxyValidURL()
47      {
48          HttpClientProxyConfig httpClientProxyConfig = new HttpClientProxyConfig();
49          httpClientProxyConfig.configureProxy(httpClient, "http://test");
50  
51          verify(hostConfiguration, times(1)).setProxy(PROXY_HOST, 80);
52      }
53  
54      public void testConfigureProxyWithNonProxyURL()
55      {
56          HttpClient httpClient = mock(HttpClient.class);
57          HttpClientProxyConfig httpClientProxyConfig = new HttpClientProxyConfig();
58          httpClientProxyConfig.configureProxy(httpClient, "http://localhost");
59  
60          verify(hostConfiguration, never()).setProxy(PROXY_HOST, 80);
61      }
62  
63  }