diff options
author | Justus Winter <[email protected]> | 2016-06-08 16:58:57 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-07-08 16:05:12 +0000 |
commit | d6408ce471c294c3e6f901d183b87d521b9bcc56 (patch) | |
tree | 79abbe30ca1a90a4460c696cdee6976890f486a9 /lang/python/tests/t-encrypt-sign.py | |
parent | python: Port more tests. (diff) | |
download | gpgme-justus/idiomatic-py-0.tar.gz gpgme-justus/idiomatic-py-0.zip |
python: idiomatic interface prototypejustus/idiomatic-py-0
Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'lang/python/tests/t-encrypt-sign.py')
-rwxr-xr-x | lang/python/tests/t-encrypt-sign.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lang/python/tests/t-encrypt-sign.py b/lang/python/tests/t-encrypt-sign.py index cba697c1..31cc94f0 100755 --- a/lang/python/tests/t-encrypt-sign.py +++ b/lang/python/tests/t-encrypt-sign.py @@ -18,6 +18,7 @@ # License along with this program; if not, see <http://www.gnu.org/licenses/>. import sys +import pyme from pyme import core, constants import support @@ -69,3 +70,26 @@ for recipients in (keys, []): check_result(result, constants.SIG_MODE_NORMAL) support.print_data(sink) + + +# Idiomatic interface. +with pyme.Context(armor=True) as c: + message = "Hallo Leute\n".encode() + ciphertext, _, sig_result = c.encrypt(message, + recipients=keys, + always_trust=True) + assert len(ciphertext) > 0 + assert ciphertext.find(b'BEGIN PGP MESSAGE') > 0, 'Marker not found' + check_result(sig_result, constants.SIG_MODE_NORMAL) + + c.signers = [c.get_key(support.sign_only, True)] + c.encrypt(message, recipients=keys, always_trust=True) + + c.signers = [c.get_key(support.encrypt_only, True)] + try: + c.encrypt(message, recipients=keys, always_trust=True) + except pyme.errors.InvalidSigners as e: + assert len(e.signers) == 1 + assert support.encrypt_only.endswith(e.signers[0].fpr) + else: + assert False, "Expected an InvalidSigners error, got none" |