Skip to content

Commit 45f0e6e

Browse files
WeltraumschafManuelNeuer
authored andcommitted
#36 Fix facotry method for service
The method must be static so it is possible to call it like: ``` ImportScanService.createDefault(config); ``` Also removes redundant null check. Signed-off-by: Sven Strittmatter <sven.strittmatter@iteratec.com>
1 parent 9cdd819 commit 45f0e6e

File tree

3 files changed

+46
-3
lines changed

3 files changed

+46
-3
lines changed

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import io.securecodebox.persistence.defectdojo.config.DefectDojoConfig;
1010
import io.securecodebox.persistence.defectdojo.exceptions.DefectDojoPersistenceException;
1111
import io.securecodebox.persistence.defectdojo.models.ScanFile;
12+
import lombok.Getter;
1213
import lombok.NonNull;
1314
import org.apache.http.HttpHost;
1415
import org.apache.http.auth.AuthScope;
@@ -34,9 +35,14 @@
3435
import java.nio.charset.StandardCharsets;
3536
import java.util.List;
3637

37-
final class DefaultImportScanService implements ImportScanService {
38+
/*
39+
* https://defectdojo.security.iteratec.dev/api/v2/oa3/swagger-ui/#operations-tag-import-scan
40+
*/
41+
class DefaultImportScanService implements ImportScanService {
3842
private final SystemPropertyFinder properties = new SystemPropertyFinder();
43+
@Getter
3944
private final String defectDojoUrl;
45+
@Getter
4046
private final String defectDojoApiKey;
4147

4248
/**

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.securecodebox.persistence.defectdojo.models.ScanFile;
1212
import lombok.Data;
1313
import lombok.Getter;
14-
import lombok.NonNull;
1514
import org.springframework.util.LinkedMultiValueMap;
1615
import org.springframework.util.MultiValueMap;
1716

@@ -25,7 +24,7 @@ public interface ImportScanService {
2524
* @param config must not be {@code null}
2625
* @return never {@code null}
2726
*/
28-
default ImportScanService createDefault(@NonNull DefectDojoConfig config) {
27+
static ImportScanService createDefault(final DefectDojoConfig config) {
2928
return new DefaultImportScanService(config);
3029
}
3130

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package io.securecodebox.persistence.defectdojo.service;
2+
3+
import io.securecodebox.persistence.defectdojo.config.DefectDojoConfig;
4+
import org.junit.jupiter.api.Test;
5+
6+
import static org.junit.jupiter.api.Assertions.*;
7+
import static org.hamcrest.MatcherAssert.assertThat;
8+
import static org.hamcrest.Matchers.*;
9+
10+
/**
11+
* Tests for {@link ImportScanService}.
12+
*/
13+
class ImportScanServiceTest {
14+
15+
@Test
16+
void createDefault_throwsExceptionIfNullPassedIn() {
17+
assertThrows(NullPointerException.class, () -> {
18+
ImportScanService.createDefault(null);
19+
});
20+
}
21+
22+
@Test
23+
void createDefault_passesConfig() {
24+
final var config = new DefectDojoConfig(
25+
"url",
26+
"apiKey",
27+
"username",
28+
23,
29+
42L
30+
);
31+
32+
final var sut = (DefaultImportScanService) ImportScanService.createDefault(config);
33+
34+
assertAll(
35+
() -> assertThat(sut.getDefectDojoUrl(), is(config.getUrl())),
36+
() -> assertThat(sut.getDefectDojoApiKey(), is(config.getApiKey())));
37+
}
38+
}

0 commit comments

Comments
 (0)