fixed unit test

Former-commit-id: d4560b518805dcdf20d17f92c7b214dad2fa9676
This commit is contained in:
Jeremy Long
2015-05-02 20:53:35 -04:00
parent d173573e6c
commit 963b1eae1c

View File

@@ -24,9 +24,14 @@ import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.junit.After;
import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.owasp.dependencycheck.BaseTest; import org.owasp.dependencycheck.BaseTest;
import org.owasp.dependencycheck.analyzer.exception.AnalysisException; import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
import org.owasp.dependencycheck.dependency.Dependency;
import org.owasp.dependencycheck.dependency.Evidence;
/** /**
* Unit tests for PythonPackageAnalyzer. * Unit tests for PythonPackageAnalyzer.
@@ -35,39 +40,83 @@ import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
*/ */
public class PythonPackageAnalyzerTest extends BaseTest { public class PythonPackageAnalyzerTest extends BaseTest {
/** /**
* Test of getName method, of class PythonPackageAnalyzer. * The package analyzer to test.
*/ */
@Test PythonPackageAnalyzer analyzer;
public void testGetName() {
assertEquals("Analyzer name wrong.", "Python Distribution Analyzer",
new PythonDistributionAnalyzer().getName());
}
/** /**
* Test of getSupportedExtensions method, of class PythonPackageAnalyzer. * Setup the PtyhonPackageAnalyzer.
*/ *
@Test * @throws Exception if there is a problem
public void testGetSupportedExtensions() { */
final String[] expected = { "py" }; @Before
assertEquals("Supported extensions should just have the following: " public void setUp() throws Exception {
+ StringUtils.join(expected, ", "), analyzer = new PythonPackageAnalyzer();
new HashSet<String>(Arrays.asList(expected)), analyzer.setFilesMatched(true);
new PythonPackageAnalyzer().getSupportedExtensions()); analyzer.initialize();
} }
/** /**
* Test of supportsExtension method, of class PythonPackageAnalyzer. * Cleanup any resources used.
*/ *
@Test * @throws Exception if there is a problem
public void testSupportsExtension() { */
assertTrue("Should support \"py\" extension.", @After
new PythonPackageAnalyzer().supportsExtension("py")); public void tearDown() throws Exception {
} analyzer.close();
analyzer = null;
}
@Test /**
public void testAnalyzeSourceMetadata() throws AnalysisException { * Test of getName method, of class PythonPackageAnalyzer.
PythonDistributionAnalyzerTest.eggtestAssertions(this, */
"python/eggtest/__init__.py", new PythonPackageAnalyzer()); @Test
} public void testGetName() {
} assertEquals("Analyzer name wrong.", "Python Package Analyzer",
analyzer.getName());
}
/**
* Test of getSupportedExtensions method, of class PythonPackageAnalyzer.
*/
@Test
public void testGetSupportedExtensions() {
final String[] expected = {"py"};
assertEquals("Supported extensions should just have the following: "
+ StringUtils.join(expected, ", "),
new HashSet<String>(Arrays.asList(expected)),
analyzer.getSupportedExtensions());
}
/**
* Test of supportsExtension method, of class PythonPackageAnalyzer.
*/
@Test
public void testSupportsExtension() {
assertTrue("Should support \"py\" extension.",
analyzer.supportsExtension("py"));
}
@Test
public void testAnalyzeSourceMetadata() throws AnalysisException {
eggtestAssertions(this,
"python/eggtest/__init__.py");
}
public void eggtestAssertions(Object context, final String resource) throws AnalysisException {
boolean found = false;
final Dependency result = new Dependency(BaseTest.getResourceAsFile(
context, resource));
analyzer.analyze(result, null);
assertTrue("Expected vendor evidence to contain \"example\".", result
.getVendorEvidence().toString().contains("example"));
for (final Evidence e : result.getVersionEvidence()) {
if ("0.0.1".equals(e.getValue())) {
found = true;
break;
}
}
assertTrue("Version 0.0.1 not found in EggTest dependency.", found);
}
}