Skip to content

Commit fa9f1b5

Browse files
Refactoring package name and adding test for oss and mcp flag
1 parent 1ac5286 commit fa9f1b5

File tree

13 files changed

+226
-45
lines changed

13 files changed

+226
-45
lines changed

src/main/java/com/checkmarx/ast/containersRealtime/ContainersRealtimeImage.java renamed to src/main/java/com/checkmarx/ast/containersrealtime/ContainersRealtimeImage.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.checkmarx.ast.containersRealtime;
1+
package com.checkmarx.ast.containersrealtime;
22

33
import com.checkmarx.ast.realtime.RealtimeLocation;
44
import com.fasterxml.jackson.annotation.JsonCreator;
@@ -37,4 +37,4 @@ public ContainersRealtimeImage(@JsonProperty("ImageName") String imageName,
3737
this.status = status;
3838
this.vulnerabilities = vulnerabilities == null ? Collections.emptyList() : vulnerabilities;
3939
}
40-
}
40+
}

src/main/java/com/checkmarx/ast/containersRealtime/ContainersRealtimeResults.java renamed to src/main/java/com/checkmarx/ast/containersrealtime/ContainersRealtimeResults.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.checkmarx.ast.containersRealtime;
1+
package com.checkmarx.ast.containersrealtime;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
44
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -51,4 +51,3 @@ private static boolean isValidJSON(String json) {
5151
}
5252
}
5353
}
54-

src/main/java/com/checkmarx/ast/containersRealtime/ContainersRealtimeVulnerability.java renamed to src/main/java/com/checkmarx/ast/containersrealtime/ContainersRealtimeVulnerability.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.checkmarx.ast.containersRealtime;
1+
package com.checkmarx.ast.containersrealtime;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
44
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -21,4 +21,4 @@ public ContainersRealtimeVulnerability(@JsonProperty("CVE") String cve,
2121
this.cve = cve;
2222
this.severity = severity;
2323
}
24-
}
24+
}

src/main/java/com/checkmarx/ast/iacRealtime/IacRealtimeResults.java renamed to src/main/java/com/checkmarx/ast/iacrealtime/IacRealtimeResults.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.checkmarx.ast.iacRealtime;
1+
package com.checkmarx.ast.iacrealtime;
22

33
import com.checkmarx.ast.realtime.RealtimeLocation;
44
import com.fasterxml.jackson.annotation.JsonCreator;
@@ -95,4 +95,4 @@ private static boolean isValidJSON(String json) {
9595
return false;
9696
}
9797
}
98-
}
98+
}

src/main/java/com/checkmarx/ast/ossRealtime/OssRealtimeResults.java renamed to src/main/java/com/checkmarx/ast/ossrealtime/OssRealtimeResults.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.checkmarx.ast.ossRealtime;
1+
package com.checkmarx.ast.ossrealtime;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
44
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -12,6 +12,7 @@
1212
import org.slf4j.LoggerFactory;
1313

1414
import java.io.IOException;
15+
import java.util.Collections;
1516
import java.util.List;
1617

1718
@Value
@@ -20,12 +21,12 @@
2021
@JsonIgnoreProperties(ignoreUnknown = true)
2122
public class OssRealtimeResults {
2223
private static final Logger log = LoggerFactory.getLogger(OssRealtimeResults.class);
23-
@JsonProperty("Packages")
24-
List<OssRealtimeScanPackage> packages;
24+
25+
@JsonProperty("Packages") List<OssRealtimeScanPackage> packages;
2526

2627
@JsonCreator
2728
public OssRealtimeResults(@JsonProperty("Packages") List<OssRealtimeScanPackage> packages) {
28-
this.packages = packages;
29+
this.packages = packages == null ? Collections.emptyList() : packages;
2930
}
3031

3132
public static OssRealtimeResults fromLine(String line) {
@@ -51,3 +52,4 @@ private static boolean isValidJSON(String json) {
5152
}
5253
}
5354
}
55+

src/main/java/com/checkmarx/ast/ossRealtime/OssRealtimeScanPackage.java renamed to src/main/java/com/checkmarx/ast/ossrealtime/OssRealtimeScanPackage.java

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.checkmarx.ast.ossRealtime;
1+
package com.checkmarx.ast.ossrealtime;
22

33
import com.checkmarx.ast.realtime.RealtimeLocation;
44
import com.fasterxml.jackson.annotation.JsonCreator;
@@ -16,20 +16,13 @@
1616
@JsonInclude(JsonInclude.Include.NON_NULL)
1717
@JsonIgnoreProperties(ignoreUnknown = true)
1818
public class OssRealtimeScanPackage {
19-
@JsonProperty("PackageManager")
20-
String packageManager;
21-
@JsonProperty("PackageName")
22-
String packageName;
23-
@JsonProperty("PackageVersion")
24-
String packageVersion;
25-
@JsonProperty("FilePath")
26-
String filePath;
27-
@JsonProperty("Locations")
28-
List<RealtimeLocation> locations;
29-
@JsonProperty("Status")
30-
String status;
31-
@JsonProperty("Vulnerabilities")
32-
List<OssRealtimeVulnerability> vulnerabilities;
19+
@JsonProperty("PackageManager") String packageManager;
20+
@JsonProperty("PackageName") String packageName;
21+
@JsonProperty("PackageVersion") String packageVersion;
22+
@JsonProperty("FilePath") String filePath;
23+
@JsonProperty("Locations") List<RealtimeLocation> locations;
24+
@JsonProperty("Status") String status;
25+
@JsonProperty("Vulnerabilities") List<OssRealtimeVulnerability> vulnerabilities;
3326

3427
@JsonCreator
3528
public OssRealtimeScanPackage(@JsonProperty("PackageManager") String packageManager,
@@ -48,3 +41,4 @@ public OssRealtimeScanPackage(@JsonProperty("PackageManager") String packageMana
4841
this.vulnerabilities = vulnerabilities == null ? Collections.emptyList() : vulnerabilities;
4942
}
5043
}
44+

src/main/java/com/checkmarx/ast/ossRealtime/OssRealtimeVulnerability.java renamed to src/main/java/com/checkmarx/ast/ossrealtime/OssRealtimeVulnerability.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.checkmarx.ast.ossRealtime;
1+
package com.checkmarx.ast.ossrealtime;
22

33
import com.fasterxml.jackson.annotation.JsonCreator;
44
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -11,7 +11,6 @@
1111
@JsonDeserialize
1212
@JsonInclude(JsonInclude.Include.NON_NULL)
1313
@JsonIgnoreProperties(ignoreUnknown = true)
14-
1514
public class OssRealtimeVulnerability {
1615
@JsonProperty("Id") String id;
1716
@JsonProperty("Severity") String severity;
@@ -29,3 +28,4 @@ public OssRealtimeVulnerability(@JsonProperty("Id") String id,
2928
this.fixVersion = fixVersion;
3029
}
3130
}
31+

src/main/java/com/checkmarx/ast/secretsRealtime/SecretsRealtimeResults.java renamed to src/main/java/com/checkmarx/ast/secretsrealtime/SecretsRealtimeResults.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.checkmarx.ast.secretsRealtime;
1+
package com.checkmarx.ast.secretsrealtime;
22

33
import com.checkmarx.ast.realtime.RealtimeLocation;
44
import com.fasterxml.jackson.annotation.JsonCreator;
@@ -23,8 +23,7 @@
2323
public class SecretsRealtimeResults {
2424
private static final Logger log = LoggerFactory.getLogger(SecretsRealtimeResults.class);
2525

26-
@JsonProperty("Secrets")
27-
List<Secret> secrets; // Normalized list (array or single object from CLI)
26+
@JsonProperty("Secrets") List<Secret> secrets;
2827

2928
@JsonCreator
3029
public SecretsRealtimeResults(@JsonProperty("Secrets") List<Secret> secrets) {
@@ -61,20 +60,19 @@ public Secret(@JsonProperty("Title") String title,
6160

6261
public static SecretsRealtimeResults fromLine(String line) {
6362
if (StringUtils.isBlank(line)) {
64-
return null; // skip blank
63+
return null;
6564
}
6665
try {
6766
if (!isValidJSON(line)) {
6867
return null;
6968
}
7069
ObjectMapper mapper = new ObjectMapper();
7170
String trimmed = line.trim();
72-
if (trimmed.startsWith("[")) { // array form
73-
List<Secret> list = mapper.readValue(trimmed,
74-
mapper.getTypeFactory().constructCollectionType(List.class, Secret.class));
71+
if (trimmed.startsWith("[")) {
72+
List<Secret> list = mapper.readValue(trimmed, mapper.getTypeFactory().constructCollectionType(List.class, Secret.class));
7573
return new SecretsRealtimeResults(list);
7674
}
77-
if (trimmed.startsWith("{")) { // single object form
75+
if (trimmed.startsWith("{")) {
7876
Secret single = mapper.readValue(trimmed, Secret.class);
7977
return new SecretsRealtimeResults(Collections.singletonList(single));
8078
}
@@ -93,3 +91,4 @@ private static boolean isValidJSON(String json) {
9391
}
9492
}
9593
}
94+

src/main/java/com/checkmarx/ast/wrapper/CxWrapper.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import com.checkmarx.ast.codebashing.CodeBashing;
55
import com.checkmarx.ast.kicsRealtimeResults.KicsRealtimeResults;
66
import com.checkmarx.ast.learnMore.LearnMore;
7-
import com.checkmarx.ast.ossRealtime.OssRealtimeResults;
8-
import com.checkmarx.ast.secretsRealtime.SecretsRealtimeResults;
9-
import com.checkmarx.ast.iacRealtime.IacRealtimeResults;
10-
import com.checkmarx.ast.containersRealtime.ContainersRealtimeResults;
7+
import com.checkmarx.ast.ossrealtime.OssRealtimeResults;
8+
import com.checkmarx.ast.secretsrealtime.SecretsRealtimeResults;
9+
import com.checkmarx.ast.iacrealtime.IacRealtimeResults;
10+
import com.checkmarx.ast.containersrealtime.ContainersRealtimeResults;
1111
import com.checkmarx.ast.predicate.CustomState;
1212
import com.checkmarx.ast.predicate.Predicate;
1313
import com.checkmarx.ast.project.Project;
@@ -399,7 +399,7 @@ public KicsRealtimeResults kicsRealtimeScan(@NonNull String fileSources, String
399399
arguments.add(fileSources);
400400
arguments.add(CxConstants.ADDITONAL_PARAMS);
401401
arguments.add(additionalParams);
402-
if (engine.length() > 0) {
402+
if (!engine.isEmpty()) {
403403
arguments.add(CxConstants.ENGINE);
404404
arguments.add(engine);
405405
}
@@ -461,11 +461,11 @@ public KicsRemediation kicsRemediate(@NonNull String resultsFile, String kicsFil
461461
arguments.add(resultsFile);
462462
arguments.add(CxConstants.KICS_REMEDIATION_KICS_FILE);
463463
arguments.add(kicsFile);
464-
if (engine.length() > 0) {
464+
if (!engine.isEmpty()) {
465465
arguments.add(CxConstants.ENGINE);
466466
arguments.add(engine);
467467
}
468-
if (similarityIds.length() > 0) {
468+
if (!similarityIds.isEmpty()) {
469469
arguments.add(CxConstants.KICS_REMEDIATION_SIMILARITY);
470470
arguments.add(similarityIds);
471471
}

src/test/java/com/checkmarx/ast/ScanTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import com.checkmarx.ast.asca.ScanDetail;
44
import com.checkmarx.ast.asca.ScanResult;
55
import com.checkmarx.ast.kicsRealtimeResults.KicsRealtimeResults;
6+
import com.checkmarx.ast.ossrealtime.OssRealtimeResults;
67
import com.checkmarx.ast.scan.Scan;
8+
import org.junit.jupiter.api.Assumptions;
79
import org.junit.jupiter.api.Assertions;
810
import org.junit.jupiter.api.Test;
911

@@ -92,4 +94,17 @@ void testKicsRealtimeScan() throws Exception {
9294
Assertions.assertTrue(scan.getResults().size() >= 1);
9395
}
9496

97+
@Test
98+
void testOssRealtimeScanWithIgnoredFile() throws Exception {
99+
Assumptions.assumeTrue(getConfig().getPathToExecutable() != null && !getConfig().getPathToExecutable().isEmpty(), "PATH_TO_EXECUTABLE not set");
100+
101+
String source = "pom.xml";
102+
String ignoreFile = "src/test/resources/ignored-packages.json";
103+
104+
OssRealtimeResults results = wrapper.ossRealtimeScan(source, ignoreFile);
105+
106+
Assertions.assertNotNull(results);
107+
Assertions.assertNotNull(results.getPackages());
108+
}
109+
95110
}

0 commit comments

Comments
 (0)