commit dc2286a0aeeffd82fc7cc5bb56f4b744dbcd30a6
Author: Michael Simacek <msimacek(a)redhat.com>
Date: Wed Jan 29 17:25:01 2014 +0100
[test] add tests for recursive mode and force option
.../want/example_common_removed_commons_io.xml | 5 --
.../want/example_common_removed_commons_iox.xml | 32 +++++++++++++++
.../want/example_common_removed_junit.xml | 6 ---
.../want/minimal_add_plugin_resource.xml | 21 ++++++----
test/pom_editor_paths_test.py | 42 +++++++++++++++++++-
5 files changed, 84 insertions(+), 22 deletions(-)
---
diff --git a/test/data/pom_editor/want/example_common_removed_commons_io.xml
b/test/data/pom_editor/want/example_common_removed_commons_io.xml
index fc74358..7727864 100644
--- a/test/data/pom_editor/want/example_common_removed_commons_io.xml
+++ b/test/data/pom_editor/want/example_common_removed_commons_io.xml
@@ -17,11 +17,6 @@
<version>3.8.1</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>commons-ioX</groupId>
- <artifactId>commons-io</artifactId>
- <version>1.2</version>
- </dependency>
</dependencies>
</project>
diff --git a/test/data/pom_editor/want/example_common_removed_commons_iox.xml
b/test/data/pom_editor/want/example_common_removed_commons_iox.xml
new file mode 100644
index 0000000..6e9ac8e
--- /dev/null
+++ b/test/data/pom_editor/want/example_common_removed_commons_iox.xml
@@ -0,0 +1,32 @@
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>com.example</groupId>
+ <artifactId>parent</artifactId>
+ <version>17</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.example</groupId>
+ <artifactId>common</artifactId>
+ <version>2.6</version>
+ <name>Example common</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3</version>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/test/data/pom_editor/want/example_common_removed_junit.xml
b/test/data/pom_editor/want/example_common_removed_junit.xml
index d223355..d006e68 100644
--- a/test/data/pom_editor/want/example_common_removed_junit.xml
+++ b/test/data/pom_editor/want/example_common_removed_junit.xml
@@ -17,12 +17,6 @@
<version>1.2</version>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3</version>
diff --git a/test/data/pom_editor/want/minimal_add_plugin_resource.xml
b/test/data/pom_editor/want/minimal_add_plugin_resource.xml
index 45a9276..55d0329 100644
--- a/test/data/pom_editor/want/minimal_add_plugin_resource.xml
+++ b/test/data/pom_editor/want/minimal_add_plugin_resource.xml
@@ -1,4 +1,16 @@
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>any</version>
+ <goal>generate-resources</goal>
+ </plugin>
+ </plugins>
+ </build>
+
<parent>
<groupId>org.apache.commons</groupId>
<artifactId>commons-parent</artifactId>
@@ -10,13 +22,4 @@
<version>2.6</version>
<name>Commons Lang</name>
- <plugins>
- <plugin>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-remote-resources-plugin</artifactId>
- <version>any</version>
- <goal>generate-resources</goal>
- </plugin>
- </plugins>
-
</project>
diff --git a/test/pom_editor_paths_test.py b/test/pom_editor_paths_test.py
index d04c040..f3abd25 100644
--- a/test/pom_editor_paths_test.py
+++ b/test/pom_editor_paths_test.py
@@ -174,12 +174,50 @@ class TestRecursive(WorkdirTestCase):
self.assertEqual('', report, report)
def test_recursive_no_match(self):
- return_value, stderr, _ = exec_pom_macro('%pom_remove_dep -r :junit',
+ return_value, stderr, _ = exec_pom_macro('%pom_remove_dep -r
:not-there',
poms_tree=self.example_tree)
self.assertIn("Error", stderr)
- self.assertIn("not fount", stderr)
+ self.assertIn("not found", stderr)
+ self.assertNotEqual(0, return_value)
+
+ def test_recursive_missing(self):
+ poms_tree = dict(self.example_tree)
+ del poms_tree['intermediate/schemas']
+ return_value, stderr, _ = exec_pom_macro('%pom_remove_dep -r
:commons-io',
+ poms_tree=poms_tree)
+ self.assertIn("Cannot read", stderr)
+ self.assertNotEqual(0, return_value)
+
+ def test_recursive_subpom(self):
+ return_value, stderr, report = exec_pom_macro('%pom_remove_dep -r :junit
intermediate',
+ poms_tree=self.example_tree,
+ want_tree={'intermediate/schemas':
'example_schemas_removed_junit.xml'})
+ self.assertEqual(0, return_value, stderr)
+ self.assertEqual('', report, report)
+
+ def test_recursive_multiple(self):
+ poms_tree = dict(self.example_tree)
+ return_value, stderr, report = exec_pom_macro('%pom_remove_dep -r :junit
intermediate common',
+ poms_tree=poms_tree,
+ want_tree={'intermediate/schemas':
'example_schemas_removed_junit.xml',
+ 'common': 'example_common_removed_junit.xml'})
+ self.assertEqual(0, return_value, stderr)
+ self.assertEqual('', report, report)
+
+ def test_recursive_partial_match(self):
+ return_value, stderr, _ = exec_pom_macro('%pom_remove_dep -r commons-ioX
intermediate common',
+ poms_tree=self.example_tree)
+ self.assertIn("Error", stderr)
+ self.assertIn("not found", stderr)
self.assertNotEqual(0, return_value)
+ def test_recursive_partial_match_forced(self):
+ return_value, stderr, report = exec_pom_macro(\
+ '%pom_remove_dep -rf commons-ioX:commons-io intermediate
common',
+ poms_tree=self.example_tree,
+ want_tree={'common':
'example_common_removed_commons_iox.xml'})
+ self.assertEqual(0, return_value, stderr)
+ self.assertEqual('', report, report)
class TestAttributeRecognition(WorkdirTestCase):
def test_default_extra_xml(self):