commit 382bcabccbcf810c14e569af874d5ddb21cf3d6c
Author: Michael Simacek <msimacek(a)redhat.com>
Date: Thu Nov 7 13:56:26 2013 +0100
[test] some tests for mvn macros in rpmbuild
test/data/mvn_alias/more_invocations-00001.xml | 21 +++++
test/data/mvn_alias/more_invocations-00002.xml | 25 +++++
test/mvn_macros_test.py | 112 ++++++++++++++++++++++++
3 files changed, 158 insertions(+), 0 deletions(-)
---
diff --git a/test/data/mvn_alias/more_invocations-00001.xml
b/test/data/mvn_alias/more_invocations-00001.xml
new file mode 100644
index 0000000..96c7405
--- /dev/null
+++ b/test/data/mvn_alias/more_invocations-00001.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" ?>
+<configuration
xmlns="http://fedorahosted.org/xmvn/CONFIG/0.6.0">
+
+
+
+ <!--XMvn configuration file generated by javapackages.xmvn_config (part of
javapackages-tools)-->
+ <artifactManagement>
+ <rule>
+ <artifactGlob>
+ <artifactId>bbb</artifactId>
+ <groupId>aaa</groupId>
+ </artifactGlob>
+ <aliases>
+ <alias>
+ <artifactId>ddd</artifactId>
+ <groupId>ccc</groupId>
+ </alias>
+ </aliases>
+ </rule>
+ </artifactManagement>
+</configuration>
diff --git a/test/data/mvn_alias/more_invocations-00002.xml
b/test/data/mvn_alias/more_invocations-00002.xml
new file mode 100644
index 0000000..1a8cc8d
--- /dev/null
+++ b/test/data/mvn_alias/more_invocations-00002.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" ?>
+<configuration
xmlns="http://fedorahosted.org/xmvn/CONFIG/0.6.0">
+
+
+
+ <!--XMvn configuration file generated by javapackages.xmvn_config (part of
javapackages-tools)-->
+ <artifactManagement>
+ <rule>
+ <artifactGlob>
+ <artifactId>
+ zzz
+ </artifactId>
+ <groupId>
+ {xxx,yyy}
+ </groupId>
+ </artifactGlob>
+ <aliases>
+ <alias>
+ <artifactId>@1</artifactId>
+ <groupId>qqq</groupId>
+ </alias>
+ </aliases>
+ </rule>
+ </artifactManagement>
+</configuration>
diff --git a/test/mvn_macros_test.py b/test/mvn_macros_test.py
new file mode 100644
index 0000000..4b609fe
--- /dev/null
+++ b/test/mvn_macros_test.py
@@ -0,0 +1,112 @@
+import os
+import shutil
+import unittest
+
+from xml_compare import compare_xml_files
+from test_common import DIRPATH
+from test_rpmbuild import Package
+
+WORKDIR = os.path.join(DIRPATH, '.workdir')
+
+def rpm_test():
+ def test_decorator(function):
+ def test_decorated(self):
+ pack = Package(function.__name__)
+ function(self, pack)
+ return test_decorated
+ return test_decorator
+
+class MvnMacrosTest(unittest.TestCase):
+ maxDiff = 2048
+
+ def setUp(self):
+ self.olddir = os.getcwd()
+ try:
+ shutil.rmtree(WORKDIR)
+ except OSError:
+ pass
+ try:
+ os.mkdir(WORKDIR)
+ except OSError:
+ pass
+ os.chdir(WORKDIR)
+
+ def tearDown(self):
+ try:
+ shutil.rmtree(WORKDIR)
+ except OSError:
+ pass
+ os.chdir(self.olddir)
+
+ @rpm_test()
+ def test_mvn_alias_simple(self, pack):
+ pack.append_to_prep('%mvn_alias aaa:bbb xxx:yyy')
+ _, stderr, return_value = pack.run_prep()
+ self.assertEqual(return_value, 0, stderr)
+ confpath = os.path.join(pack.buildpath, '.xmvn', 'config.d')
+ filelist = os.listdir(confpath)
+ self.assertEquals(len(filelist), 1)
+ actfile = os.path.join(confpath, filelist[0])
+ expfile = os.path.join(DIRPATH, 'data', 'mvn_alias',
'simple_00001.xml')
+ report = compare_xml_files(actfile, expfile, ['artifactGlob'])
+ self.assertEquals(report, '', report)
+
+ @rpm_test()
+ def test_mvn_alias_backref(self, pack):
+ pack.append_to_prep("""%mvn_alias '*:{aaa,bbb}*'
':@1'""")
+ _, stderr, return_value = pack.run_prep()
+ self.assertEqual(return_value, 0, stderr)
+ confpath = os.path.join(pack.buildpath, '.xmvn', 'config.d')
+ filelist = os.listdir(confpath)
+ self.assertEquals(len(filelist), 1)
+ actfile = os.path.join(confpath, filelist[0])
+ expfile = os.path.join(DIRPATH, 'data', 'mvn_alias',
+ 'backref_00001.xml')
+ report = compare_xml_files(actfile, expfile, ['artifactGlob'])
+ self.assertEquals(report, '', report)
+
+ @rpm_test()
+ def test_mvn_alias_multi(self, pack):
+ pack.append_to_prep('%mvn_alias "aaa:bbb" "ccc:ddd" \
+ "eee:fff" "ggg:hhh"')
+ _, stderr, return_value = pack.run_prep()
+ self.assertEqual(return_value, 0, stderr)
+ confpath = os.path.join(pack.buildpath, '.xmvn', 'config.d')
+ filelist = os.listdir(confpath)
+ self.assertEquals(len(filelist), 1)
+ actfile = os.path.join(confpath, filelist[0])
+ expfile = os.path.join(DIRPATH, 'data', 'mvn_alias',
+ 'multi_00001.xml')
+ report = compare_xml_files(actfile, expfile, ['artifactGlob'])
+ self.assertEquals(report, '', report)
+
+ @rpm_test()
+ def test_mvn_alias_no_args(self, pack):
+ pack.append_to_prep('%mvn_alias')
+ _, stderr, return_value = pack.run_prep()
+ self.assertNotEqual(return_value, 0)
+ self.assertNotEqual(stderr, '')
+
+ @rpm_test()
+ def test_mvn_alias_single_arg(self, pack):
+ pack.append_to_prep('%mvn_alias "aaa:bbb"')
+ _, stderr, return_value = pack.run_prep()
+ self.assertNotEqual(return_value, 0)
+ self.assertNotEqual(stderr, '')
+
+ @rpm_test()
+ def test_mvn_alias_more_invocations(self, pack):
+ pack.append_to_prep('%mvn_alias "aaa:bbb"
"ccc:ddd"')
+ pack.append_to_prep('%mvn_alias "{xxx,yyy}:zzz"
"qqq:@1"')
+ _, stderr, return_value = pack.run_prep()
+ self.assertEqual(return_value, 0, stderr)
+ confpath = os.path.join(pack.buildpath, '.xmvn', 'config.d')
+ filelist = os.listdir(confpath)
+ self.assertEquals(len(filelist), 2)
+ for i in range(2):
+ actfile = os.path.join(confpath, filelist[i])
+ filename = 'more_invocations-0000{i}.xml'.format(i=i + 1)
+ expfile = os.path.join(DIRPATH, 'data', 'mvn_alias',
filename)
+ report = compare_xml_files(actfile, expfile, ['artifactGlob'])
+ self.assertEquals(report, '', report)
+