diff options
| author | Justus Winter <[email protected]> | 2016-10-13 11:13:23 +0000 | 
|---|---|---|
| committer | Justus Winter <[email protected]> | 2016-10-13 11:19:49 +0000 | 
| commit | f526d0e22e8b881ccbca66b46a0e1b68bbc4cd6b (patch) | |
| tree | 7deb5fc787f22e6104d830ca3ab4a0b72b1a07d6 /lang/python/tests | |
| parent | python: Return public keys by default. (diff) | |
| download | gpgme-f526d0e22e8b881ccbca66b46a0e1b68bbc4cd6b.tar.gz gpgme-f526d0e22e8b881ccbca66b46a0e1b68bbc4cd6b.zip | |
python: Make 'get_key' more idiomatic.
* lang/python/pyme/core.py (Context.get_key): Raise errors.KeyNotFound
if the key is not found.  This error is both a KeyError for idiomatic
error handling as well as a GPGMEError so we don't break existing
code.
* lang/python/pyme/errors.py (KeyNotFound): New class.
* lang/python/tests/support.py (no_such_key): New variable.
* lang/python/tests/t-keylist.py: Test the new behavior.
Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'lang/python/tests')
| -rw-r--r-- | lang/python/tests/support.py | 1 | ||||
| -rwxr-xr-x | lang/python/tests/t-keylist.py | 23 | 
2 files changed, 24 insertions, 0 deletions
| diff --git a/lang/python/tests/support.py b/lang/python/tests/support.py index 4d7135e9..f1ffdc38 100644 --- a/lang/python/tests/support.py +++ b/lang/python/tests/support.py @@ -27,6 +27,7 @@ alpha = "A0FF4590BB6122EDEF6E3C542D727CC768697734"  bob = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"  encrypt_only = "F52770D5C4DB41408D918C9F920572769B9FE19C"  sign_only = "7CCA20CCDE5394CEE71C9F0BFED153F12F18F45D" +no_such_key = "A" * 40  def make_filename(name):      return os.path.join(os.environ['top_srcdir'], 'tests', 'gpg', name) diff --git a/lang/python/tests/t-keylist.py b/lang/python/tests/t-keylist.py index 5e8b3336..f7f6674e 100755 --- a/lang/python/tests/t-keylist.py +++ b/lang/python/tests/t-keylist.py @@ -20,6 +20,7 @@  from __future__ import absolute_import, print_function, unicode_literals  del absolute_import, print_function, unicode_literals +import pyme  from pyme import core, constants  import support @@ -244,3 +245,25 @@ for i, key in enumerate(c.keylist()):      if misc_check:          misc_check (uids[0][0], key) + + +# check get_key() +with pyme.Context() as c: +  c.get_key(support.alpha) +  c.get_key(support.alpha, secret=True) + +  c.get_key(support.bob) +  try: +    c.get_key(support.bob, secret=True) +  except KeyError: +    pass +  else: +    assert False, "Expected KeyError" + +  # Legacy error +  try: +    c.get_key(support.no_such_key) +  except pyme.errors.GPGMEError: +    pass +  else: +    assert False, "Expected GPGMEError" | 
