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] 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