def test_gpg_verify_with_non_zero_gpg_exit_code(self):
"""
L{gpg_verify} runs the given gpg binary and returns C{False} if the
provided signature is not valid.
"""
gpg = self.makeFile("#!/bin/sh\necho out; echo err >&2; exit 1\n")
os.chmod(gpg, 0o755)
gpg_home = self.makeDir()
deferred = Deferred()
@mock.patch("tempfile.mkdtemp")
def do_test(mkdtemp_mock):
mkdtemp_mock.return_value = gpg_home
result = gpg_verify("/some/file", "/some/signature", gpg=gpg)
def check_failure(failure):
self.assertEqual(str(failure.value),
"%s failed (out='out\n', err='err\n', "
"code='1')" % gpg)
self.assertFalse(os.path.exists(gpg_home))
result.addCallback(self.fail)
result.addErrback(check_failure)
result.chainDeferred(deferred)
reactor.callWhenRunning(do_test)
return deferred
评论列表
文章目录