commit 101996636f915a9e365bc6e609d2c6990be26b22
Author: Michael Simacek <msimacek(a)redhat.com>
Date: Thu Jul 3 13:59:43 2014 +0200
More tests for pom_xpath_disable
test/data/pom_editor/intermediate_skip.xml | 26 +++++++++++++++++++
.../want/intermediate_disabled_schemas.xml | 23 +++++++++++++++++
test/pom_editor_modules_test.py | 27 ++++++++++++++++++++
3 files changed, 76 insertions(+), 0 deletions(-)
---
diff --git a/test/data/pom_editor/intermediate_skip.xml
b/test/data/pom_editor/intermediate_skip.xml
new file mode 100644
index 0000000..b39b3c6
--- /dev/null
+++ b/test/data/pom_editor/intermediate_skip.xml
@@ -0,0 +1,26 @@
+<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>intermediate</artifactId>
+ <version>2.6</version>
+ <name>Intermediate</name>
+ <modules>
+ <module>
+ src/schemas
+ </module>
+ </modules>
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.2</version>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/test/data/pom_editor/want/intermediate_disabled_schemas.xml
b/test/data/pom_editor/want/intermediate_disabled_schemas.xml
new file mode 100644
index 0000000..0c5d2ed
--- /dev/null
+++ b/test/data/pom_editor/want/intermediate_disabled_schemas.xml
@@ -0,0 +1,23 @@
+<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>intermediate</artifactId>
+ <version>2.6</version>
+ <name>Intermediate</name>
+ <modules>
+ </modules>
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.2</version>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/test/pom_editor_modules_test.py b/test/pom_editor_modules_test.py
index bb72631..30d2413 100644
--- a/test/pom_editor_modules_test.py
+++ b/test/pom_editor_modules_test.py
@@ -22,5 +22,32 @@ class TestPomXpathDisable(WorkdirTestCase):
self.assertEqual(0, return_value, stderr)
self.assertEqual('', report, report)
+ def test_two_levels(self):
+ return_value, stderr, report = exec_pom_macro(
+ """%pom_xpath_disable
"pom:parent[pom:artifactId='intermediate']" """,
+ poms_tree=example_tree,
+ want_tree={'intermediate':
'intermediate_disabled_schemas.xml'})
+ self.assertEqual(0, return_value, stderr)
+ self.assertEqual('', report, report)
+
+ def test_skip_level(self):
+ poms_tree = dict(example_tree)
+ del poms_tree['intermediate/schemas']
+ poms_tree['intermediate'] = 'intermediate_skip.xml'
+ poms_tree['intermediate/src/schemas'] = 'example_schemas.xml'
+ return_value, stderr, report = exec_pom_macro(
+ """%pom_xpath_disable
"pom:project.build.sourceEncoding='UTF-8'" """,
+ poms_tree=poms_tree,
+ want_tree={'intermediate':
'intermediate_disabled_schemas.xml'})
+ self.assertEqual(0, return_value, stderr)
+ self.assertEqual('', report, report)
+
+ def test_fail_on_main(self):
+ return_value, stderr, _ = exec_pom_macro(
+ """%pom_xpath_disable
"pom:groupId='com.example'" """,
+ poms_tree=example_tree)
+ assertIn(self, "Main POM satisfies the condition", stderr)
+ self.assertNotEqual(0, return_value)
+
if __name__ == '__main__':
unittest.main()