From c177f12e1d9c2b0c97b5b64ecd9d627563422434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Kimminich?= Date: Tue, 29 Apr 2014 11:48:07 +0200 Subject: [PATCH 1/3] added test case for classpath suppression file and missing file Former-commit-id: 975cbe1f480ad52b0e527148c4fd30b76d5baa0e --- .../AbstractSuppressionAnalyzerTest.java | 104 +++++++++++------- 1 file changed, 63 insertions(+), 41 deletions(-) diff --git a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java index cfda81250..c82d91e0e 100644 --- a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java +++ b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java @@ -17,31 +17,84 @@ */ package org.owasp.dependencycheck.analyzer; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.owasp.dependencycheck.BaseTest; +import org.owasp.dependencycheck.Engine; +import org.owasp.dependencycheck.analyzer.exception.AnalysisException; +import org.owasp.dependencycheck.dependency.Dependency; +import org.owasp.dependencycheck.suppression.SuppressionParseException; +import org.owasp.dependencycheck.suppression.SuppressionRule; +import org.owasp.dependencycheck.utils.Settings; + import java.net.MalformedURLException; import java.net.URISyntaxException; import java.util.List; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; -import org.junit.Before; -import org.junit.Test; -import org.owasp.dependencycheck.BaseTest; -import org.owasp.dependencycheck.Engine; -import org.owasp.dependencycheck.analyzer.exception.AnalysisException; -import org.owasp.dependencycheck.dependency.Dependency; -import org.owasp.dependencycheck.suppression.SuppressionRule; -import org.owasp.dependencycheck.utils.Settings; /** - * * @author Jeremy Long */ public class AbstractSuppressionAnalyzerTest extends BaseTest { + @Rule + public ExpectedException exception = ExpectedException.none(); + + private AbstractSuppressionAnalyzer instance; + @Before - public void setUp() throws Exception { + public void createObjectUnderTest() throws Exception { + instance = new AbstractSuppressionAnalyzerImpl(); + } + + /** + * Test of getSupportedExtensions method, of class AbstractSuppressionAnalyzer. + */ + @Test + public void testGetSupportedExtensions() { + Set result = instance.getSupportedExtensions(); + assertNull(result); + } + + /** + * Test of getRules method, of class AbstractSuppressionAnalyzer for suppression file declared as URL. + */ + @Test + public void testGetRulesFromSuppressionFileFromURL() throws Exception { + setSupressionFileFromURL(); + instance.initialize(); + int expCount = 5; + List result = instance.getRules(); + assertEquals(expCount, result.size()); + } + + /** + * Test of getRules method, of class AbstractSuppressionAnalyzer for suppression file declared as URL. + */ + @Test + public void testGetRulesFromSuppressionFileInClasspath() throws Exception { + Settings.setString(Settings.KEYS.SUPPRESSION_FILE, "suppressions.xml"); + instance.initialize(); + int expCount = 5; + List result = instance.getRules(); + assertEquals(expCount, result.size()); + } + + @Test + public void testFailureToLocateSuppressionFileInClasspath() throws Exception { + Settings.setString(Settings.KEYS.SUPPRESSION_FILE, "doesnotexist.xml"); + exception.expect(SuppressionParseException.class); + instance.initialize(); + } + + private void setSupressionFileFromURL() throws Exception { try { final String uri = this.getClass().getClassLoader().getResource("suppressions.xml").toURI().toURL().toString(); Settings.setString(Settings.KEYS.SUPPRESSION_FILE, uri); @@ -52,37 +105,6 @@ public class AbstractSuppressionAnalyzerTest extends BaseTest { } } - /** - * Test of getSupportedExtensions method, of class AbstractSuppressionAnalyzer. - */ - @Test - public void testGetSupportedExtensions() { - AbstractSuppressionAnalyzer instance = new AbstractSuppressionAnalyzerImpl(); - Set result = instance.getSupportedExtensions(); - assertNull(result); - } - - /** - * Test of initialize method, of class AbstractSuppressionAnalyzer. - */ - @Test - public void testInitialize() throws Exception { - AbstractSuppressionAnalyzer instance = new AbstractSuppressionAnalyzerImpl(); - instance.initialize(); - } - - /** - * Test of getRules method, of class AbstractSuppressionAnalyzer. - */ - @Test - public void testGetRules() throws Exception { - AbstractSuppressionAnalyzer instance = new AbstractSuppressionAnalyzerImpl(); - instance.initialize(); - int expCount = 5; - List result = instance.getRules(); - assertEquals(expCount, result.size()); - } - public class AbstractSuppressionAnalyzerImpl extends AbstractSuppressionAnalyzer { @Override From 56fe3b5892606f1101242374cbb6d36e94b520e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Kimminich?= Date: Tue, 29 Apr 2014 14:29:46 +0200 Subject: [PATCH 2/3] simplified exception testing Former-commit-id: f43f211c4cc3133e5dfc466a4badfb3606a3be0c --- .../analyzer/AbstractSuppressionAnalyzerTest.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java index c82d91e0e..f91b4ff0b 100644 --- a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java +++ b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java @@ -18,9 +18,7 @@ package org.owasp.dependencycheck.analyzer; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.ExpectedException; import org.owasp.dependencycheck.BaseTest; import org.owasp.dependencycheck.Engine; import org.owasp.dependencycheck.analyzer.exception.AnalysisException; @@ -44,9 +42,6 @@ import static org.junit.Assert.assertNull; */ public class AbstractSuppressionAnalyzerTest extends BaseTest { - @Rule - public ExpectedException exception = ExpectedException.none(); - private AbstractSuppressionAnalyzer instance; @Before @@ -87,10 +82,9 @@ public class AbstractSuppressionAnalyzerTest extends BaseTest { assertEquals(expCount, result.size()); } - @Test + @Test(expected = SuppressionParseException.class) public void testFailureToLocateSuppressionFileInClasspath() throws Exception { Settings.setString(Settings.KEYS.SUPPRESSION_FILE, "doesnotexist.xml"); - exception.expect(SuppressionParseException.class); instance.initialize(); } From 0d943ba8059c79ec1898d3b68b2d87d476d013b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Kimminich?= Date: Tue, 29 Apr 2014 14:37:52 +0200 Subject: [PATCH 3/3] Update AbstractSuppressionAnalyzerTest.java Former-commit-id: 640d50086e6b5cd9302ca4a24ffed881c614fd54 --- .../analyzer/AbstractSuppressionAnalyzerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java index f91b4ff0b..f20a13d44 100644 --- a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java +++ b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzerTest.java @@ -83,7 +83,7 @@ public class AbstractSuppressionAnalyzerTest extends BaseTest { } @Test(expected = SuppressionParseException.class) - public void testFailureToLocateSuppressionFileInClasspath() throws Exception { + public void testFailureToLocateSuppressionFileAnywhere() throws Exception { Settings.setString(Settings.KEYS.SUPPRESSION_FILE, "doesnotexist.xml"); instance.initialize(); }