commit b3d01059ba81ea86b8d8cc4260525c040eb5b27e
Author: Michael Simacek <msimacek(a)redhat.com>
Date: Mon Sep 30 14:51:48 2013 +0200
Add tests for injecting into jars in maven_depmap.py
test/data/maven_depmap/test_compare_jar-want.jar | Bin 0 -> 646 bytes
.../test_compare_jar_modified-want.jar | Bin 0 -> 1280 bytes
.../test_compare_jar_unmodified-want.jar | Bin 0 -> 863 bytes
.../usr/share/java/already-has-pom-properties.jar | Bin 0 -> 863 bytes
test/maven_depmap_test.py | 41 ++++++++++++++++++++
5 files changed, 41 insertions(+), 0 deletions(-)
---
diff --git a/test/data/maven_depmap/test_compare_jar-want.jar
b/test/data/maven_depmap/test_compare_jar-want.jar
new file mode 100644
index 0000000..f4c2afd
Binary files /dev/null and b/test/data/maven_depmap/test_compare_jar-want.jar differ
diff --git a/test/data/maven_depmap/test_compare_jar_modified-want.jar
b/test/data/maven_depmap/test_compare_jar_modified-want.jar
new file mode 100644
index 0000000..73ce357
Binary files /dev/null and b/test/data/maven_depmap/test_compare_jar_modified-want.jar
differ
diff --git a/test/data/maven_depmap/test_compare_jar_unmodified-want.jar
b/test/data/maven_depmap/test_compare_jar_unmodified-want.jar
new file mode 100644
index 0000000..8e194bd
Binary files /dev/null and b/test/data/maven_depmap/test_compare_jar_unmodified-want.jar
differ
diff --git a/test/data/maven_depmap/usr/share/java/already-has-pom-properties.jar
b/test/data/maven_depmap/usr/share/java/already-has-pom-properties.jar
new file mode 100644
index 0000000..8e194bd
Binary files /dev/null and
b/test/data/maven_depmap/usr/share/java/already-has-pom-properties.jar differ
diff --git a/test/maven_depmap_test.py b/test/maven_depmap_test.py
index 41a18b7..7a31f91 100644
--- a/test/maven_depmap_test.py
+++ b/test/maven_depmap_test.py
@@ -1,4 +1,5 @@
import inspect
+from zipfile import ZipFile
import os
import unittest
import shutil
@@ -42,6 +43,25 @@ class TestMavenDepmap(unittest.TestCase):
res = doctest_xml_compare.xml_compare(got, want, self.xml_compare_reporter)
return got, want, res
+ def check_archive(self, test_name, archive_path, keep_comments=False):
+ with ZipFile(archive_path, 'r') as got:
+ with ZipFile('{name}-want.{ext}'.format(name=test_name,
+ ext=archive_path.split('.')[-1])) as want:
+ if got.testzip() is not None: return ("Not valid zip file",
"")
+ got_mf = self.read_archive(got, keep_comments)
+ want_mf = self.read_archive(want, keep_comments)
+ return (got_mf, want_mf)
+
+ def read_archive(self, archive, keep_comments=False):
+ res = {}
+ for f in archive.namelist():
+ with archive.open(f) as mf_file:
+ if (keep_comments):
+ res[f] = mf_file.readlines()
+ else:
+ res[f] = [line for line in mf_file.readlines() if not
line.startswith('#')]
+ return res
+
@mvn_depmap('JPP-bndlib.pom', 'usr/share/java/bndlib.jar')
def test_basic(self, stdout, stderr, return_value, depmap):
self.assertEqual(return_value, 0)
@@ -163,6 +183,27 @@ class TestMavenDepmap(unittest.TestCase):
depmap)
self.assertEqual(res, True)
+ @mvn_depmap('a:b:12', 'usr/foo/share/java/.out_archive.jar')
+ def test_compare_jar(self, stdout, stderr, return_value, depmap):
+ self.assertEqual(return_value, 0, stderr)
+ got, want = self.check_archive(inspect.currentframe().f_code.co_name,
+ 'usr/foo/share/java/.out_archive.jar')
+ self.assertEqual(got, want)
+
+ @mvn_depmap('a:b:12',
'usr/share/java/already-has-pom-properties.jar')
+ def test_compare_jar_unmodified(self, stdout, stderr, return_value, depmap):
+ self.assertEqual(return_value, 0, stderr)
+ got, want = self.check_archive(inspect.currentframe().f_code.co_name,
+ 'usr/share/java/already-has-pom-properties.jar',
keep_comments=True)
+ self.assertEqual(got, want)
+
+ @mvn_depmap('x:y:0.1',
'usr/share/java/already-has-pom-properties.jar')
+ def test_compare_jar_modified(self, stdout, stderr, return_value, depmap):
+ self.assertEqual(return_value, 0, stderr)
+ got, want = self.check_archive(inspect.currentframe().f_code.co_name,
+ 'usr/share/java/already-has-pom-properties.jar')
+ self.assertEqual(got, want)
+
if __name__ == '__main__':
unittest.main()