From 643d3600b882038040baebcf38e7c3f0396f1e0a 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: a423b1289f39757645adf4dae0122bc4cee2d1b6 --- .../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 afdb156c84174048a5d001bd0ed055cbdf9548c5 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: cf543a3ec397e593e7de2249820bd48159132413 --- .../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 d24d6f6b52aaf05bb0b4eb2841a86554182f2b25 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: 717f9e605912ff42843a8b150db191eb4bb79c90 --- .../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(); }