From 2f94ae7b42074200693249abfcdd9e46df7f2e94 Mon Sep 17 00:00:00 2001 From: Sascha Knoop Date: Sat, 22 Mar 2025 22:25:28 +0100 Subject: [PATCH 1/3] disable snakeyml warning for duplicate keys --- .../benchmarkutils/score/Configuration.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/org/owasp/benchmarkutils/score/Configuration.java b/plugin/src/main/java/org/owasp/benchmarkutils/score/Configuration.java index 3a45a040..17eb0bb8 100644 --- a/plugin/src/main/java/org/owasp/benchmarkutils/score/Configuration.java +++ b/plugin/src/main/java/org/owasp/benchmarkutils/score/Configuration.java @@ -22,6 +22,7 @@ import java.io.InputStream; import java.io.SequenceInputStream; import java.util.Map; +import org.yaml.snakeyaml.LoaderOptions; import org.yaml.snakeyaml.Yaml; /** @@ -76,7 +77,20 @@ public class Configuration { public final Report report; - private static final Yaml yaml = new Yaml(); + private static final Yaml yaml = new Yaml(loaderOptions()); + + /** + * Custom loader options to disable warning for duplicate key (which is not helpful, because + * it's intended behaviour to merge keys from multiple files) + */ + private static LoaderOptions loaderOptions() { + LoaderOptions loaderOptions = new LoaderOptions(); + + loaderOptions.setAllowDuplicateKeys(true); + loaderOptions.setWarnOnDuplicateKeys(false); + + return loaderOptions; + } public static Configuration fromDefaultConfig() { return fromInputStream(resourceAsStream(DEFAULT_CONFIG), DEFAULT_SUCCESS_MESSAGE); From ad87295e6ac58eb5ce6afa500cdf6b2904003838 Mon Sep 17 00:00:00 2001 From: Sascha Knoop Date: Thu, 17 Apr 2025 21:57:49 +0200 Subject: [PATCH 2/3] disable snakeyml warning for duplicate keys only during test --- .../benchmarkutils/score/Configuration.java | 16 +++++++++++++--- .../benchmarkutils/score/ConfigurationTest.java | 2 ++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/plugin/src/main/java/org/owasp/benchmarkutils/score/Configuration.java b/plugin/src/main/java/org/owasp/benchmarkutils/score/Configuration.java index 17eb0bb8..f60a4f7a 100644 --- a/plugin/src/main/java/org/owasp/benchmarkutils/score/Configuration.java +++ b/plugin/src/main/java/org/owasp/benchmarkutils/score/Configuration.java @@ -77,21 +77,31 @@ public class Configuration { public final Report report; - private static final Yaml yaml = new Yaml(loaderOptions()); + private static Yaml yaml = new Yaml(defaultLoaderOptions()); /** * Custom loader options to disable warning for duplicate key (which is not helpful, because * it's intended behaviour to merge keys from multiple files) */ - private static LoaderOptions loaderOptions() { + private static LoaderOptions defaultLoaderOptions() { LoaderOptions loaderOptions = new LoaderOptions(); loaderOptions.setAllowDuplicateKeys(true); - loaderOptions.setWarnOnDuplicateKeys(false); return loaderOptions; } + /** + * Used to disable warnings on duplicate keys. Occurs when providing an additional configuration file. + */ + static void disableWarnOnDuplicateKeys() { + LoaderOptions loaderOptions = defaultLoaderOptions(); + + loaderOptions.setWarnOnDuplicateKeys(false); + + yaml = new Yaml(loaderOptions); + } + public static Configuration fromDefaultConfig() { return fromInputStream(resourceAsStream(DEFAULT_CONFIG), DEFAULT_SUCCESS_MESSAGE); } diff --git a/plugin/src/test/java/org/owasp/benchmarkutils/score/ConfigurationTest.java b/plugin/src/test/java/org/owasp/benchmarkutils/score/ConfigurationTest.java index 5a4ad623..286b4c35 100644 --- a/plugin/src/test/java/org/owasp/benchmarkutils/score/ConfigurationTest.java +++ b/plugin/src/test/java/org/owasp/benchmarkutils/score/ConfigurationTest.java @@ -57,6 +57,8 @@ public void setUp() { out = new ByteArrayOutputStream(); System.setOut(new PrintStream(out)); + + Configuration.disableWarnOnDuplicateKeys(); } @Test From 29d16931223c642281a57320ff08db6a9b867a2e Mon Sep 17 00:00:00 2001 From: Sascha Knoop Date: Tue, 6 May 2025 22:53:21 +0200 Subject: [PATCH 3/3] disable snakeyml warning for duplicate keys only during test, 2nd file --- .../org/owasp/benchmarkutils/score/BenchmarkScoreTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugin/src/test/java/org/owasp/benchmarkutils/score/BenchmarkScoreTest.java b/plugin/src/test/java/org/owasp/benchmarkutils/score/BenchmarkScoreTest.java index 87110fe8..c7292dbf 100644 --- a/plugin/src/test/java/org/owasp/benchmarkutils/score/BenchmarkScoreTest.java +++ b/plugin/src/test/java/org/owasp/benchmarkutils/score/BenchmarkScoreTest.java @@ -28,13 +28,14 @@ public class BenchmarkScoreTest { - private static final String SEP = System.getProperty("line.separator"); + private static final String SEP = System.lineSeparator(); private final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); private final PrintStream originalOut = System.out; @BeforeEach public void setUpStreams() { System.setOut(new PrintStream(outContent)); + Configuration.disableWarnOnDuplicateKeys(); } @AfterEach