commit 7e1c93de9efd03be2ae09e8ed5cec80ec5420ca2
Author: Michal Srb <msrb(a)redhat.com>
Date: Wed Sep 4 13:01:00 2013 +0200
Add few more tests for python scripts.
python/test/data/depmap_incorrect_provides.xml | 28 +++++++++++
python/test/data/depmap_multiple_namespaces.xml | 58 +++++++++++++++++++++++
python/test/data/depmap_namespace.xml | 38 +++++++++++++++
python/test/data/depmap_namespace_requires.xml | 45 +++++++++++++++++
python/test/data/unparsable_xml.pom | 19 +++++++
python/test/depmap_test.py | 38 +++++++++++++++
python/test/pom_test.py | 5 ++
7 files changed, 231 insertions(+), 0 deletions(-)
---
diff --git a/python/test/data/depmap_incorrect_provides.xml
b/python/test/data/depmap_incorrect_provides.xml
new file mode 100644
index 0000000..66f30c2
--- /dev/null
+++ b/python/test/data/depmap_incorrect_provides.xml
@@ -0,0 +1,28 @@
+<!-- This depmap file was generated by XMvn. -->
+<dependencyMap>
+ <requiresJava>1.5</requiresJava>
+ <dependency>
+ <maven>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.5</version>
+ </maven>
+ <jpp>
+ <groupId>JPP/commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <namespace>ns</namespace>
+ </jpp>
+ <maven>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>io</artifactId>
+ <version>1.6</version>
+ <namespace>bad</namespace>
+ </maven>
+ <jpp>
+ <groupId>JPP/commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.5</version>
+ <namespace>bad</namespace>
+ </jpp>
+ </dependency>
+</dependencyMap>
diff --git a/python/test/data/depmap_multiple_namespaces.xml
b/python/test/data/depmap_multiple_namespaces.xml
new file mode 100644
index 0000000..8cde409
--- /dev/null
+++ b/python/test/data/depmap_multiple_namespaces.xml
@@ -0,0 +1,58 @@
+<!-- This depmap file was generated by XMvn. -->
+<dependencyMap>
+ <requiresJava>1.5</requiresJava>
+ <skipProvides/>
+ <dependency>
+ <maven>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>3.0</version>
+ <namespace>codehaus-plexus</namespace>
+ </maven>
+ <jpp>
+ <groupId>JPP/plexus-utils</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <namespace>codehaus-plexus</namespace>
+ </jpp>
+ </dependency>
+ <dependency>
+ <maven>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.2</version>
+ <namespace>plexus</namespace>
+ </maven>
+ <jpp>
+ <groupId>JPP/plexus-utils</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <namespace>plexus</namespace>
+ </jpp>
+ </dependency>
+ <dependency>
+ <maven>
+ <groupId>codehaus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>1.2</version>
+ <namespace>codehaus</namespace>
+ </maven>
+ <jpp>
+ <groupId>JPP/plexus-utils</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <namespace>plexus</namespace>
+ </jpp>
+ </dependency>
+ <autoRequires>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <classifier>test-jar</classifier>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-7</version>
+ </autoRequires>
+</dependencyMap>
diff --git a/python/test/data/depmap_namespace.xml
b/python/test/data/depmap_namespace.xml
new file mode 100644
index 0000000..603a28e
--- /dev/null
+++ b/python/test/data/depmap_namespace.xml
@@ -0,0 +1,38 @@
+<!-- This depmap file was generated by XMvn. -->
+<dependencyMap>
+ <requiresJava>1.5</requiresJava>
+ <skipProvides/>
+ <dependency>
+ <maven>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2</version>
+ <namespace>ns</namespace>
+ </maven>
+ <jpp>
+ <groupId>JPP/maven-idea-plugin</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2</version>
+ <namespace>ns</namespace>
+ </jpp>
+ </dependency>
+ <autoRequires>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <classifier>test-jar</classifier>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-7</version>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <extension>war</extension>
+ </autoRequires>
+</dependencyMap>
diff --git a/python/test/data/depmap_namespace_requires.xml
b/python/test/data/depmap_namespace_requires.xml
new file mode 100644
index 0000000..fce3c1a
--- /dev/null
+++ b/python/test/data/depmap_namespace_requires.xml
@@ -0,0 +1,45 @@
+<!-- This depmap file was generated by XMvn. -->
+<dependencyMap>
+ <requiresJava>1.5</requiresJava>
+ <skipProvides/>
+ <dependency>
+ <maven>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2</version>
+ <namespace>ns</namespace>
+ </maven>
+ <jpp>
+ <groupId>JPP/maven-idea-plugin</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2</version>
+ <namespace>ns</namespace>
+ </jpp>
+ </dependency>
+ <autoRequires>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <extension>war</extension>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <namespace>plexus</namespace>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <extension>war</extension>
+ <namespace>codehaus</namespace>
+ </autoRequires>
+ <autoRequires>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>0.9</version>
+ <namespace>test</namespace>
+ </autoRequires>
+</dependencyMap>
diff --git a/python/test/data/unparsable_xml.pom b/python/test/data/unparsable_xml.pom
new file mode 100644
index 0000000..9d3f460
--- /dev/null
+++ b/python/test/data/unparsable_xml.pom
@@ -0,0 +1,19 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>plexus</groupId>
+ <artifactId>plexus-root</artifactId>
+ <packaging>pom</packaging>
+ <name>Plexus</name>
+ <version>1.0.3</version>
+
+ <developers>
+ <developer>
+ <name>Trygve Laugstøl</name>
+ <id>trygvis</id>
+ <email>trygvis(a)codehaus.org</email>
+ <roles>
+ <role>Developer</role>
+ </roles>
+ </developer>
+ </developers>
+</project>
diff --git a/python/test/depmap_test.py b/python/test/depmap_test.py
index 18130a1..7a5f60d 100644
--- a/python/test/depmap_test.py
+++ b/python/test/depmap_test.py
@@ -132,7 +132,45 @@ class TestDepmap(unittest.TestCase):
self.assertEqual(reqs[3].artifactId, "plexus-utils")
self.assertEqual(reqs[3].extension, "war")
+ @depmapfile("depmap_namespace.xml")
+ def test_namespace(self, d):
+ maps = d.get_provided_mappings()
+ for m, l in maps:
+ self.assertEqual(m.namespace, "ns")
+ self.assertEqual(m.namespace, "ns")
+
+ @depmapfile("depmap_multiple_namespaces.xml")
+ def test_multiple_namespaces(self, d):
+ prov = d.get_provided_artifacts()
+
+ self.assertEqual(len(prov), 3)
+ self.assertEqual(prov[0].namespace, "codehaus-plexus")
+ self.assertEqual(prov[1].namespace, "plexus")
+ self.assertEqual(prov[2].namespace, "codehaus")
+ @depmapfile("depmap_namespace_requires.xml")
+ def test_requires_namespace(self, d):
+ reqs = d.get_required_artifacts()
+
+ self.assertTrue(len(reqs), 5)
+ self.assertEqual(reqs[0].namespace, "")
+ self.assertEqual(reqs[1].namespace, "")
+ self.assertEqual(reqs[2].namespace, "plexus")
+ self.assertEqual(reqs[3].namespace, "codehaus")
+ self.assertEqual(reqs[4].namespace, "test")
+
+ @depmapfile("depmap_incorrect_provides.xml")
+ def test_incorrect_provides(self, d):
+ maps = d.get_provided_mappings()
+ for m, l in maps:
+ self.assertEqual(m.groupId, "commons-io")
+ self.assertEqual(l.groupId, "JPP/commons-io")
+ self.assertEqual(m.artifactId, "commons-io")
+ self.assertEqual(l.artifactId, "commons-io")
+ self.assertEqual(m.version, "1.5")
+ self.assertEqual(l.version, "")
+ self.assertEqual(m.namespace, "")
+ self.assertEqual(l.namespace, "ns")
if __name__ == '__main__':
unittest.main()
diff --git a/python/test/pom_test.py b/python/test/pom_test.py
index 9073f22..5fc2b3e 100644
--- a/python/test/pom_test.py
+++ b/python/test/pom_test.py
@@ -1,5 +1,6 @@
import os
import unittest
+import lxml
from javapackages import POM
@@ -49,6 +50,10 @@ class TestPOM(unittest.TestCase):
self.assertEqual(p.artifactId, "xmlrpc")
self.assertEqual(p.version, "3.1.3")
+ @exception_expected(lxml.etree.XMLSyntaxError)
+ @pomfile("unparsable_xml.pom")
+ def test_unparsable_xml(self, p):
+ self.fail("Unparsable xml successfully parsed")
if __name__ == '__main__':