diff --git a/src/main/java/com/checkmarx/ast/wrapper/CxWrapper.java b/src/main/java/com/checkmarx/ast/wrapper/CxWrapper.java index 3d1526bc..875f694e 100644 --- a/src/main/java/com/checkmarx/ast/wrapper/CxWrapper.java +++ b/src/main/java/com/checkmarx/ast/wrapper/CxWrapper.java @@ -125,6 +125,15 @@ private List buildScanCreateArgumentsArray(@NonNull Map return arguments; } + public void scanCancel(String scanId) + throws IOException, InterruptedException, CxException { + this.logger.info("Executing 'scan cancel' command using the CLI."); + + List arguments = buildScanCancelArguments(UUID.fromString(scanId)); + + Execution.executeCommand(arguments, logger, line -> null); + } + public List buildScanCancelArguments(@NonNull UUID scanId) { List arguments = new ArrayList<>(); arguments.add(CxConstants.CMD_SCAN); diff --git a/src/test/java/com/checkmarx/ast/ScanTest.java b/src/test/java/com/checkmarx/ast/ScanTest.java index 292c67aa..a1813f47 100644 --- a/src/test/java/com/checkmarx/ast/ScanTest.java +++ b/src/test/java/com/checkmarx/ast/ScanTest.java @@ -32,6 +32,13 @@ void testScanCreate() throws Exception { Assertions.assertEquals("Completed", wrapper.scanShow(UUID.fromString(scan.getId())).getStatus()); } + @Test + void testScanCancel() throws Exception { + Map params = commonParams(); + Scan scan = wrapper.scanCreate(params, "--async --sast-incremental"); + Assertions.assertDoesNotThrow(() -> wrapper.scanCancel(scan.getId())); + } + @Test void testKicsRealtimeScan() throws Exception { KicsRealtimeResults scan = wrapper.kicsRealtimeScan("target/test-classes/Dockerfile","","v");