notmuch.git  about / heads / tags
Unnamed repository; edit this file 'description' to name the repository.
blob 71a68c05acbc5f2b2922637b1886e71a37201547 1351 bytes (raw)
name: test/T351-pgpmime-mangling.sh 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
#!/usr/bin/env bash

test_description='PGP/MIME message mangling'
. $(dirname "$0")/test-lib.sh || exit 1

add_gnupg_home
add_email_corpus mangling

bodytext='["body"][0]["content"][1]["content"]="The password is \"abcd1234!\", please do not tell anyone.\n"'

test_begin_subtest "show 'Mixed-Up' mangled PGP/MIME message correctly"
output=$(notmuch show --format=json --decrypt=true id:mixed-up@mangling.notmuchmail.org)
test_json_nodes <<<"$output" \
                'body:[0][0][0]'"$bodytext"

test_begin_subtest "reply to 'Mixed-Up' mangled PGP/MIME message correctly"
output=$(notmuch reply --format=json --decrypt=true id:mixed-up@mangling.notmuchmail.org)
test_json_nodes <<<"$output" \
                'body:["original"]'"$bodytext"

test_begin_subtest "repaired 'Mixed-up' messages can be found with index.repaired=mixedup"
output=$(notmuch search --output=messages property:index.repaired=mixedup)
test_expect_equal "$output" id:mixed-up@mangling.notmuchmail.org

test_begin_subtest "index cleartext of 'Mixed-Up' mangled PGP/MIME message"
test_expect_success 'notmuch reindex --decrypt=true id:mixed-up@mangling.notmuchmail.org'

test_begin_subtest "search cleartext of 'Mixed-Up' mangled PGP/MIME message"
output=$(notmuch search --output=messages body:password)
test_expect_equal "$output" id:mixed-up@mangling.notmuchmail.org

test_done

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

git clone https://yhetil.org/notmuch.git