From: Joerg Jaspert Date: Thu, 10 Sep 2015 20:06:26 +0000 (+0200) Subject: Merge remote-tracking branch 'lamby/improve-parse-changes-tests-796787' into merge X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=commitdiff_plain;h=9d77b10ef77da44cf458cc808c323c253b9b8c80;hp=4246596dd3110d6120ffdf0219e18b12e6ddfcbf Merge remote-tracking branch 'lamby/improve-parse-changes-tests-796787' into merge * lamby/improve-parse-changes-tests-796787: tests/test_parse_changes.py: Move test to ParseDscTestCase as we call with dsc_file=1 tests/test_parse_changes.py: Test that an contentless .dsc fails correctly tests/test_parse_changes.py: Actually use the blank file test fixture tests/test_parse_changes.py: Rewrite loose and difficult-to-use-correctly assertFails tests/test_parse_changes.py: Actually set dsc_file=1 when testing .dsc --- diff --git a/tests/fixtures/changes/two-beginnings.changes b/tests/fixtures/changes/two-beginnings.changes deleted file mode 100644 index 33fc072b..00000000 --- a/tests/fixtures/changes/two-beginnings.changes +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN PGP SIGNED MESSAGE OR SO----- -Hash: SHA512 - -This: is a bug. ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA512 - -Question: Is this a bug? ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.11 (GNU/Linux) - -iQIcBAEBCgAGBQJN1s1eAAoJEIATJTTdNH3Is4IP/3ppCve+jzobPjacyqYGyAec -Op2rnYkQulfln1tyaxr8A40MHSWUly1kFebPgO3XNgAQ8mIh7FCeL7tSsaDnrBwq -v/S/6JK1ZGCSuL6dleoqxoBgViJWQEvd297zAe0CzIdJ+JYgTPxX5cHh4E23rWmG -zG9ct3v+5J4mSeEGksZPn8/YalnWRwb72hj/0WTagA2SY89TVZ9onT6p8ftWf6aO -ODXDtclP56GixfnA3jR3reKI5/aLHXSLSYWGDOyEXffr0NoFvgtbsO4Y0FF2+Np3 -MpmJitoIRuJWk3zInYt0GeJskhEbvuF5Fnhiqrg43W5tFxB8pz5QHpDa/oq8Gfea -MU/2p6FHA12nwD7CVdKWv/ra3nAWcJPqqfV//xgnZaBdS7d4G+3+tMFFYk8sWqc1 -JphkXJ9M8eX67oEuKgwhwHGV/wGu96nkTergnvlqpxk6uesfnsy0ixXX0UgLzwEZ -ty1sZcCgq8dhdnEatkvRy2M13pS8S9iONmrowAck15YZuHcudBmvh5PFeNbpldmM -ABLFApnjtD3DljzrjBgnHQS5UHDzDhDiEEAiQrUM3nu/CNi6UPoxasGszJK8W0iV -MQmYVybk2L2lVV3b1qXURMyaFRcmVnLBNad/IiCbQiWTUCwg8zxzJoty1+f7+EDa -rPpj3R0qGxz01UsVtS3W -=/dES ------END PGP SIGNATURE----- diff --git a/tests/fixtures/dsc/8.dsc b/tests/fixtures/dsc/8.dsc new file mode 100644 index 00000000..92f3c523 --- /dev/null +++ b/tests/fixtures/dsc/8.dsc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.0.2 (GNU/Linux) +Comment: For info see http://www.gnupg.org + +iD8DBQE5j091iPgEjVqvb1kRAvFtAJ0asUAaac6ebfR3YeaH16HjL7F3GwCfV+AQ +rhYnRmVuNMa8oYSvL4hl/Yw= +=EFAA +-----END PGP SIGNATURE----- diff --git a/tests/fixtures/dsc/9.dsc b/tests/fixtures/dsc/9.dsc new file mode 100644 index 00000000..33fc072b --- /dev/null +++ b/tests/fixtures/dsc/9.dsc @@ -0,0 +1,25 @@ +-----BEGIN PGP SIGNED MESSAGE OR SO----- +Hash: SHA512 + +This: is a bug. +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +Question: Is this a bug? +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) + +iQIcBAEBCgAGBQJN1s1eAAoJEIATJTTdNH3Is4IP/3ppCve+jzobPjacyqYGyAec +Op2rnYkQulfln1tyaxr8A40MHSWUly1kFebPgO3XNgAQ8mIh7FCeL7tSsaDnrBwq +v/S/6JK1ZGCSuL6dleoqxoBgViJWQEvd297zAe0CzIdJ+JYgTPxX5cHh4E23rWmG +zG9ct3v+5J4mSeEGksZPn8/YalnWRwb72hj/0WTagA2SY89TVZ9onT6p8ftWf6aO +ODXDtclP56GixfnA3jR3reKI5/aLHXSLSYWGDOyEXffr0NoFvgtbsO4Y0FF2+Np3 +MpmJitoIRuJWk3zInYt0GeJskhEbvuF5Fnhiqrg43W5tFxB8pz5QHpDa/oq8Gfea +MU/2p6FHA12nwD7CVdKWv/ra3nAWcJPqqfV//xgnZaBdS7d4G+3+tMFFYk8sWqc1 +JphkXJ9M8eX67oEuKgwhwHGV/wGu96nkTergnvlqpxk6uesfnsy0ixXX0UgLzwEZ +ty1sZcCgq8dhdnEatkvRy2M13pS8S9iONmrowAck15YZuHcudBmvh5PFeNbpldmM +ABLFApnjtD3DljzrjBgnHQS5UHDzDhDiEEAiQrUM3nu/CNi6UPoxasGszJK8W0iV +MQmYVybk2L2lVV3b1qXURMyaFRcmVnLBNad/IiCbQiWTUCwg8zxzJoty1+f7+EDa +rPpj3R0qGxz01UsVtS3W +=/dES +-----END PGP SIGNATURE----- diff --git a/tests/test_parse_changes.py b/tests/test_parse_changes.py index 20dab4b9..c7193dbe 100755 --- a/tests/test_parse_changes.py +++ b/tests/test_parse_changes.py @@ -12,18 +12,6 @@ class ParseChangesTestCase(DakTestCase): def assertParse(self, filename, *args): return parse_changes(fixture(filename), *args) - def assertFails(self, filename, line=None, *args): - try: - self.assertParse(filename, *args) - self.fail('%s was not recognised as invalid' % filename) - except ParseChangesError: - pass - except GpgException: - pass - except InvalidDscError as actual_line: - if line is not None: - assertEqual(actual_line, line) - class ParseDscTestCase(ParseChangesTestCase): def test_1(self): self.assertParse('dsc/1.dsc', -1, 1) @@ -46,7 +34,8 @@ class ParseDscTestCase(ParseChangesTestCase): def test_4(self): # No blank lines at all - self.assertFails('dsc/4.dsc', -1, 1) + with self.assertRaises(GpgException): + self.assertParse('dsc/4.dsc', -1, 1) def test_5(self): # Extra blank line before signature body @@ -56,10 +45,26 @@ class ParseDscTestCase(ParseChangesTestCase): # Extra blank line after signature header self.assertParse('dsc/6.dsc', -1, 1) + def test_7(self): + # Blank file is an invalid armored GPG file + with self.assertRaises(GpgException): + self.assertParse('dsc/7.dsc', -1, 1) + + def test_8(self): + # No armored contents + with self.assertRaisesRegexp(ParseChangesError, "Empty changes"): + self.assertParse('dsc/8.dsc', -1, 1) + + def test_9(self): + changes = self.assertParse('dsc/9.dsc', -1, 1) + self.assert_(changes['question'] == 'Is this a bug?') + self.failIf(changes.get('this')) + class ParseChangesTestCase(ParseChangesTestCase): def test_1(self): # Empty changes - self.assertFails('changes/1.changes', 5, -1) + with self.assertRaises(GpgException): + self.assertParse('changes/1.changes', 1) def test_2(self): changes = self.assertParse('changes/2.changes', -1) @@ -77,10 +82,5 @@ class ParseChangesTestCase(ParseChangesTestCase): ) self.failIf(changes.get('you')) - def test_4(self): - changes = self.assertParse('changes/two-beginnings.changes', -1, 1) - self.assert_(changes['question'] == 'Is this a bug?') - self.failIf(changes.get('this')) - if __name__ == '__main__': unittest.main()