Exemplo n.º 1
0
 def test_no_signature_rejected(self):
     # An unsigned changes file is rejected.
     path = datadir('signatures/unsigned.changes')
     changesfile = ChangesFile(path, InsecureUploadPolicy(), BufferLogger())
     errors = list(changesfile.parseChanges())
     self.assertIsInstance(errors[0], UploadError)
     self.assertEqual(1, len(errors))
 def createChangesFile(self, filename, changes):
     tempdir = self.makeTemporaryDirectory()
     path = os.path.join(tempdir, filename)
     with open(path, "w") as changes_fd:
         changes.dump(changes_fd)
     changesfile = ChangesFile(path, self.policy, self.logger)
     self.assertEqual([], list(changesfile.parseChanges()))
     return changesfile
Exemplo n.º 3
0
 def createChangesFile(self, filename, changes):
     tempdir = self.makeTemporaryDirectory()
     path = os.path.join(tempdir, filename)
     changes_fd = open(path, "w")
     try:
         changes.dump(changes_fd)
     finally:
         changes_fd.close()
     changesfile = ChangesFile(path, self.policy, self.logger)
     for error in changesfile.parseChanges():
         raise error
     return changesfile
Exemplo n.º 4
0
 def test_valid_signature_accepted(self):
     # A correctly signed changes file is accepted, and all its
     # content is parsed.
     path = datadir('signatures/signed.changes')
     changesfile = ChangesFile(path, InsecureUploadPolicy(), BufferLogger())
     self.assertEqual([], list(changesfile.parseChanges()))
     self.assertEqual(
         getUtility(IPersonSet).getByEmail('*****@*****.**'),
         changesfile.signer)
     expected = "\AFormat: 1.7\n.*foo_1.0-1.diff.gz\Z"
     self.assertTextMatchesExpressionIgnoreWhitespace(
         expected,
         changesfile.parsed_content)
Exemplo n.º 5
0
 def test_prefix_ignored(self):
     # A signed changes file with an unsigned prefix has only the
     # signed part parsed.
     path = datadir('signatures/prefixed.changes')
     changesfile = ChangesFile(path, InsecureUploadPolicy(), BufferLogger())
     self.assertEqual([], list(changesfile.parseChanges()))
     self.assertEqual(
         getUtility(IPersonSet).getByEmail('*****@*****.**'),
         changesfile.signer)
     expected = "\AFormat: 1.7\n.*foo_1.0-1.diff.gz\Z"
     self.assertTextMatchesExpressionIgnoreWhitespace(
         expected,
         changesfile.parsed_content)
     self.assertEqual("breezy", changesfile.suite_name)
     self.assertNotIn("evil", changesfile.changes_comment)