]> git.decadent.org.uk Git - dak.git/blobdiff - tests/test_parse_changes.py
Merge remote-tracking branch 'jcristau/formatone-no-tar-sig'
[dak.git] / tests / test_parse_changes.py
index 5f6d49ab38605b5c2cf2662eb6f9e2efd191067e..65c0666a5a49cf92c12f8077d56ff47d8480fcb2 100755 (executable)
@@ -5,7 +5,7 @@ from base_test import DakTestCase, fixture
 import unittest
 
 from daklib.gpg import GpgException
-from daklib.utils import parse_changes
+from daklib.utils import parse_changes, check_dsc_files, build_file_list
 from daklib.dak_exceptions import InvalidDscError, ParseChangesError
 
 class ParseChangesTestCase(DakTestCase):
@@ -14,7 +14,10 @@ class ParseChangesTestCase(DakTestCase):
 
 class ParseDscTestCase(ParseChangesTestCase):
     def test_1(self):
-        self.assertParse('dsc/1.dsc', -1, 1)
+        changes = self.assertParse('dsc/1.dsc', -1, 1)
+        files = build_file_list(changes, 1)
+        rejmsg = check_dsc_files('1.dsc', changes, files.keys())
+        self.assertEqual(rejmsg, [])
 
     def test_1_ignoreErrors(self):
         # Valid .dsc ; ignoring errors
@@ -50,6 +53,23 @@ class ParseDscTestCase(ParseChangesTestCase):
         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'))
+
+    def test_10(self):
+        changes = self.assertParse('dsc/10.dsc', -1, 1)
+        files = build_file_list(changes, 1)
+        rejmsg = check_dsc_files('10.dsc', changes, files.keys())
+        self.assertEqual(rejmsg, ['10.dsc: contains source files not allowed in format 1.0'])
+
+
 class ParseChangesTestCase(ParseChangesTestCase):
     def test_1(self):
         # Empty changes
@@ -72,10 +92,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()