diff options
| author | Daniel Kahn Gillmor <dkg@fifthhorseman.net> | 2017-12-19 14:08:50 -0500 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2017-12-24 09:47:35 -0400 |
| commit | 6aec7a76b9e70544a93b092c50d167c3e63548ee (patch) | |
| tree | ed9b6069745122023e395548f5bec0842b4a9481 /test/T390-python.sh | |
| parent | e0ac149955686353570c19c9949c9032d46fb30f (diff) | |
python: add decrypt_policy argument to Database.index_file()
We adopt a pythonic idiom here with an optional argument, rather than
exposing the user to the C indexopts object directly.
This now includes a simple test to ensure that the decrypt_policy
argument works as expected.
Diffstat (limited to 'test/T390-python.sh')
| -rwxr-xr-x | test/T390-python.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/T390-python.sh b/test/T390-python.sh index 312d61e8..9f71ce3c 100755 --- a/test/T390-python.sh +++ b/test/T390-python.sh @@ -5,6 +5,7 @@ test_description="python bindings" test_require_external_prereq ${NOTMUCH_PYTHON} add_email_corpus +add_gnupg_home test_begin_subtest "compare thread ids" test_python <<EOF @@ -155,4 +156,42 @@ print(list(v) == []) EOF test_expect_equal "$(cat OUTPUT)" "True" +mkdir -p "${MAIL_DIR}/cur" +fname="${MAIL_DIR}/cur/simplemsg.eml" +cat <<EOF > "$fname" +From: test_suite@notmuchmail.org +To: test_suite@notmuchmail.org +Subject: encrypted message +Date: Sat, 01 Jan 2000 12:00:00 +0000 +Message-ID: <simplemsg@crypto.notmuchmail.org> +MIME-Version: 1.0 +Content-Type: multipart/encrypted; boundary="=-=-="; + protocol="application/pgp-encrypted" + +--=-=-= +Content-Type: application/pgp-encrypted + +Version: 1 + +--=-=-= +Content-Type: application/octet-stream + +$(printf 'Content-Type: text/plain\n\nThis is the sekrit message\n' | gpg --no-tty --batch --quiet --trust-model=always --encrypt --armor --recipient test_suite@notmuchmail.org) +--=-=-=-- +EOF + +test_begin_subtest "index message with decryption" +test_python <<EOF +import notmuch +db = notmuch.Database(mode=notmuch.Database.MODE.READ_WRITE) +(m, status) = db.index_file('$fname', decrypt_policy=notmuch.Database.DECRYPTION_POLICY.TRUE) +if status == notmuch.errors.STATUS.DUPLICATE_MESSAGE_ID: + print("got duplicate message") +q_new = notmuch.Query(db, 'sekrit') +for m in q_new.search_messages(): + print(m.get_filename()) +EOF +echo "$fname" > EXPECTED +test_expect_equal_file EXPECTED OUTPUT + test_done |
