mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
test: add emacs_fcc_message that does not use smtp-dummy
Most of the tests previously using emacs_deliver_message do not use the actual transmitted message, so we replace it with a simpler (and presumably more reliable function) that only saves (and indexes) an fcc copy of the message.
This commit is contained in:
parent
b421f00a05
commit
513a36d105
5 changed files with 37 additions and 11 deletions
10
test/crypto
10
test/crypto
|
@ -28,12 +28,8 @@ add_gnupg_home
|
|||
# get key fingerprint
|
||||
FINGERPRINT=$(gpg --no-tty --list-secret-keys --with-colons --fingerprint | grep '^fpr:' | cut -d: -f10)
|
||||
|
||||
# for some reason this is needed for emacs_deliver_message to work,
|
||||
# although I can't figure out why
|
||||
add_email_corpus
|
||||
|
||||
test_expect_success 'emacs delivery of signed message' \
|
||||
'emacs_deliver_message \
|
||||
'emacs_fcc_message \
|
||||
"test signed message 001" \
|
||||
"This is a test signed message." \
|
||||
"(mml-secure-message-sign)"'
|
||||
|
@ -143,7 +139,7 @@ cat <<EOF >TESTATTACHMENT
|
|||
This is a test file.
|
||||
EOF
|
||||
test_expect_success 'emacs delivery of encrypted message with attachment' \
|
||||
'emacs_deliver_message \
|
||||
'emacs_fcc_message \
|
||||
"test encrypted message 001" \
|
||||
"This is a test encrypted message.\n" \
|
||||
"(mml-attach-file \"TESTATTACHMENT\") (mml-secure-message-encrypt)"'
|
||||
|
@ -270,7 +266,7 @@ test_expect_equal_json \
|
|||
mv "${GNUPGHOME}"{.bak,}
|
||||
|
||||
test_expect_success 'emacs delivery of encrypted + signed message' \
|
||||
'emacs_deliver_message \
|
||||
'emacs_fcc_message \
|
||||
"test encrypted message 002" \
|
||||
"This is another test encrypted message.\n" \
|
||||
"(mml-secure-message-sign-encrypt)"'
|
||||
|
|
|
@ -771,7 +771,7 @@ test_expect_equal_file OUTPUT EXPECTED
|
|||
|
||||
test_begin_subtest "Do not call notmuch for non-inlinable application/mpeg parts"
|
||||
id='message-with-application/mpeg-attachment@notmuchmail.org'
|
||||
emacs_deliver_message \
|
||||
emacs_fcc_message \
|
||||
'Message with application/mpeg attachment' \
|
||||
'' \
|
||||
"(message-goto-eoh)
|
||||
|
@ -786,7 +786,7 @@ test_expect_equal $(notmuch_counter_value) 1
|
|||
|
||||
test_begin_subtest "Do not call notmuch for non-inlinable audio/mpeg parts"
|
||||
id='message-with-audio/mpeg-attachment@notmuchmail.org'
|
||||
emacs_deliver_message \
|
||||
emacs_fcc_message \
|
||||
'Message with audio/mpeg attachment' \
|
||||
'' \
|
||||
"(message-goto-eoh)
|
||||
|
|
|
@ -38,7 +38,7 @@ test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true
|
|||
test_begin_subtest "Show message: json, inline attachment filename"
|
||||
subject='json-show-inline-attachment-filename'
|
||||
id="json-show-inline-attachment-filename@notmuchmail.org"
|
||||
emacs_deliver_message \
|
||||
emacs_fcc_message \
|
||||
"$subject" \
|
||||
'This is a test message with inline attachment with a filename' \
|
||||
"(mml-attach-file \"$TEST_DIRECTORY/README\" nil nil \"inline\")
|
||||
|
|
|
@ -29,7 +29,7 @@ test_expect_equal "$output" "((((:id \"${gen_msg_id}\" :match t :excluded nil :f
|
|||
test_begin_subtest "Show message: sexp, inline attachment filename"
|
||||
subject='sexp-show-inline-attachment-filename'
|
||||
id="sexp-show-inline-attachment-filename@notmuchmail.org"
|
||||
emacs_deliver_message \
|
||||
emacs_fcc_message \
|
||||
"$subject" \
|
||||
'This is a test message with inline attachment with a filename' \
|
||||
"(mml-attach-file \"$TEST_DIRECTORY/README\" nil nil \"inline\")
|
||||
|
|
|
@ -470,6 +470,36 @@ emacs_deliver_message ()
|
|||
notmuch new >/dev/null
|
||||
}
|
||||
|
||||
# Pretend to deliver a message with emacs. Really save it to a file
|
||||
# and add it to the database
|
||||
#
|
||||
# Uses emacs to generate and deliver a message to the mail store.
|
||||
# Accepts arbitrary extra emacs/elisp functions to modify the message
|
||||
# before sending, which is useful to doing things like attaching files
|
||||
# to the message and encrypting/signing.
|
||||
emacs_fcc_message ()
|
||||
{
|
||||
local subject="$1"
|
||||
local body="$2"
|
||||
shift 2
|
||||
# before we can send a message, we have to prepare the FCC maildir
|
||||
mkdir -p "$MAIL_DIR"/sent/{cur,new,tmp}
|
||||
|
||||
test_emacs \
|
||||
"(let ((message-send-mail-function (lambda () t))
|
||||
(mail-host-address \"example.com\"))
|
||||
(notmuch-mua-mail)
|
||||
(message-goto-to)
|
||||
(insert \"test_suite@notmuchmail.org\nDate: 01 Jan 2000 12:00:00 -0000\")
|
||||
(message-goto-subject)
|
||||
(insert \"${subject}\")
|
||||
(message-goto-body)
|
||||
(insert \"${body}\")
|
||||
$@
|
||||
(message-send-and-exit))" || return 1
|
||||
notmuch new >/dev/null
|
||||
}
|
||||
|
||||
# Generate a corpus of email and add it to the database.
|
||||
#
|
||||
# This corpus is fixed, (it happens to be 50 messages from early in
|
||||
|
|
Loading…
Reference in a new issue