From e1c8357c441d4e70fb28838dead5a490f4663b87 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Mon, 6 May 2019 13:43:27 -0400 Subject: [PATCH] emacs: test notmuch-show during message decryption We did not have a test showing what message decryption looks like within notmuch-emacs. This change gives us a baseline for future work on the notmuch-emacs interface. This differs from previous revisions of this patch in that it should be insensitive to the order in which the local filesystem readdir()s the underlying maildir. Signed-off-by: Daniel Kahn Gillmor --- test/T357-index-decryption.sh | 13 +++++---- test/T450-emacs-show.sh | 15 ++++++++++ test/corpora/crypto/basic-encrypted.eml | 28 +++++++++++++++++++ .../notmuch-show-decrypted-message | 11 ++++++++ .../notmuch-show-undecryptable-message | 10 +++++++ 5 files changed, 71 insertions(+), 6 deletions(-) create mode 100644 test/corpora/crypto/basic-encrypted.eml create mode 100644 test/emacs-show.expected-output/notmuch-show-decrypted-message create mode 100644 test/emacs-show.expected-output/notmuch-show-undecryptable-message diff --git a/test/T357-index-decryption.sh b/test/T357-index-decryption.sh index 0a602e50..c9cd5e30 100755 --- a/test/T357-index-decryption.sh +++ b/test/T357-index-decryption.sh @@ -224,10 +224,11 @@ add_email_corpus crypto test_begin_subtest "indexing message fails when secret key not available" notmuch reindex --decrypt=true id:simple-encrypted@crypto.notmuchmail.org -output=$(notmuch dump ) -expected='#notmuch-dump batch-tag:3 config,properties,tags -+encrypted +inbox +unread -- id:simple-encrypted@crypto.notmuchmail.org -#= simple-encrypted@crypto.notmuchmail.org index.decryption=failure' +output=$(notmuch dump | LC_ALL=C sort) +expected='#= simple-encrypted@crypto.notmuchmail.org index.decryption=failure +#notmuch-dump batch-tag:3 config,properties,tags ++encrypted +inbox +unread -- id:basic-encrypted@crypto.notmuchmail.org ++encrypted +inbox +unread -- id:simple-encrypted@crypto.notmuchmail.org' test_expect_equal \ "$output" \ "$expected" @@ -245,8 +246,8 @@ notmuch restore <" + +# switching to the crypto corpus, using gpg from here on: +add_gnupg_home +add_email_corpus crypto + +test_begin_subtest "show decrypted message" +test_emacs '(notmuch-show "id:basic-encrypted@crypto.notmuchmail.org") + (test-visible-output)' +test_expect_equal_file $EXPECTED/notmuch-show-decrypted-message OUTPUT + +test_begin_subtest "show undecryptable message" +test_emacs '(notmuch-show "id:simple-encrypted@crypto.notmuchmail.org") + (test-visible-output)' +test_expect_equal_file $EXPECTED/notmuch-show-undecryptable-message OUTPUT + test_done diff --git a/test/corpora/crypto/basic-encrypted.eml b/test/corpora/crypto/basic-encrypted.eml new file mode 100644 index 00000000..1ba4698a --- /dev/null +++ b/test/corpora/crypto/basic-encrypted.eml @@ -0,0 +1,28 @@ +From: test_suite@notmuchmail.org +To: test_suite@notmuchmail.org +Subject: Here is the password +Date: Sat, 01 Jan 2000 12:00:00 +0000 +Message-ID: +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 + +-----BEGIN PGP MESSAGE----- + +hIwDxE023q1UqxYBBACp70e7KPy9OYaheIrkLzmhq1lRqmy51aL1jBL0K/qN7rfK +BZEG1cR8jeLjTFdPKPLVKJI80r7FgKI0ywvWvl6R1aE1Ty5BnVXT9XzCrEH7fqCl +SKK82EvolXTohAZHUrh6K66eQQTTIAC1n7B0A8hErzkgaM4+seN3LlvezT6TLNKM +ATpqsEbM2MVrGgw0b3oUsGGAPEt2MmjNEYsriKnqwt6dJDZc//XyhjgMQayiD8da +N1gT3oqgu/gKCpBZDYzHf9OtVi2UnlFDWy6rrMZLjWDnIv4ve9Pn/qolwHVjzdJ1 +ZfjNC5t0z3XADKGrjN9wutr4qm7STW1rHAXHP68TQTxI0qgJKjPXNKWEw6g= +=pJG4 +-----END PGP MESSAGE----- +--=-=-=-- diff --git a/test/emacs-show.expected-output/notmuch-show-decrypted-message b/test/emacs-show.expected-output/notmuch-show-decrypted-message new file mode 100644 index 00000000..08a9e4f6 --- /dev/null +++ b/test/emacs-show.expected-output/notmuch-show-decrypted-message @@ -0,0 +1,11 @@ +test_suite@notmuchmail.org (2000-01-01) (encrypted inbox) +Subject: Here is the password +To: test_suite@notmuchmail.org +Date: Sat, 01 Jan 2000 12:00:00 +0000 + +[ multipart/encrypted ] +[ Decryption successful ] +[ Unknown signature status ] +[ application/pgp-encrypted ] +[ text/plain ] +The password is "abcd1234!", please do not tell anyone. diff --git a/test/emacs-show.expected-output/notmuch-show-undecryptable-message b/test/emacs-show.expected-output/notmuch-show-undecryptable-message new file mode 100644 index 00000000..530ff286 --- /dev/null +++ b/test/emacs-show.expected-output/notmuch-show-undecryptable-message @@ -0,0 +1,10 @@ +Daniel Kahn Gillmor (2016-12-22) (encrypted inbox) +Subject: encrypted message +To: dkg@fifthhorseman.net +Date: Thu, 22 Dec 2016 08:34:56 -0400 + +[ multipart/encrypted ] +[ Decryption error ] +[ Unknown signature status ] +[ application/pgp-encrypted ] +[ application/octet-stream ] -- 2.43.0