View Javadoc

1   package com.atlassian.httpclient.api.factory;
2   
3   import com.google.common.collect.ImmutableMap;
4   import com.google.common.collect.Lists;
5   import org.junit.Test;
6   
7   import java.util.List;
8   import java.util.Map;
9   
10  import static org.junit.Assert.assertEquals;
11  
12  public class ProxyOptionsTest {
13      @Test
14      public void testProxyOptionBuilderDisablesConfigSettingsWithNoProxyMode() {
15          Map<Scheme, Host> proxyHosts = ImmutableMap.of(Scheme.HTTP, new Host("foo", 8080));
16          Map<Scheme, List<String>> nonProxyHosts = ImmutableMap.of(Scheme.HTTP, Lists.asList("Foo", new String[]{"Bar"}));
17          ProxyOptions opts =
18                  ProxyOptions.ProxyOptionsBuilder.create().withProxy(proxyHosts, nonProxyHosts)
19                          .withNoProxy()
20                          .build();
21  
22          assertEquals(ProxyOptions.ProxyMode.NO_PROXY, opts.getProxyMode());
23          assertEquals(0, opts.getProxyHosts().size());
24          assertEquals(0, opts.getNonProxyHosts().size());
25      }
26  
27      @Test
28      public void testProxyOptionBuilderDisablesConfigSettingsWithSysPropsMode() {
29          Map<Scheme, Host> proxyHosts = ImmutableMap.of(Scheme.HTTP, new Host("foo", 8080));
30          Map<Scheme, List<String>> nonProxyHosts = ImmutableMap.of(Scheme.HTTP, Lists.asList("Foo", new String[]{"Bar"}));
31          ProxyOptions opts =
32                  ProxyOptions.ProxyOptionsBuilder.create().withProxy(proxyHosts, nonProxyHosts)
33                          .withDefaultSystemProperties()
34                          .build();
35  
36          assertEquals(ProxyOptions.ProxyMode.SYSTEM_PROPERTIES, opts.getProxyMode());
37          assertEquals(0, opts.getProxyHosts().size());
38          assertEquals(0, opts.getNonProxyHosts().size());
39      }
40  
41      @Test
42      public void testProxyOptionBuilderWithProxyAndNonProxyHostConfig() {
43          Map<Scheme, Host> proxyHosts = ImmutableMap.of(Scheme.HTTP, new Host("foo", 8080));
44          Map<Scheme, List<String>> nonProxyHosts = ImmutableMap.of(Scheme.HTTP, Lists.asList("Foo", new String[]{"Bar"}));
45          ProxyOptions opts =
46                  ProxyOptions.ProxyOptionsBuilder.create().withProxy(proxyHosts, nonProxyHosts)
47                          .build();
48  
49          assertEquals(ProxyOptions.ProxyMode.CONFIGURED, opts.getProxyMode());
50          assertEquals(proxyHosts, opts.getProxyHosts());
51          assertEquals(nonProxyHosts, opts.getNonProxyHosts());
52      }
53  
54      @Test
55      public void testProxyOptionBuilderWithProxyConfig() {
56          ProxyOptions opts =
57                  ProxyOptions.ProxyOptionsBuilder.create().withProxy(Scheme.HTTP, new Host("foo", 8080))
58                          .build();
59  
60          assertEquals(ProxyOptions.ProxyMode.CONFIGURED, opts.getProxyMode());
61          assertEquals(new Host("foo", 8080), opts.getProxyHosts().get(Scheme.HTTP));
62          assertEquals(0, opts.getNonProxyHosts().size());
63      }
64  
65  }