Skip to content

Commit 887d8b7

Browse files
committed
#36 Decompose method to make code testable
Signed-off-by: Sven Strittmatter <sven.strittmatter@iteratec.com>
1 parent eea31b1 commit 887d8b7

File tree

2 files changed

+28
-16
lines changed
  • src
    • main/java/io/securecodebox/persistence/defectdojo/http
    • test/java/io/securecodebox/persistence/defectdojo/http

2 files changed

+28
-16
lines changed

src/main/java/io/securecodebox/persistence/defectdojo/http/Foo.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public RestTemplate createRestTemplate() {
6262
// Configuring Proxy Authentication explicitly as it isn't done by default for spring rest templates :(
6363
final var credentials = new BasicCredentialsProvider();
6464
credentials.setCredentials(
65-
new AuthScope(proxyConfig.getHost(), proxyConfig.getPort()),
65+
createAuthScope(),
6666
new UsernamePasswordCredentials(proxyConfig.getUser(), proxyConfig.getPassword())
6767
);
6868

@@ -79,5 +79,8 @@ public RestTemplate createRestTemplate() {
7979

8080
return new RestTemplate();
8181
}
82+
83+
AuthScope createAuthScope() {
84+
return new AuthScope(proxyConfig.getHost(), proxyConfig.getPort());
8285
}
8386
}

src/test/java/io/securecodebox/persistence/defectdojo/http/FooTest.java

+24-15
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import io.securecodebox.persistence.defectdojo.config.Config;
88
import lombok.NonNull;
9+
import org.apache.http.auth.AuthScope;
910
import org.junit.jupiter.api.Disabled;
1011
import org.junit.jupiter.api.Test;
1112
import org.springframework.http.HttpHeaders;
@@ -19,40 +20,38 @@
1920
*/
2021
class FooTest {
2122
private final Config config = new Config("url", "apikey");
23+
private final ProxyConfig proxyConfig = ProxyConfig.builder()
24+
.user("user")
25+
.password("pw")
26+
.host("host")
27+
.port(42)
28+
.build();
29+
private final Foo sut = new Foo(config, proxyConfig);
2230

2331
@Test
2432
void generateAuthorizationHeaders_withoutProxyAuth() {
25-
final var incompleteProxyConfig = ProxyConfig.NULL;
26-
27-
final var sut = new Foo(config, incompleteProxyConfig);
33+
final var innerSut = new Foo(config, ProxyConfig.NULL);
2834

2935
assertAll(
3036
() -> assertThat(
31-
sut.generateAuthorizationHeaders().get(HttpHeaders.AUTHORIZATION),
37+
innerSut.generateAuthorizationHeaders().get(HttpHeaders.AUTHORIZATION),
3238
contains("Token apikey")),
3339
() -> assertThat(
34-
sut.generateAuthorizationHeaders().get(HttpHeaders.PROXY_AUTHORIZATION),
40+
innerSut.generateAuthorizationHeaders().get(HttpHeaders.PROXY_AUTHORIZATION),
3541
not(contains("Basic dXNlcjpwdw==")))
3642
);
3743
}
3844

3945
@Test
4046
void generateAuthorizationHeaders_withProxyAuth() {
41-
final var completeProxyConfig = ProxyConfig.builder()
42-
.user("user")
43-
.password("pw")
44-
.host("host")
45-
.port(42)
46-
.build();
47-
48-
final var sut = new Foo(config, completeProxyConfig);
47+
final var innerSut = new Foo(config, proxyConfig);
4948

5049
assertAll(
5150
() -> assertThat(
52-
sut.generateAuthorizationHeaders().get(HttpHeaders.AUTHORIZATION),
51+
innerSut.generateAuthorizationHeaders().get(HttpHeaders.AUTHORIZATION),
5352
contains("Token apikey")),
5453
() -> assertThat(
55-
sut.generateAuthorizationHeaders().get(HttpHeaders.PROXY_AUTHORIZATION),
54+
innerSut.generateAuthorizationHeaders().get(HttpHeaders.PROXY_AUTHORIZATION),
5655
contains("Basic dXNlcjpwdw=="))
5756
);
5857
}
@@ -66,4 +65,14 @@ void encodeProxyCredentials() {
6665

6766
assertThat(Foo.encodeProxyCredentials(proxyConfig), is("YsOkcnRyYW06Z29oemU4QWU="));
6867
}
68+
69+
@Test
70+
void createAuthScope() {
71+
final var result = sut.createAuthScope();
72+
73+
assertAll(
74+
() -> assertThat(result.getHost(), is(proxyConfig.getHost())),
75+
() -> assertThat(result.getPort(), is(proxyConfig.getPort()))
76+
);
77+
}
6978
}

0 commit comments

Comments
 (0)