X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test%2FT357-index-decryption.sh;h=0a602e50c3b6fb7833e170edc1e26a0a4bfca41a;hb=bb0b119358e4d6df5cc085a48cb3d2e09e396922;hp=fcecb1d9f4b19f6c76cc7be8d6e61b8a636e5029;hpb=29648a137c5807135ab168917b4a51d5e19e51c2;p=notmuch diff --git a/test/T357-index-decryption.sh b/test/T357-index-decryption.sh index fcecb1d9..0a602e50 100755 --- a/test/T357-index-decryption.sh +++ b/test/T357-index-decryption.sh @@ -50,11 +50,8 @@ test_expect_equal \ test_begin_subtest "show the message body of the encrypted message" notmuch dump wumpus -output=$(notmuch show wumpus | awk '/^\014part}/{ f=0 }; { if (f) { print $0 } } /^\014part{ ID: 3/{ f=1 }') +output=$(notmuch show wumpus | notmuch_show_part 3) expected='This is a test encrypted message with a wumpus.' -if [ $NOTMUCH_HAVE_GMIME_SESSION_KEYS -eq 0 ]; then - test_subtest_known_broken -fi test_expect_equal \ "$output" \ "$expected" @@ -80,6 +77,21 @@ test_expect_equal \ "$output" \ "$expected" +# show the message using stashing decryption +test_begin_subtest "stash decryption during show" +output=$(notmuch show --decrypt=stash tag:encrypted subject:002 | notmuch_show_part 3) +expected='This is a test encrypted message with a wumpus.' +test_expect_equal \ + "$output" \ + "$expected" + +test_begin_subtest "search should now find the contents" +output=$(notmuch search wumpus) +expected='thread:0000000000000003 2000-01-01 [1/1] Notmuch Test Suite; test encrypted message for cleartext index 002 (encrypted inbox unread)' +test_expect_equal \ + "$output" \ + "$expected" + # try reinserting it with decryption, should appear again, but now we # have two copies of the message: test_begin_subtest "message cleartext is present after reinserting with --decrypt=true" @@ -145,9 +157,6 @@ test_begin_subtest 'reindex in auto mode' test_expect_success 'notmuch reindex tag:encrypted and property:index.decryption=success' test_begin_subtest "reindexed encrypted messages, should not have changed" output=$(notmuch search wumpus) -if [ $NOTMUCH_HAVE_GMIME_SESSION_KEYS -eq 0 ]; then - test_subtest_known_broken -fi test_expect_equal \ "$output" \ "$expected" @@ -188,6 +197,29 @@ test_expect_equal \ "$output" \ "$expected" +test_begin_subtest "index cleartext without keeping session keys" +test_expect_success "notmuch reindex --decrypt=nostash tag:blarney" + +test_begin_subtest "Ensure that the indexed terms are present" +output=$(notmuch search wumpus) +test_expect_equal \ + "$output" \ + "$expected" + +test_begin_subtest "show one of the messages with --decrypt=true" +output=$(notmuch show --decrypt=true thread:0000000000000001 | notmuch_show_part 3) +expected='This is a test encrypted message with a wumpus.' +test_expect_equal \ + "$output" \ + "$expected" + +test_begin_subtest "Ensure that we cannot show the message with --decrypt=auto" +output=$(notmuch show thread:0000000000000001 | notmuch_show_part 3) +expected='Non-text part: application/octet-stream' +test_expect_equal \ + "$output" \ + "$expected" + add_email_corpus crypto test_begin_subtest "indexing message fails when secret key not available" @@ -215,9 +247,6 @@ EOF notmuch reindex id:simple-encrypted@crypto.notmuchmail.org output=$(notmuch search sekrit) expected='thread:0000000000000001 2016-12-22 [1/1] Daniel Kahn Gillmor; encrypted message (encrypted inbox unread)' -if [ $NOTMUCH_HAVE_GMIME_SESSION_KEYS -eq 0 ]; then - test_subtest_known_broken -fi test_expect_equal \ "$output" \ "$expected" @@ -225,25 +254,19 @@ test_expect_equal \ test_begin_subtest "notmuch reply should show cleartext if session key is present" output=$(notmuch reply id:simple-encrypted@crypto.notmuchmail.org | grep '^>') expected='> This is a top sekrit message.' -if [ $NOTMUCH_HAVE_GMIME_SESSION_KEYS -eq 0 ]; then - test_subtest_known_broken -fi test_expect_equal \ "$output" \ "$expected" test_begin_subtest "notmuch show should show cleartext if session key is present" -output=$(notmuch show id:simple-encrypted@crypto.notmuchmail.org | awk '/^\014part}/{ f=0 }; { if (f) { print $0 } } /^\014part{ ID: 3/{ f=1 }') +output=$(notmuch show id:simple-encrypted@crypto.notmuchmail.org | notmuch_show_part 3) expected='This is a top sekrit message.' -if [ $NOTMUCH_HAVE_GMIME_SESSION_KEYS -eq 0 ]; then - test_subtest_known_broken -fi test_expect_equal \ "$output" \ "$expected" test_begin_subtest "notmuch show should show nothing if decryption is explicitly disallowed" -output=$(notmuch show --decrypt=false id:simple-encrypted@crypto.notmuchmail.org | awk '/^\014part}/{ f=0 }; { if (f) { print $0 } } /^\014part{ ID: 3/{ f=1 }') +output=$(notmuch show --decrypt=false id:simple-encrypted@crypto.notmuchmail.org | notmuch_show_part 3) expected='Non-text part: application/octet-stream' test_expect_equal \ "$output" \