Skip to content

Commit e00225a

Browse files
committed
secureCodeBox#121 Extract Proxy Config As Field to Make it Injectable in Tests
Signed-off-by: Sven Strittmatter <[email protected]>
1 parent 307747c commit e00225a

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/main/java/io/securecodebox/persistence/defectdojo/service/GenericDefectDojoService.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import io.securecodebox.persistence.defectdojo.exception.TooManyResponsesException;
1414
import io.securecodebox.persistence.defectdojo.http.AuthHeaderFactory;
1515
import io.securecodebox.persistence.defectdojo.http.Foo;
16+
import io.securecodebox.persistence.defectdojo.http.ProxyConfig;
1617
import io.securecodebox.persistence.defectdojo.http.ProxyConfigFactory;
1718
import io.securecodebox.persistence.defectdojo.model.Engagement;
1819
import io.securecodebox.persistence.defectdojo.model.Model;
@@ -44,21 +45,33 @@
4445
abstract class GenericDefectDojoService<T extends Model> implements DefectDojoService<T> {
4546
private static final long DEFECT_DOJO_OBJET_LIMIT = 100L;
4647
private final ClientConfig clientConfig;
48+
private final ProxyConfig proxyConfig;
4749

4850
protected ObjectMapper objectMapper;
4951
protected ObjectMapper searchStringMapper;
5052

5153
@Getter // TODO: Remove this getter
5254
private final RestTemplate restTemplate;
5355

56+
/**
57+
* Convenience constructor which initializes {@link #proxyConfig}
58+
*
59+
* @param clientConfig not {@code null}
60+
*/
61+
public GenericDefectDojoService(ClientConfig clientConfig) {
62+
this(clientConfig, new ProxyConfigFactory().create());
63+
}
64+
5465
/**
5566
* Dedicated constructor
5667
*
5768
* @param clientConfig not {@code null}
69+
* @param proxyConfig not {@code null}
5870
*/
59-
public GenericDefectDojoService(@NonNull ClientConfig clientConfig) {
71+
public GenericDefectDojoService(@NonNull ClientConfig clientConfig, @NonNull ProxyConfig proxyConfig) {
6072
super();
6173
this.clientConfig = clientConfig;
74+
this.proxyConfig = proxyConfig;
6275

6376
this.objectMapper = new ObjectMapper();
6477
this.objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
@@ -198,7 +211,7 @@ final URI createBaseUrl() {
198211
*/
199212
private HttpHeaders getDefectDojoAuthorizationHeaders() {
200213
final var factory = new AuthHeaderFactory(clientConfig);
201-
factory.setProxyConfig(new ProxyConfigFactory().create());
214+
factory.setProxyConfig(proxyConfig);
202215
return factory.generateAuthorizationHeaders();
203216
}
204217

0 commit comments

Comments
 (0)