summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_manifest.py23
-rw-r--r--tests/test_openpgp.py67
-rw-r--r--tests/test_recursiveloader.py156
-rw-r--r--tests/test_verify.py70
4 files changed, 31 insertions, 285 deletions
diff --git a/tests/test_manifest.py b/tests/test_manifest.py
index ed5042d..a99b31c 100644
--- a/tests/test_manifest.py
+++ b/tests/test_manifest.py
@@ -17,7 +17,6 @@ MANIFEST eclass/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6
IGNORE local
DATA myebuild-0.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
MISC metadata.xml 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
-OPTIONAL ChangeLog
DIST mydistfile.tar.gz 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
DATA foo.txt 0
'''
@@ -82,7 +81,6 @@ class ManifestTest(unittest.TestCase):
self.assertIsNone(m.find_path_entry('locale'))
self.assertEqual(m.find_path_entry('myebuild-0.ebuild').path, 'myebuild-0.ebuild')
self.assertEqual(m.find_path_entry('metadata.xml').path, 'metadata.xml')
- self.assertEqual(m.find_path_entry('ChangeLog').path, 'ChangeLog')
self.assertIsNone(m.find_path_entry('mydistfile.tar.gz'))
def test_find_path_entry_AUX(self):
@@ -128,7 +126,6 @@ DIST mydistfile.tar.gz 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4
IGNORE local
MANIFEST eclass/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
MISC metadata.xml 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
-OPTIONAL ChangeLog
TIMESTAMP 2017-10-22T18:06:41Z
'''.lstrip())
@@ -187,13 +184,6 @@ class ManifestEntryTest(unittest.TestCase):
self.assertListEqual(list(m.to_list()),
['MISC'] + list(self.file_vals))
- def test_OPTIONAL(self):
- self.assertEqual(gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', 'test')).path,
- 'test')
- self.assertListEqual(list(gemato.manifest.ManifestEntryOPTIONAL('test').to_list()),
- ['OPTIONAL', 'test'])
-
def test_DIST(self):
m = gemato.manifest.ManifestEntryDIST.from_list(
('DIST',) + self.file_vals)
@@ -246,10 +236,6 @@ class ManifestEntryTest(unittest.TestCase):
self.assertRaises(gemato.exceptions.ManifestSyntaxError,
gemato.manifest.ManifestEntryIGNORE.from_list, ('IGNORE', '/foo',))
self.assertRaises(gemato.exceptions.ManifestSyntaxError,
- gemato.manifest.ManifestEntryOPTIONAL.from_list, ('OPTIONAL', '',))
- self.assertRaises(gemato.exceptions.ManifestSyntaxError,
- gemato.manifest.ManifestEntryOPTIONAL.from_list, ('OPTIONAL', '/foo',))
- self.assertRaises(gemato.exceptions.ManifestSyntaxError,
gemato.manifest.ManifestEntryDATA.from_list, ('DATA', '',))
self.assertRaises(gemato.exceptions.ManifestSyntaxError,
gemato.manifest.ManifestEntryDATA.from_list, ('DATA', '/foo',))
@@ -360,10 +346,6 @@ class ManifestEntryTest(unittest.TestCase):
self.assertRaises(gemato.exceptions.ManifestSyntaxError,
gemato.manifest.ManifestEntryMISC.from_list, ('MISC', 'foo'))
self.assertRaises(gemato.exceptions.ManifestSyntaxError,
- gemato.manifest.ManifestEntryOPTIONAL.from_list, ('OPTIONAL',))
- self.assertRaises(gemato.exceptions.ManifestSyntaxError,
- gemato.manifest.ManifestEntryOPTIONAL.from_list, ('OPTIONAL', 'foo', 'bar'))
- self.assertRaises(gemato.exceptions.ManifestSyntaxError,
gemato.manifest.ManifestEntryDIST.from_list, ('DIST',))
self.assertRaises(gemato.exceptions.ManifestSyntaxError,
gemato.manifest.ManifestEntryDIST.from_list, ('DIST', 'foo'))
@@ -424,11 +406,6 @@ class NewManifestEntryTest(unittest.TestCase):
'test', 32, {}),
gemato.manifest.ManifestEntryMISC)
- def test_OPTIONAL(self):
- self.assertIsInstance(
- gemato.manifest.new_manifest_entry('OPTIONAL', 'test'),
- gemato.manifest.ManifestEntryOPTIONAL)
-
def test_DIST(self):
self.assertIsInstance(
gemato.manifest.new_manifest_entry('DIST',
diff --git a/tests/test_openpgp.py b/tests/test_openpgp.py
index 2c35880..0e765af 100644
--- a/tests/test_openpgp.py
+++ b/tests/test_openpgp.py
@@ -96,79 +96,70 @@ jCvJNJ7pU8YnJSRTQDH0PZEupAdzDU/AhGSrBz5+Jr7N0pQIxq4duE/Q
SIGNED_MANIFEST = u'''
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA512
+Hash: SHA256
TIMESTAMP 2017-10-22T18:06:41Z
MANIFEST eclass/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
IGNORE local
DATA myebuild-0.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
MISC metadata.xml 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
-OPTIONAL ChangeLog
DIST mydistfile.tar.gz 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
-----BEGIN PGP SIGNATURE-----
-iQGTBAEBCgB9FiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAlnwXQpfFIAAAAAALgAo
-aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDgx
-RTEyQzE2QkQ4RENENjBCRTE4MDg0NTEzNjg4MEU3MkE3QjEzODQACgkQE2iA5yp7
-E4ScZAf+IF4suRtuN3bJki2zyYV/1VtSekK96tO+IzXxXDY0OKXmf61R6ZuuXcUD
-Q+DlBONMILG+CDY+qiDp6snEWPmeLuh57qjkxilTgEX88W7OSCSdvGzSbC5WIRQG
-KHtfZWtVVrZHTzQ6MF3u2Vombkpra/CQrf4Yx+8zdkorsoXwZ6ZjriB3W/zTUWIJ
-XUy2tNfupdu72q9ske3dhVLhUEjtBzq5MlTf6gUjLBEsIHCGSafO2VG00lii3q4E
-14EEilADJlKAOwK5WQUmAOjeeC60ck5EW5tGBotncd954v6n42pwlVXVmqSOJdYy
-9F1V8N1m6n9UEUQ7Hhrv/+BTDPJO0A==
-=9naF
+iQEzBAEBCAAdFiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAloCx+YACgkQE2iA5yp7
+E4TYrwf+JxjkVDNtvSN3HjQmdtcayLsaliw/2kqjoaQKs0lZD8+NRe7xPmwSm4bP
+XKfoouJ0+/s87vuYJpBBCjtUDA9C9yZIeRTo8+eW6XsZbRRUmUD5ylTS+FpSsUrS
+bEyYk4yZQMYrat+GQ1QBv+625nqnSDv5LZHBBZ/rG36GGlwHPbIKIishnDfdG2QQ
+zuxkqepNq4Inzp//ES7Bv4qbTzyBI//HzfY31vOgdhhs5N5Ytez3Xxv/KNOTYdi1
+ZIfqeaQ4NoefmxQunyEjT+8X2DMaEeHQni7dwjQc+FiN4ReV9aWbLo2O2cArqEHR
+mkkhTd2Auao4D2K74BePBuiZ9+eDQA==
+=khff
-----END PGP SIGNATURE-----
'''
DASH_ESCAPED_SIGNED_MANIFEST = u'''
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA512
+Hash: SHA256
- TIMESTAMP 2017-10-22T18:06:41Z
- MANIFEST eclass/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
IGNORE local
- DATA myebuild-0.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
MISC metadata.xml 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
-- OPTIONAL ChangeLog
- DIST mydistfile.tar.gz 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
-----BEGIN PGP SIGNATURE-----
-iQGTBAEBCgB9FiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAlnwXQpfFIAAAAAALgAo
-aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDgx
-RTEyQzE2QkQ4RENENjBCRTE4MDg0NTEzNjg4MEU3MkE3QjEzODQACgkQE2iA5yp7
-E4ScZAf+IF4suRtuN3bJki2zyYV/1VtSekK96tO+IzXxXDY0OKXmf61R6ZuuXcUD
-Q+DlBONMILG+CDY+qiDp6snEWPmeLuh57qjkxilTgEX88W7OSCSdvGzSbC5WIRQG
-KHtfZWtVVrZHTzQ6MF3u2Vombkpra/CQrf4Yx+8zdkorsoXwZ6ZjriB3W/zTUWIJ
-XUy2tNfupdu72q9ske3dhVLhUEjtBzq5MlTf6gUjLBEsIHCGSafO2VG00lii3q4E
-14EEilADJlKAOwK5WQUmAOjeeC60ck5EW5tGBotncd954v6n42pwlVXVmqSOJdYy
-9F1V8N1m6n9UEUQ7Hhrv/+BTDPJO0A==
-=9naF
+iQEzBAEBCAAdFiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAloCx+YACgkQE2iA5yp7
+E4TYrwf+JxjkVDNtvSN3HjQmdtcayLsaliw/2kqjoaQKs0lZD8+NRe7xPmwSm4bP
+XKfoouJ0+/s87vuYJpBBCjtUDA9C9yZIeRTo8+eW6XsZbRRUmUD5ylTS+FpSsUrS
+bEyYk4yZQMYrat+GQ1QBv+625nqnSDv5LZHBBZ/rG36GGlwHPbIKIishnDfdG2QQ
+zuxkqepNq4Inzp//ES7Bv4qbTzyBI//HzfY31vOgdhhs5N5Ytez3Xxv/KNOTYdi1
+ZIfqeaQ4NoefmxQunyEjT+8X2DMaEeHQni7dwjQc+FiN4ReV9aWbLo2O2cArqEHR
+mkkhTd2Auao4D2K74BePBuiZ9+eDQA==
+=khff
-----END PGP SIGNATURE-----
'''
MODIFIED_SIGNED_MANIFEST = u'''
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA512
+Hash: SHA256
TIMESTAMP 2017-10-22T18:06:41Z
MANIFEST eclass/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
IGNORE local
DATA myebuild-0.ebuild 32
MISC metadata.xml 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
-OPTIONAL ChangeLog
DIST mydistfile.tar.gz 0 MD5 d41d8cd98f00b204e9800998ecf8427e SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709
-----BEGIN PGP SIGNATURE-----
-iQGTBAEBCgB9FiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAlnwXQpfFIAAAAAALgAo
-aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDgx
-RTEyQzE2QkQ4RENENjBCRTE4MDg0NTEzNjg4MEU3MkE3QjEzODQACgkQE2iA5yp7
-E4ScZAf+IF4suRtuN3bJki2zyYV/1VtSekK96tO+IzXxXDY0OKXmf61R6ZuuXcUD
-Q+DlBONMILG+CDY+qiDp6snEWPmeLuh57qjkxilTgEX88W7OSCSdvGzSbC5WIRQG
-KHtfZWtVVrZHTzQ6MF3u2Vombkpra/CQrf4Yx+8zdkorsoXwZ6ZjriB3W/zTUWIJ
-XUy2tNfupdu72q9ske3dhVLhUEjtBzq5MlTf6gUjLBEsIHCGSafO2VG00lii3q4E
-14EEilADJlKAOwK5WQUmAOjeeC60ck5EW5tGBotncd954v6n42pwlVXVmqSOJdYy
-9F1V8N1m6n9UEUQ7Hhrv/+BTDPJO0A==
-=9naF
+iQEzBAEBCAAdFiEEgeEsFr2NzWC+GAhFE2iA5yp7E4QFAloCx+YACgkQE2iA5yp7
+E4TYrwf+JxjkVDNtvSN3HjQmdtcayLsaliw/2kqjoaQKs0lZD8+NRe7xPmwSm4bP
+XKfoouJ0+/s87vuYJpBBCjtUDA9C9yZIeRTo8+eW6XsZbRRUmUD5ylTS+FpSsUrS
+bEyYk4yZQMYrat+GQ1QBv+625nqnSDv5LZHBBZ/rG36GGlwHPbIKIishnDfdG2QQ
+zuxkqepNq4Inzp//ES7Bv4qbTzyBI//HzfY31vOgdhhs5N5Ytez3Xxv/KNOTYdi1
+ZIfqeaQ4NoefmxQunyEjT+8X2DMaEeHQni7dwjQc+FiN4ReV9aWbLo2O2cArqEHR
+mkkhTd2Auao4D2K74BePBuiZ9+eDQA==
+=khff
-----END PGP SIGNATURE-----
'''
@@ -215,13 +206,13 @@ class SignedManifestTest(unittest.TestCase):
def test_junk_before_manifest_load(self):
m = gemato.manifest.ManifestFile()
- with io.StringIO('OPTIONAL test\n' + SIGNED_MANIFEST) as f:
+ with io.StringIO('IGNORE test\n' + SIGNED_MANIFEST) as f:
self.assertRaises(gemato.exceptions.ManifestUnsignedData,
m.load, f, verify_openpgp=False)
def test_junk_after_manifest_load(self):
m = gemato.manifest.ManifestFile()
- with io.StringIO(SIGNED_MANIFEST + 'OPTIONAL test\n') as f:
+ with io.StringIO(SIGNED_MANIFEST + 'IGNORE test\n') as f:
self.assertRaises(gemato.exceptions.ManifestUnsignedData,
m.load, f, verify_openpgp=False)
diff --git a/tests/test_recursiveloader.py b/tests/test_recursiveloader.py
index 3d51d8b..380ce34 100644
--- a/tests/test_recursiveloader.py
+++ b/tests/test_recursiveloader.py
@@ -22,13 +22,12 @@ class BasicNestingTest(TempDirTestCase):
FILES = {
'Manifest': u'''
TIMESTAMP 2017-01-01T01:01:01Z
-MANIFEST sub/Manifest 146 MD5 81180715a77069664b4b695e53bb856d
+MANIFEST sub/Manifest 128 MD5 30fd28b98a23031c72793908dd35c530
MANIFEST other/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e
DIST topdistfile-1.txt 0 MD5 d41d8cd98f00b204e9800998ecf8427e
''',
'sub/Manifest': u'''
MANIFEST deeper/Manifest 50 MD5 0f7cd9ed779a4844f98d28315dd9176a
-OPTIONAL nonstray
DIST subdistfile-1.txt 0 MD5 d41d8cd98f00b204e9800998ecf8427e
''',
'sub/stray': u'',
@@ -159,11 +158,6 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
os.path.join(self.dir, 'Manifest'))
self.assertEqual(m.verify_path('sub/deeper/test'), (True, []))
- def test_verify_optional_path(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertEqual(m.verify_path('sub/nonstray'), (True, []))
-
def test_verify_nonexistent_path(self):
m = gemato.recursiveloader.ManifestRecursiveLoader(
os.path.join(self.dir, 'Manifest'))
@@ -180,11 +174,6 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
os.path.join(self.dir, 'Manifest'))
m.assert_path_verifies('sub/deeper/test')
- def test_assert_path_verifies_optional_path(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- m.assert_path_verifies('sub/nonstray')
-
def test_assert_path_verifies_nonexistent_path(self):
m = gemato.recursiveloader.ManifestRecursiveLoader(
os.path.join(self.dir, 'Manifest'))
@@ -204,13 +193,11 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
frozenset((
'other/Manifest',
'sub/Manifest',
- 'sub/nonstray',
'sub/deeper/Manifest',
'sub/deeper/test',
)))
self.assertEqual(entries['other/Manifest'].path, 'other/Manifest')
self.assertEqual(entries['sub/Manifest'].path, 'sub/Manifest')
- self.assertEqual(entries['sub/nonstray'].path, 'nonstray')
self.assertEqual(entries['sub/deeper/Manifest'].path, 'deeper/Manifest')
self.assertEqual(entries['sub/deeper/test'].path, 'test')
@@ -249,18 +236,15 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
frozenset((
'other/Manifest',
'sub/Manifest',
- 'sub/nonstray',
'sub/deeper/Manifest',
'sub/deeper/test',
)))
self.assertEqual(entries['other/Manifest'][0], 'Manifest')
self.assertEqual(entries['sub/Manifest'][0], 'Manifest')
- self.assertEqual(entries['sub/nonstray'][0], 'sub/Manifest')
self.assertEqual(entries['sub/deeper/Manifest'][0], 'sub/Manifest')
self.assertEqual(entries['sub/deeper/test'][0], 'sub/deeper/Manifest')
self.assertEqual(entries['other/Manifest'][1].path, 'other/Manifest')
self.assertEqual(entries['sub/Manifest'][1].path, 'sub/Manifest')
- self.assertEqual(entries['sub/nonstray'][1].path, 'nonstray')
self.assertEqual(entries['sub/deeper/Manifest'][1].path, 'deeper/Manifest')
self.assertEqual(entries['sub/deeper/test'][1].path, 'test')
@@ -271,12 +255,10 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
self.assertSetEqual(frozenset(entries),
frozenset((
'sub/Manifest',
- 'sub/nonstray',
'sub/deeper/Manifest',
'sub/deeper/test',
)))
self.assertEqual(entries['sub/Manifest'].path, 'sub/Manifest')
- self.assertEqual(entries['sub/nonstray'].path, 'nonstray')
self.assertEqual(entries['sub/deeper/Manifest'].path, 'deeper/Manifest')
self.assertEqual(entries['sub/deeper/test'].path, 'test')
@@ -288,16 +270,13 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
self.assertSetEqual(frozenset(entries),
frozenset((
'sub/Manifest',
- 'sub/nonstray',
'sub/deeper/Manifest',
'sub/deeper/test',
)))
self.assertEqual(entries['sub/Manifest'][0], 'Manifest')
- self.assertEqual(entries['sub/nonstray'][0], 'sub/Manifest')
self.assertEqual(entries['sub/deeper/Manifest'][0], 'sub/Manifest')
self.assertEqual(entries['sub/deeper/test'][0], 'sub/deeper/Manifest')
self.assertEqual(entries['sub/Manifest'][1].path, 'sub/Manifest')
- self.assertEqual(entries['sub/nonstray'][1].path, 'nonstray')
self.assertEqual(entries['sub/deeper/Manifest'][1].path, 'deeper/Manifest')
self.assertEqual(entries['sub/deeper/test'][1].path, 'test')
@@ -421,7 +400,7 @@ DATA test 0 MD5 d41d8cd98f00b204e9800998ecf8427e
self.assertEqual(f.read(), u'''
DIST topdistfile-1.txt 0 MD5 d41d8cd98f00b204e9800998ecf8427e
MANIFEST other/Manifest 0 MD5 d41d8cd98f00b204e9800998ecf8427e
-MANIFEST sub/Manifest 145 MD5 75e2be2f56f58e486fd195ec4d96da4a
+MANIFEST sub/Manifest 127 MD5 de990fbccb1261da02c7513dfec56045
TIMESTAMP 2017-01-01T01:01:01Z
'''.lstrip())
with io.open(os.path.join(self.dir, 'sub/Manifest'),
@@ -429,7 +408,6 @@ TIMESTAMP 2017-01-01T01:01:01Z
self.assertEqual(f.read(), u'''
DIST subdistfile-1.txt 0 MD5 d41d8cd98f00b204e9800998ecf8427e
MANIFEST deeper/Manifest 49 MD5 b86a7748346d54c6455886306f017e6c
-OPTIONAL nonstray
'''.lstrip())
def test_update_entry_for_path(self):
@@ -1357,68 +1335,6 @@ MISC test.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e
m.get_deduplicated_file_entry_dict_for_update, '')
-class DuplicateIncompatibleDataOptionalTypeFileEntryTest(TempDirTestCase):
- """
- Test for specifying the entry for the same file twice, with
- incompatible types.
- """
-
- FILES = {
- 'Manifest': u'''
-DATA test.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e
-OPTIONAL test.ebuild
-''',
- }
-
- def test_find_path_entry(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertEqual(m.find_path_entry('test.ebuild').path, 'test.ebuild')
-
- def test_get_file_entry_dict(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestIncompatibleEntry,
- m.get_file_entry_dict, '')
-
- def test_deduplicated_get_file_entry_dict_for_update(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestIncompatibleEntry,
- m.get_deduplicated_file_entry_dict_for_update, '')
-
-
-class DuplicateIncompatibleMiscOptionalTypeFileEntryTest(TempDirTestCase):
- """
- Test for specifying the entry for the same file twice, with
- incompatible types.
- """
-
- FILES = {
- 'Manifest': u'''
-MISC test.ebuild 0 MD5 d41d8cd98f00b204e9800998ecf8427e
-OPTIONAL test.ebuild
-''',
- }
-
- def test_find_path_entry(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertEqual(m.find_path_entry('test.ebuild').path, 'test.ebuild')
-
- def test_get_file_entry_dict(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestIncompatibleEntry,
- m.get_file_entry_dict, '')
-
- def test_deduplicated_get_file_entry_dict_for_update(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestIncompatibleEntry,
- m.get_deduplicated_file_entry_dict_for_update, '')
-
-
class DuplicateDifferentSizeFileEntryTest(TempDirTestCase):
"""
Test for specifying the entry for the same file twice, with
@@ -1619,74 +1535,6 @@ MISC foo 0 MD5 d41d8cd98f00b204e9800998ecf8427e
m.assert_directory_verifies()
-class ManifestOptionalEntryTest(TempDirTestCase):
- """
- Test for a Manifest file with OPTIONAL.
- """
-
- FILES = {
- 'Manifest': u'''
-OPTIONAL foo
-''',
- 'foo': u'test',
- }
-
- def test_assert_directory_verifies(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertRaises(gemato.exceptions.ManifestMismatch,
- m.assert_directory_verifies, '')
-
- def test_assert_directory_verifies_nonstrict(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertTrue(m.assert_directory_verifies('',
- warn_handler=lambda x: True))
-
- def test_assert_directory_verifies_nonstrict_false(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- self.assertFalse(m.assert_directory_verifies('',
- warn_handler=lambda x: False))
-
- def test_cli_verifies(self):
- self.assertEqual(
- gemato.cli.main(['gemato', 'verify', self.dir]),
- 1)
-
- def test_cli_verifies_nonstrict(self):
- self.assertEqual(
- gemato.cli.main(['gemato', 'verify', '--no-strict', self.dir]),
- 0)
-
- def test_update_entry_for_path(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'))
- m.update_entry_for_path('foo')
- self.assertIsInstance(m.find_path_entry('foo'),
- gemato.manifest.ManifestEntryOPTIONAL)
- m.save_manifests()
- with io.open(os.path.join(self.dir, 'Manifest'),
- 'r', encoding='utf8') as f:
- self.assertEqual(f.read(), self.FILES['Manifest'])
- self.assertRaises(gemato.exceptions.ManifestMismatch,
- m.assert_directory_verifies, '')
-
- def test_update_entries_for_directory(self):
- m = gemato.recursiveloader.ManifestRecursiveLoader(
- os.path.join(self.dir, 'Manifest'),
- hashes=['SHA256', 'SHA512'])
- m.update_entries_for_directory('')
- self.assertIsInstance(m.find_path_entry('foo'),
- gemato.manifest.ManifestEntryOPTIONAL)
- m.save_manifests()
- with io.open(os.path.join(self.dir, 'Manifest'),
- 'r', encoding='utf8') as f:
- self.assertEqual(f.read(), self.FILES['Manifest'])
- self.assertRaises(gemato.exceptions.ManifestMismatch,
- m.assert_directory_verifies, '')
-
-
class CrossDeviceManifestTest(TempDirTestCase):
"""
Test for a Manifest that crosses filesystem boundaries.
diff --git a/tests/test_verify.py b/tests/test_verify.py
index a32ea8d..7fe81a7 100644
--- a/tests/test_verify.py
+++ b/tests/test_verify.py
@@ -40,12 +40,6 @@ class NonExistingFileVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_path(os.path.join(self.dir, e.path), e),
(True, []))
- def testOPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', 'test'))
- self.assertEqual(gemato.verify.verify_path(os.path.join(self.dir, e.path), e),
- (True, []))
-
def testNone(self):
self.assertEqual(gemato.verify.verify_path(os.path.join(self.dir, 'test'), None),
(True, []))
@@ -82,12 +76,6 @@ class DirectoryVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_path(self.dir, e),
(True, []))
- def testOPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', os.path.basename(self.dir)))
- self.assertEqual(gemato.verify.verify_path(self.dir, e),
- (False, [('__exists__', False, True)]))
-
def testNone(self):
self.assertEqual(gemato.verify.verify_path(self.dir, None),
(False, [('__exists__', False, True)]))
@@ -121,12 +109,6 @@ class CharacterDeviceVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_path(self.path, e),
(True, []))
- def testOPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', os.path.basename(self.path)))
- self.assertEqual(gemato.verify.verify_path(self.path, e),
- (False, [('__exists__', False, True)]))
-
def testNone(self):
self.assertEqual(gemato.verify.verify_path(self.path, None),
(False, [('__exists__', False, True)]))
@@ -166,12 +148,6 @@ class NamedPipeVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_path(self.path, e),
(True, []))
- def testOPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', os.path.basename(self.path)))
- self.assertEqual(gemato.verify.verify_path(self.path, e),
- (False, [('__exists__', False, True)]))
-
def testNone(self):
self.assertEqual(gemato.verify.verify_path(self.path, None),
(False, [('__exists__', False, True)]))
@@ -214,12 +190,6 @@ class UNIXSocketVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_path(self.path, e),
(True, []))
- def testOPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', os.path.basename(self.path)))
- self.assertEqual(gemato.verify.verify_path(self.path, e),
- (False, [('__exists__', False, True)]))
-
def testNone(self):
self.assertEqual(gemato.verify.verify_path(self.path, None),
(False, [('__exists__', False, True)]))
@@ -303,12 +273,6 @@ class EmptyFileVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_path(self.path, e),
(True, []))
- def testOPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', os.path.basename(self.path)))
- self.assertEqual(gemato.verify.verify_path(self.path, e),
- (False, [('__exists__', False, True)]))
-
def testNone(self):
self.assertEqual(gemato.verify.verify_path(self.path, None),
(False, [('__exists__', False, True)]))
@@ -408,12 +372,6 @@ class EmptyFileVerificationTest(unittest.TestCase):
self.assertEqual(e.size, 0)
self.assertDictEqual(e.checksums, {})
- def test_update_OPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL(
- os.path.basename(self.path))
- self.assertRaises(AssertionError,
- gemato.verify.update_entry_for_path, self.path, e)
-
def test_update_IGNORE(self):
e = gemato.manifest.ManifestEntryIGNORE(
os.path.basename(self.path))
@@ -576,12 +534,6 @@ class NonEmptyFileVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_path(self.path, e),
(True, []))
- def testOPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', os.path.basename(self.path)))
- self.assertEqual(gemato.verify.verify_path(self.path, e),
- (False, [('__exists__', False, True)]))
-
def testNone(self):
self.assertEqual(gemato.verify.verify_path(self.path, None),
(False, [('__exists__', False, True)]))
@@ -862,12 +814,6 @@ class ProcFileVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_path(self.path, e),
(True, []))
- def testOPTIONAL(self):
- e = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', os.path.basename(self.path)))
- self.assertEqual(gemato.verify.verify_path(self.path, e),
- (False, [('__exists__', False, True)]))
-
def testNone(self):
self.assertEqual(gemato.verify.verify_path(self.path, None),
(False, [('__exists__', False, True)]))
@@ -978,22 +924,6 @@ class EntryCompatibilityVerificationTest(unittest.TestCase):
self.assertEqual(gemato.verify.verify_entry_compatibility(e1, e2),
(False, [('__type__', 'DATA', 'MISC')]))
- def test_incompatible_types_DATA_OPTIONAL(self):
- e1 = gemato.manifest.ManifestEntryDATA.from_list(
- ('DATA', 'test', '0', 'MD5', 'd41d8cd98f00b204e9800998ecf8427e'))
- e2 = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', 'test'))
- self.assertEqual(gemato.verify.verify_entry_compatibility(e1, e2),
- (False, [('__type__', 'DATA', 'OPTIONAL')]))
-
- def test_incompatible_types_MISC_OPTIONAL(self):
- e1 = gemato.manifest.ManifestEntryMISC.from_list(
- ('MISC', 'test', '0', 'MD5', 'd41d8cd98f00b204e9800998ecf8427e'))
- e2 = gemato.manifest.ManifestEntryOPTIONAL.from_list(
- ('OPTIONAL', 'test'))
- self.assertEqual(gemato.verify.verify_entry_compatibility(e1, e2),
- (False, [('__type__', 'MISC', 'OPTIONAL')]))
-
def test_incompatible_types_DATA_IGNORE(self):
e1 = gemato.manifest.ManifestEntryDATA.from_list(
('DATA', 'test', '0', 'MD5', 'd41d8cd98f00b204e9800998ecf8427e'))