commit 6fbef7550ca30db8ea4c4442ebc42ce9923a4a1b
Author: Michael Simacek <msimacek(a)redhat.com>
Date: Tue Jun 9 16:59:26 2015 +0200
Test for keeping optional elements with pom_change_dep
test/data/pom_editor/optional.xml | 41 +++++++++++++++++++++++++++
test/data/pom_editor/want/keep_optional.xml | 41 +++++++++++++++++++++++++++
test/pom_editor_artifact_test.py | 7 ++++
3 files changed, 89 insertions(+), 0 deletions(-)
---
diff --git a/test/data/pom_editor/optional.xml b/test/data/pom_editor/optional.xml
new file mode 100644
index 0000000..7e7d3d5
--- /dev/null
+++ b/test/data/pom_editor/optional.xml
@@ -0,0 +1,41 @@
+<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>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>commons-ioX</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.2</version>
+ <optional>true</optional>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/test/data/pom_editor/want/keep_optional.xml
b/test/data/pom_editor/want/keep_optional.xml
new file mode 100644
index 0000000..1eff06f
--- /dev/null
+++ b/test/data/pom_editor/want/keep_optional.xml
@@ -0,0 +1,41 @@
+<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>org.apache.commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.2</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>commons-ioX</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.2</version>
+ <optional>true</optional>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/test/pom_editor_artifact_test.py b/test/pom_editor_artifact_test.py
index 5bf9d8a..af710c8 100644
--- a/test/pom_editor_artifact_test.py
+++ b/test/pom_editor_artifact_test.py
@@ -94,5 +94,12 @@ class TestPomChange(WorkdirTestCase):
self.assertEqual(0, return_value, stderr)
self.assertEqual('', report, report)
+ def test_keep_optional(self):
+ return_value, stderr, report = exec_pom_macro_simple(\
+ "%pom_change_dep commons-io: org.apache.commons-io:",
+ 'optional.xml', 'keep_optional.xml')
+ self.assertEqual(0, return_value, stderr)
+ self.assertEqual('', report, report)
+
if __name__ == '__main__':
unittest.main()