1 package com.atlassian.marketplace.client.http;
2
3 import java.util.Map;
4
5 import com.atlassian.marketplace.client.http.HttpConfiguration;
6 import com.atlassian.marketplace.client.http.RequestDecorator;
7 import com.atlassian.marketplace.client.http.HttpConfiguration.Credentials;
8 import com.atlassian.marketplace.client.http.HttpConfiguration.ProxyAuthParams;
9 import com.atlassian.marketplace.client.http.HttpConfiguration.ProxyConfiguration;
10 import com.atlassian.marketplace.client.http.HttpConfiguration.ProxyHost;
11
12 import com.google.common.collect.ImmutableMap;
13
14 import org.junit.Test;
15
16 import static com.atlassian.fugue.Option.none;
17 import static com.atlassian.fugue.Option.some;
18 import static com.atlassian.marketplace.client.http.HttpConfiguration.ProxyAuthMethod.BASIC;
19 import static org.hamcrest.MatcherAssert.assertThat;
20 import static org.hamcrest.Matchers.equalTo;
21
22 public class TestHttpConfiguration
23 {
24 private static String HOST = "foo";
25 private static RequestDecorator DECORATOR = new RequestDecorator()
26 {
27 @Override
28 public Map<String, String> getRequestHeaders()
29 {
30 return ImmutableMap.of();
31 }
32 };
33
34 @Test
35 public void hasNoCredentialsByDefault()
36 {
37 assertThat(HttpConfiguration.builder().build().getCredentials(), equalTo(none(Credentials.class)));
38 }
39
40 @Test
41 public void canSetCredentials()
42 {
43 assertThat(HttpConfiguration.builder().credentials(some(new Credentials("u", "p"))).build().getCredentials(),
44 equalTo(some(new Credentials("u", "p"))));
45 }
46
47 @Test
48 public void canSetConnectTimeoutMillis()
49 {
50 assertThat(HttpConfiguration.builder().connectTimeoutMillis(999).build().getConnectTimeoutMillis(),
51 equalTo(999));
52 }
53
54 @Test
55 public void canSetReadTimeoutMillis()
56 {
57 assertThat(HttpConfiguration.builder().readTimeoutMillis(999).build().getReadTimeoutMillis(),
58 equalTo(999));
59 }
60
61 @Test
62 public void canSetMaxConnections()
63 {
64 assertThat(HttpConfiguration.builder().maxConnections(999).build().getMaxConnections(),
65 equalTo(999));
66 }
67
68 @Test
69 public void canSetMaxCacheEntries()
70 {
71 assertThat(HttpConfiguration.builder().maxCacheEntries(999).build().getMaxCacheEntries(),
72 equalTo(999));
73 }
74
75 @Test
76 public void canSetMaxCacheObjectSize()
77 {
78 assertThat(HttpConfiguration.builder().maxCacheObjectSize(999L).build().getMaxCacheObjectSize(),
79 equalTo(999L));
80 }
81
82 @Test
83 public void canSetProxyConfig()
84 {
85 ProxyConfiguration proxy = ProxyConfiguration.builder().proxyHost(some(new ProxyHost(HOST))).build();
86 assertThat(HttpConfiguration.builder().proxyConfiguration(some(proxy)).build().getProxyConfiguration(),
87 equalTo(some(proxy)));
88 }
89
90 @Test
91 public void canSetRequestDecorator()
92 {
93 assertThat(HttpConfiguration.builder().requestDecorator(some(DECORATOR)).build().getRequestDecorator(),
94 equalTo(some(DECORATOR)));
95 }
96
97 @Test
98 public void proxyCanSetHost()
99 {
100 ProxyHost ph = new ProxyHost(HOST);
101 assertThat(ProxyConfiguration.builder().proxyHost(some(ph)).build().getProxyHost(), equalTo(some(ph)));
102 }
103
104 @Test
105 public void proxyCanSetAuthParams()
106 {
107 ProxyAuthParams ap = new ProxyAuthParams(new Credentials("u", "p"), BASIC);
108 assertThat(ProxyConfiguration.builder().authParams(some(ap)).build().getAuthParams(), equalTo(some(ap)));
109 }
110 }