From d80713be6ee7db6dd78c3063335324197b6d306e Mon Sep 17 00:00:00 2001 From: kerenr-jfrog Date: Sun, 24 Aug 2025 18:09:28 +0300 Subject: [PATCH 1/5] improve audit command execution - added AuditConfig class and added initial tests --- .../ide/common/configuration/AuditConfig.java | 64 +++++++++++++++++++ .../common/configuration/JfrogCliDriver.java | 28 ++++++-- .../configuration/JfrogCliDriverTest.java | 15 ++++- 3 files changed, 100 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java diff --git a/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java b/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java new file mode 100644 index 00000000..f57141b4 --- /dev/null +++ b/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java @@ -0,0 +1,64 @@ +package com.jfrog.ide.common.configuration; + +import java.util.List; +import java.util.Map; + +public class AuditConfig { + private final List scannedDirectories; + private final String serverId; + private final String excludedPattern; + private final List extraArgs; + private final Map envVars; + + private AuditConfig(Builder builder) { + this.scannedDirectories = builder.scannedDirectories; + this.serverId = builder.serverId; + this.excludedPattern = builder.excludedPattern; + this.extraArgs = builder.extraArgs; + this.envVars = builder.envVars; + } + + public static class Builder { + private List scannedDirectories; + private String serverId; + private String excludedPattern; + private List extraArgs; + private Map envVars; + + public Builder serverId(String serverId) { + this.serverId = serverId; + return this; + } + + public Builder scannedDirectories(List scannedDirectories) { + this.scannedDirectories = scannedDirectories; + return this; + } + + public Builder excludedPattern(String excludedPattern) { + this.excludedPattern = excludedPattern; + return this; + } + + public Builder extraArgs(List extraArgs) { + this.extraArgs = extraArgs; + return this; + } + + public Builder envVars(Map envVars) { + this.envVars = envVars; + return this; + } + + public AuditConfig build() { + return new AuditConfig(this); + } + } + + // Getters + public List getScannedDirectories() { return scannedDirectories; } + public String getServerId() { return serverId; } + public String getExcludedPattern() { return excludedPattern; } + public List getExtraArgs() { return extraArgs; } + public Map getEnvVars() { return envVars; } +} diff --git a/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java b/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java index 5b215b2d..15aaf1f4 100644 --- a/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java +++ b/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java @@ -183,16 +183,36 @@ public CommandResults addCliServerConfig(String xrayUrl, String artifactoryUrl, } public CommandResults runCliAudit(File workingDirectory, List scannedDirectories, String serverId, List extraArgs, Map envVars) throws Exception { + AuditConfig config = new AuditConfig.Builder() + .scannedDirectories(scannedDirectories) + .serverId(serverId) + .extraArgs(extraArgs) + .envVars(envVars) + .build(); + return runCliAudit(workingDirectory, config); + } + + public CommandResults runCliAudit(File workingDirectory, AuditConfig config) throws Exception { List args = new ArrayList<>(); args.add("audit"); - if (scannedDirectories != null && !scannedDirectories.isEmpty()) { - String workingDirsString = scannedDirectories.size() > 1 ? String.join(", ", scannedDirectories) : scannedDirectories.get(0); + + if (config.getScannedDirectories() != null && !config.getScannedDirectories().isEmpty()) { + String workingDirsString = config.getScannedDirectories().size() > 1 ? + String.join(", ", config.getScannedDirectories()) : + config.getScannedDirectories().get(0); args.add("--working-dirs=" + workingDirsString); } - args.add("--server-id=" + serverId); + + args.add("--server-id=" + config.getServerId()); args.add("--format=sarif"); + + if (StringUtils.isNotBlank(config.getExcludedPattern())) { + args.add("--exclusions=" + config.getExcludedPattern()); + } + try { - return runCommand(workingDirectory, envVars, args.toArray(new String[0]), extraArgs != null ? extraArgs : Collections.emptyList(), null, log); + return runCommand(workingDirectory, config.getEnvVars(), args.toArray(new String[0]), + config.getExtraArgs() != null ? config.getExtraArgs() : Collections.emptyList(), null, log); } catch (IOException | InterruptedException e) { throw new Exception("Failed to run JF audit. Reason: " + e.getMessage(), e); } diff --git a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java index d320103d..3ceb0b81 100644 --- a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java +++ b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java @@ -1,5 +1,7 @@ package com.jfrog.ide.common.configuration; +import com.jfrog.ide.common.nodes.FileTreeNode; +import com.jfrog.ide.common.parse.SarifParser; import org.apache.commons.lang3.SystemUtils; import org.jfrog.build.api.util.NullLog; import org.jfrog.build.extractor.executor.CommandResults; @@ -40,6 +42,7 @@ public class JfrogCliDriverTest { private final String XRAY_URL = SERVER_URL + "xray/"; private String testServerId; private File tempDir; + private final SarifParser parser = new SarifParser(new NullLog()); @SuppressWarnings("unused") @Test() @@ -200,8 +203,11 @@ public void testRunAudit_NpmProject() { Path exampleProjectsFolder = Path.of("src/test/resources/example-projects/npm"); CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), singletonList(projectToCheck), testServerId, null, testEnv); - //TODO: check real values after the sarif parser is added assertEquals(response.getExitValue(),0); + List findings = parser.parse(response.getRes()); + assertNotNull(findings); + assertFalse(findings.isEmpty(), "Expected findings in SARIF output for npm project"); + // TODO: Add more checks on the findings } catch (Exception e) { fail(e.getMessage(), e); } @@ -214,8 +220,11 @@ public void testRunAudit_MultiMavenProject() { Path exampleProjectsFolder = Path.of("src/test/resources/example-projects/maven-example"); CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), projectsToCheck, testServerId, null, testEnv); - //TODO: check real values after the sarif parser is added assertEquals(response.getExitValue(), 0); + List findings = parser.parse(response.getRes()); + assertNotNull(findings); + assertFalse(findings.isEmpty(), "Expected findings in SARIF output for multi-maven project"); + // TODO: Add more checks on the findings } catch (Exception e) { fail(e.getMessage(), e); } @@ -236,4 +245,4 @@ public void cleanUp(Method method) { fail(e.getMessage(), e); } } -} \ No newline at end of file +} From d78502cb456b1809f86044b6f92bfd6f65a056da Mon Sep 17 00:00:00 2001 From: kerenr-jfrog Date: Mon, 25 Aug 2025 16:17:14 +0300 Subject: [PATCH 2/5] added method to adjust quotes in cli command and added test case for exclusions --- .../ide/common/configuration/AuditConfig.java | 16 +++--- .../common/configuration/JfrogCliDriver.java | 13 ++++- .../configuration/JfrogCliDriverTest.java | 55 +++++++++++++++++-- 3 files changed, 67 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java b/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java index f57141b4..6886c788 100644 --- a/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java +++ b/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java @@ -1,12 +1,16 @@ package com.jfrog.ide.common.configuration; +import lombok.Getter; + import java.util.List; import java.util.Map; +@Getter public class AuditConfig { + // Getters private final List scannedDirectories; private final String serverId; - private final String excludedPattern; + private final List excludedPattern; private final List extraArgs; private final Map envVars; @@ -21,7 +25,7 @@ private AuditConfig(Builder builder) { public static class Builder { private List scannedDirectories; private String serverId; - private String excludedPattern; + private List excludedPattern; private List extraArgs; private Map envVars; @@ -35,7 +39,7 @@ public Builder scannedDirectories(List scannedDirectories) { return this; } - public Builder excludedPattern(String excludedPattern) { + public Builder excludedPattern(List excludedPattern) { this.excludedPattern = excludedPattern; return this; } @@ -55,10 +59,4 @@ public AuditConfig build() { } } - // Getters - public List getScannedDirectories() { return scannedDirectories; } - public String getServerId() { return serverId; } - public String getExcludedPattern() { return excludedPattern; } - public List getExtraArgs() { return extraArgs; } - public Map getEnvVars() { return envVars; } } diff --git a/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java b/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java index 15aaf1f4..790344d0 100644 --- a/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java +++ b/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java @@ -200,15 +200,17 @@ public CommandResults runCliAudit(File workingDirectory, AuditConfig config) thr String workingDirsString = config.getScannedDirectories().size() > 1 ? String.join(", ", config.getScannedDirectories()) : config.getScannedDirectories().get(0); - args.add("--working-dirs=" + workingDirsString); + args.add("--working-dirs=" + quoteArgumentForUnix(workingDirsString)); } args.add("--server-id=" + config.getServerId()); args.add("--format=sarif"); - if (StringUtils.isNotBlank(config.getExcludedPattern())) { - args.add("--exclusions=" + config.getExcludedPattern()); + if (config.getExcludedPattern() != null && !config.getExcludedPattern().isEmpty()) { + String excludedPatterns = String.join(",", config.getExcludedPattern()); + args.add("--exclusions=" + quoteArgumentForUnix(excludedPatterns)); } + System.out.println("Running JF audit with args: " + args); try { return runCommand(workingDirectory, config.getEnvVars(), args.toArray(new String[0]), @@ -238,4 +240,9 @@ private void addDefaultEnvVars(Map env) { env.put("JFROG_CLI_AVOID_NEW_VERSION_WARNING", "true"); } } + + private String quoteArgumentForUnix(String commaSeparatedValues) { + // macOS/Linux: add quotes around the comma-separated values + return SystemUtils.IS_OS_WINDOWS ? commaSeparatedValues : "\"" + commaSeparatedValues + "\""; + } } diff --git a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java index 3ceb0b81..1ca21ea5 100644 --- a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java +++ b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java @@ -1,6 +1,9 @@ package com.jfrog.ide.common.configuration; +import com.jfrog.ide.common.nodes.FileIssueNode; import com.jfrog.ide.common.nodes.FileTreeNode; +import com.jfrog.ide.common.nodes.subentities.Severity; +import com.jfrog.ide.common.nodes.subentities.SourceCodeScanType; import com.jfrog.ide.common.parse.SarifParser; import org.apache.commons.lang3.SystemUtils; import org.jfrog.build.api.util.NullLog; @@ -85,6 +88,8 @@ private void configJfrogCli(Boolean skipDownload) { fail(e.getMessage(), e); } testEnv.put("JFROG_CLI_HOME_DIR", tempDir.getAbsolutePath()); + testEnv.put("JFROG_CLI_LOG_LEVEL", "DEBUG"); + testEnv.put("CI", "true"); jfrogCliDriver = new JfrogCliDriver(testEnv, tempDir.getAbsolutePath() + File.separator, new NullLog()); } @@ -155,7 +160,6 @@ public void testAddCliServerConfig_withUsernameAndPassword() { CommandResults response = jfrogCliDriver.addCliServerConfig(XRAY_URL, ARTIFACTORY_URL, testServerId, USER_NAME, PASSWORD, null, tempDir, testEnv); JfrogCliServerConfig serverConfig = jfrogCliDriver.getServerConfig(tempDir, Collections.emptyList(), testEnv); assertTrue(response.isOk()); - assertTrue(response.getErr().isBlank()); assertNotNull(serverConfig); assertEquals(serverConfig.getUsername(), USER_NAME); assertEquals(serverConfig.getPassword(), PASSWORD); @@ -172,7 +176,6 @@ public void testAddCliServerConfig_withAccessToken() { CommandResults response = jfrogCliDriver.addCliServerConfig(XRAY_URL, ARTIFACTORY_URL, testServerId, null, null, ACCESS_TOKEN, tempDir, testEnv); JfrogCliServerConfig serverConfig = jfrogCliDriver.getServerConfig(tempDir, Collections.emptyList(), testEnv); assertTrue(response.isOk()); - assertTrue(response.getErr().isBlank()); assertNotNull(serverConfig); assertEquals(serverConfig.getAccessToken(), ACCESS_TOKEN); assertEquals(serverConfig.getArtifactoryUrl(), ARTIFACTORY_URL); @@ -200,14 +203,20 @@ public void testAddServerConfig_withBadCredentials() { public void testRunAudit_NpmProject() { String projectToCheck = "npm"; try { - Path exampleProjectsFolder = Path.of("src/test/resources/example-projects/npm"); + Path exampleProjectsFolder = Path.of("src/test/resources/example-projects"); CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), singletonList(projectToCheck), testServerId, null, testEnv); assertEquals(response.getExitValue(),0); List findings = parser.parse(response.getRes()); assertNotNull(findings); assertFalse(findings.isEmpty(), "Expected findings in SARIF output for npm project"); - // TODO: Add more checks on the findings + // Verify the findings + assertEquals(findings.size(), 1, "Expected exactly one file with findings"); + FileTreeNode node = findings.get(0); + assertEquals(node.getChildren().size(), 1, "Expected exactly one vulnerabilities"); + FileIssueNode issue = (FileIssueNode) node.getChildren().get(0); + assertEquals(issue.getSeverity(), Severity.High, "Expected severity to be HIGH"); + assertEquals(issue.getReporterType(), SourceCodeScanType.SCA, "Expected reporter type to be SCA"); } catch (Exception e) { fail(e.getMessage(), e); } @@ -221,10 +230,18 @@ public void testRunAudit_MultiMavenProject() { CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), projectsToCheck, testServerId, null, testEnv); assertEquals(response.getExitValue(), 0); + System.out.println("Audit debug logs: \n" + response.getErr()); + System.out.println("Audit response: \n" + response.getRes()); List findings = parser.parse(response.getRes()); assertNotNull(findings); assertFalse(findings.isEmpty(), "Expected findings in SARIF output for multi-maven project"); - // TODO: Add more checks on the findings + // Verifiy the findings + assertEquals(findings.size(), 1, "Expected exactly one file with findings"); + FileTreeNode node = findings.get(0); + assertEquals(node.getChildren().size(), 3, "Expected exactly three vulnerabilities"); + assertEquals(node.getSeverity(), Severity.High, "Expected severity to be HIGH"); + FileIssueNode issue = (FileIssueNode) node.getChildren().get(0); + assertEquals(issue.getReporterType(), SourceCodeScanType.SCA, "Expected reporter type to be SCA"); } catch (Exception e) { fail(e.getMessage(), e); } @@ -234,6 +251,34 @@ private String createServerId() { return "ide-plugins-common-test-server-" + timeStampFormat.format(System.currentTimeMillis()); } + @Test + public void testRunAudit_WithExcludedPattern() { + try { + Path exampleProjectsFolder = Path.of("src/test/resources/example-projects/maven-example"); + AuditConfig config = new AuditConfig.Builder() + .serverId(testServerId) + .excludedPattern(new ArrayList<>(List.of("*multi3*"))) + .serverId(testServerId) + .extraArgs(null) + .envVars(testEnv) + .build(); + CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), config); + assertEquals(response.getExitValue(), 0); + List findings = parser.parse(response.getRes()); + assertNotNull(findings); + assertFalse(findings.isEmpty(), "Expected findings in SARIF output for multi-maven project"); + // Verifiy the findings + assertEquals(findings.size(), 1, "Expected exactly one file with findings"); + FileTreeNode node = findings.get(0); + assertEquals(node.getChildren().size(), 3, "Expected exactly three vulnerabilities"); + assertEquals(node.getSeverity(), Severity.High, "Expected severity to be HIGH"); + FileIssueNode issue = (FileIssueNode) node.getChildren().get(0); + assertEquals(issue.getReporterType(), SourceCodeScanType.SCA, "Expected reporter type to be SCA"); + } catch (Exception e) { + fail(e.getMessage(), e); + } + } + @AfterMethod public void cleanUp(Method method) { try { From 0f4dd8cd71215263a77b007387dd6be590a5f95e Mon Sep 17 00:00:00 2001 From: kerenr-jfrog Date: Mon, 1 Sep 2025 10:50:49 +0300 Subject: [PATCH 3/5] removed debug prints and added logger to clidriver tests --- .../ide/common/configuration/JfrogCliDriver.java | 1 - .../common/configuration/JfrogCliDriverTest.java | 15 +++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java b/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java index 790344d0..b09313f4 100644 --- a/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java +++ b/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java @@ -210,7 +210,6 @@ public CommandResults runCliAudit(File workingDirectory, AuditConfig config) thr String excludedPatterns = String.join(",", config.getExcludedPattern()); args.add("--exclusions=" + quoteArgumentForUnix(excludedPatterns)); } - System.out.println("Running JF audit with args: " + args); try { return runCommand(workingDirectory, config.getEnvVars(), args.toArray(new String[0]), diff --git a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java index 1ca21ea5..d2773758 100644 --- a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java +++ b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java @@ -8,6 +8,8 @@ import org.apache.commons.lang3.SystemUtils; import org.jfrog.build.api.util.NullLog; import org.jfrog.build.extractor.executor.CommandResults; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -46,6 +48,7 @@ public class JfrogCliDriverTest { private String testServerId; private File tempDir; private final SarifParser parser = new SarifParser(new NullLog()); + private final Logger logger = LoggerFactory.getLogger(JfrogCliDriverTest.class); @SuppressWarnings("unused") @Test() @@ -207,6 +210,8 @@ public void testRunAudit_NpmProject() { CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), singletonList(projectToCheck), testServerId, null, testEnv); assertEquals(response.getExitValue(),0); + logger.info("Audit debug logs: \n" + response.getErr()); + logger.info("Audit response: \n" + response.getRes()); List findings = parser.parse(response.getRes()); assertNotNull(findings); assertFalse(findings.isEmpty(), "Expected findings in SARIF output for npm project"); @@ -230,12 +235,12 @@ public void testRunAudit_MultiMavenProject() { CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), projectsToCheck, testServerId, null, testEnv); assertEquals(response.getExitValue(), 0); - System.out.println("Audit debug logs: \n" + response.getErr()); - System.out.println("Audit response: \n" + response.getRes()); + logger.info("Audit debug logs: \n" + response.getErr()); + logger.info("Audit response: \n" + response.getRes()); List findings = parser.parse(response.getRes()); assertNotNull(findings); assertFalse(findings.isEmpty(), "Expected findings in SARIF output for multi-maven project"); - // Verifiy the findings + // Verify the findings assertEquals(findings.size(), 1, "Expected exactly one file with findings"); FileTreeNode node = findings.get(0); assertEquals(node.getChildren().size(), 3, "Expected exactly three vulnerabilities"); @@ -264,10 +269,12 @@ public void testRunAudit_WithExcludedPattern() { .build(); CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), config); assertEquals(response.getExitValue(), 0); + logger.info("Audit debug logs: \n" + response.getErr()); + logger.info("Audit response: \n" + response.getRes()); List findings = parser.parse(response.getRes()); assertNotNull(findings); assertFalse(findings.isEmpty(), "Expected findings in SARIF output for multi-maven project"); - // Verifiy the findings + // Verify the findings assertEquals(findings.size(), 1, "Expected exactly one file with findings"); FileTreeNode node = findings.get(0); assertEquals(node.getChildren().size(), 3, "Expected exactly three vulnerabilities"); From 2646eab51419b1f37115d5801bf1f45b3121f5f6 Mon Sep 17 00:00:00 2001 From: kerenr-jfrog Date: Mon, 1 Sep 2025 11:25:16 +0300 Subject: [PATCH 4/5] minor fix in npm test --- .../jfrog/ide/common/configuration/JfrogCliDriverTest.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java index d2773758..5732d43e 100644 --- a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java +++ b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java @@ -26,7 +26,6 @@ import java.text.SimpleDateFormat; import java.util.*; -import static java.util.Collections.singletonList; import static org.testng.Assert.*; /** @@ -204,11 +203,10 @@ public void testAddServerConfig_withBadCredentials() { @Test public void testRunAudit_NpmProject() { - String projectToCheck = "npm"; try { - Path exampleProjectsFolder = Path.of("src/test/resources/example-projects"); + Path exampleProjectsFolder = Path.of("src/test/resources/example-projects/npm"); CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), - singletonList(projectToCheck), testServerId, null, testEnv); + null, testServerId, null, testEnv); assertEquals(response.getExitValue(),0); logger.info("Audit debug logs: \n" + response.getErr()); logger.info("Audit response: \n" + response.getRes()); From 2a3e32a13e2ce3d3158d13bdea668ab57a969ca5 Mon Sep 17 00:00:00 2001 From: kerenr-jfrog Date: Mon, 1 Sep 2025 14:35:53 +0300 Subject: [PATCH 5/5] fix CR comment - removed extraArgs param from runCliAudit and AuditConfig --- .../com/jfrog/ide/common/configuration/AuditConfig.java | 8 -------- .../jfrog/ide/common/configuration/JfrogCliDriver.java | 6 ++---- .../ide/common/configuration/JfrogCliDriverTest.java | 5 ++--- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java b/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java index 6886c788..a930b2ca 100644 --- a/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java +++ b/src/main/java/com/jfrog/ide/common/configuration/AuditConfig.java @@ -11,14 +11,12 @@ public class AuditConfig { private final List scannedDirectories; private final String serverId; private final List excludedPattern; - private final List extraArgs; private final Map envVars; private AuditConfig(Builder builder) { this.scannedDirectories = builder.scannedDirectories; this.serverId = builder.serverId; this.excludedPattern = builder.excludedPattern; - this.extraArgs = builder.extraArgs; this.envVars = builder.envVars; } @@ -26,7 +24,6 @@ public static class Builder { private List scannedDirectories; private String serverId; private List excludedPattern; - private List extraArgs; private Map envVars; public Builder serverId(String serverId) { @@ -44,11 +41,6 @@ public Builder excludedPattern(List excludedPattern) { return this; } - public Builder extraArgs(List extraArgs) { - this.extraArgs = extraArgs; - return this; - } - public Builder envVars(Map envVars) { this.envVars = envVars; return this; diff --git a/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java b/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java index b09313f4..ab19ab3e 100644 --- a/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java +++ b/src/main/java/com/jfrog/ide/common/configuration/JfrogCliDriver.java @@ -182,11 +182,10 @@ public CommandResults addCliServerConfig(String xrayUrl, String artifactoryUrl, } } - public CommandResults runCliAudit(File workingDirectory, List scannedDirectories, String serverId, List extraArgs, Map envVars) throws Exception { + public CommandResults runCliAudit(File workingDirectory, List scannedDirectories, String serverId, Map envVars) throws Exception { AuditConfig config = new AuditConfig.Builder() .scannedDirectories(scannedDirectories) .serverId(serverId) - .extraArgs(extraArgs) .envVars(envVars) .build(); return runCliAudit(workingDirectory, config); @@ -212,8 +211,7 @@ public CommandResults runCliAudit(File workingDirectory, AuditConfig config) thr } try { - return runCommand(workingDirectory, config.getEnvVars(), args.toArray(new String[0]), - config.getExtraArgs() != null ? config.getExtraArgs() : Collections.emptyList(), null, log); + return runCommand(workingDirectory, config.getEnvVars(), args.toArray(new String[0]), Collections.emptyList(), null, log); } catch (IOException | InterruptedException e) { throw new Exception("Failed to run JF audit. Reason: " + e.getMessage(), e); } diff --git a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java index 5732d43e..4fbe7ca1 100644 --- a/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java +++ b/src/test/java/com/jfrog/ide/common/configuration/JfrogCliDriverTest.java @@ -206,7 +206,7 @@ public void testRunAudit_NpmProject() { try { Path exampleProjectsFolder = Path.of("src/test/resources/example-projects/npm"); CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), - null, testServerId, null, testEnv); + null, testServerId, testEnv); assertEquals(response.getExitValue(),0); logger.info("Audit debug logs: \n" + response.getErr()); logger.info("Audit response: \n" + response.getRes()); @@ -231,7 +231,7 @@ public void testRunAudit_MultiMavenProject() { try { Path exampleProjectsFolder = Path.of("src/test/resources/example-projects/maven-example"); CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), - projectsToCheck, testServerId, null, testEnv); + projectsToCheck, testServerId, testEnv); assertEquals(response.getExitValue(), 0); logger.info("Audit debug logs: \n" + response.getErr()); logger.info("Audit response: \n" + response.getRes()); @@ -262,7 +262,6 @@ public void testRunAudit_WithExcludedPattern() { .serverId(testServerId) .excludedPattern(new ArrayList<>(List.of("*multi3*"))) .serverId(testServerId) - .extraArgs(null) .envVars(testEnv) .build(); CommandResults response = jfrogCliDriver.runCliAudit(exampleProjectsFolder.toFile(), config);