Skip to content

Commit 1f7b7e1

Browse files
committed
Add HttpClientFactoryTest
1 parent 805f6d4 commit 1f7b7e1

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

pom.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,24 @@
195195
<version>5.11.2</version>
196196
<scope>test</scope>
197197
</dependency>
198+
<dependency>
199+
<groupId>org.mockito</groupId>
200+
<artifactId>mockito-inline</artifactId>
201+
<version>3.12.4</version>
202+
<scope>test</scope>
203+
</dependency>
204+
<dependency>
205+
<groupId>uk.org.webcompere</groupId>
206+
<artifactId>system-stubs-core</artifactId>
207+
<version>2.0.2</version>
208+
<scope>test</scope>
209+
</dependency>
210+
<dependency>
211+
<groupId>uk.org.webcompere</groupId>
212+
<artifactId>system-stubs-jupiter</artifactId>
213+
<version>2.0.2</version>
214+
<scope>test</scope>
215+
</dependency>
198216
</dependencies>
199217

200218
<repositories>
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
package io.simplelocalize.cli.client;
2+
3+
import org.junit.jupiter.api.Test;
4+
import org.junit.jupiter.api.extension.ExtendWith;
5+
import uk.org.webcompere.systemstubs.environment.EnvironmentVariables;
6+
import uk.org.webcompere.systemstubs.jupiter.SystemStub;
7+
import uk.org.webcompere.systemstubs.jupiter.SystemStubsExtension;
8+
9+
import java.net.http.HttpClient;
10+
import java.time.Duration;
11+
import java.time.temporal.ChronoUnit;
12+
13+
import static org.assertj.core.api.Assertions.assertThat;
14+
15+
@ExtendWith(SystemStubsExtension.class)
16+
class HttpClientFactoryTest
17+
{
18+
19+
@SystemStub
20+
private EnvironmentVariables environmentVariables;
21+
22+
23+
@Test
24+
void createHttpClient()
25+
{
26+
//when
27+
HttpClient result = HttpClientFactory.createHttpClient();
28+
29+
//then
30+
assertThat(result).isNotNull();
31+
assertThat(result.connectTimeout().get()).isEqualTo(Duration.of(5, ChronoUnit.MINUTES));
32+
assertThat(result.version()).isEqualTo(HttpClient.Version.HTTP_2);
33+
assertThat(result.followRedirects()).isEqualTo(HttpClient.Redirect.NEVER);
34+
assertThat(result.proxy()).isEmpty();
35+
assertThat(result.authenticator()).isEmpty();
36+
assertThat(result.cookieHandler()).isEmpty();
37+
}
38+
39+
@Test
40+
void createHttpClientWithUnauthenticatedProxy()
41+
{
42+
//given
43+
environmentVariables.set("http_proxy", "http://proxy:8080");
44+
45+
//when
46+
HttpClient result = HttpClientFactory.createHttpClient();
47+
48+
//then
49+
assertThat(result).isNotNull();
50+
assertThat(result.connectTimeout().get()).isEqualTo(Duration.of(5, ChronoUnit.MINUTES));
51+
assertThat(result.version()).isEqualTo(HttpClient.Version.HTTP_2);
52+
assertThat(result.followRedirects()).isEqualTo(HttpClient.Redirect.NEVER);
53+
54+
assertThat(result.proxy()).isPresent();
55+
56+
assertThat(result.authenticator()).isEmpty();
57+
assertThat(result.cookieHandler()).isEmpty();
58+
}
59+
60+
@Test
61+
void createHttpClientWithAuthenticatedProxy()
62+
{
63+
//given
64+
environmentVariables.set("http_proxy", "http://foo:bar@proxy:8080");
65+
66+
//when
67+
HttpClient result = HttpClientFactory.createHttpClient();
68+
69+
//then
70+
assertThat(result).isNotNull();
71+
assertThat(result.connectTimeout().get()).isEqualTo(Duration.of(5, ChronoUnit.MINUTES));
72+
assertThat(result.version()).isEqualTo(HttpClient.Version.HTTP_2);
73+
assertThat(result.followRedirects()).isEqualTo(HttpClient.Redirect.NEVER);
74+
75+
assertThat(result.proxy()).isPresent();
76+
assertThat(result.authenticator()).isPresent();
77+
78+
assertThat(result.cookieHandler()).isEmpty();
79+
}
80+
}

0 commit comments

Comments
 (0)