mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 20: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
|
# get key fingerprint
|
||||||
FINGERPRINT=$(gpg --no-tty --list-secret-keys --with-colons --fingerprint | grep '^fpr:' | cut -d: -f10)
|
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' \
|
test_expect_success 'emacs delivery of signed message' \
|
||||||
'emacs_deliver_message \
|
'emacs_fcc_message \
|
||||||
"test signed message 001" \
|
"test signed message 001" \
|
||||||
"This is a test signed message." \
|
"This is a test signed message." \
|
||||||
"(mml-secure-message-sign)"'
|
"(mml-secure-message-sign)"'
|
||||||
|
@ -143,7 +139,7 @@ cat <<EOF >TESTATTACHMENT
|
||||||
This is a test file.
|
This is a test file.
|
||||||
EOF
|
EOF
|
||||||
test_expect_success 'emacs delivery of encrypted message with attachment' \
|
test_expect_success 'emacs delivery of encrypted message with attachment' \
|
||||||
'emacs_deliver_message \
|
'emacs_fcc_message \
|
||||||
"test encrypted message 001" \
|
"test encrypted message 001" \
|
||||||
"This is a test encrypted message.\n" \
|
"This is a test encrypted message.\n" \
|
||||||
"(mml-attach-file \"TESTATTACHMENT\") (mml-secure-message-encrypt)"'
|
"(mml-attach-file \"TESTATTACHMENT\") (mml-secure-message-encrypt)"'
|
||||||
|
@ -270,7 +266,7 @@ test_expect_equal_json \
|
||||||
mv "${GNUPGHOME}"{.bak,}
|
mv "${GNUPGHOME}"{.bak,}
|
||||||
|
|
||||||
test_expect_success 'emacs delivery of encrypted + signed message' \
|
test_expect_success 'emacs delivery of encrypted + signed message' \
|
||||||
'emacs_deliver_message \
|
'emacs_fcc_message \
|
||||||
"test encrypted message 002" \
|
"test encrypted message 002" \
|
||||||
"This is another test encrypted message.\n" \
|
"This is another test encrypted message.\n" \
|
||||||
"(mml-secure-message-sign-encrypt)"'
|
"(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"
|
test_begin_subtest "Do not call notmuch for non-inlinable application/mpeg parts"
|
||||||
id='message-with-application/mpeg-attachment@notmuchmail.org'
|
id='message-with-application/mpeg-attachment@notmuchmail.org'
|
||||||
emacs_deliver_message \
|
emacs_fcc_message \
|
||||||
'Message with application/mpeg attachment' \
|
'Message with application/mpeg attachment' \
|
||||||
'' \
|
'' \
|
||||||
"(message-goto-eoh)
|
"(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"
|
test_begin_subtest "Do not call notmuch for non-inlinable audio/mpeg parts"
|
||||||
id='message-with-audio/mpeg-attachment@notmuchmail.org'
|
id='message-with-audio/mpeg-attachment@notmuchmail.org'
|
||||||
emacs_deliver_message \
|
emacs_fcc_message \
|
||||||
'Message with audio/mpeg attachment' \
|
'Message with audio/mpeg attachment' \
|
||||||
'' \
|
'' \
|
||||||
"(message-goto-eoh)
|
"(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"
|
test_begin_subtest "Show message: json, inline attachment filename"
|
||||||
subject='json-show-inline-attachment-filename'
|
subject='json-show-inline-attachment-filename'
|
||||||
id="json-show-inline-attachment-filename@notmuchmail.org"
|
id="json-show-inline-attachment-filename@notmuchmail.org"
|
||||||
emacs_deliver_message \
|
emacs_fcc_message \
|
||||||
"$subject" \
|
"$subject" \
|
||||||
'This is a test message with inline attachment with a filename' \
|
'This is a test message with inline attachment with a filename' \
|
||||||
"(mml-attach-file \"$TEST_DIRECTORY/README\" nil nil \"inline\")
|
"(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"
|
test_begin_subtest "Show message: sexp, inline attachment filename"
|
||||||
subject='sexp-show-inline-attachment-filename'
|
subject='sexp-show-inline-attachment-filename'
|
||||||
id="sexp-show-inline-attachment-filename@notmuchmail.org"
|
id="sexp-show-inline-attachment-filename@notmuchmail.org"
|
||||||
emacs_deliver_message \
|
emacs_fcc_message \
|
||||||
"$subject" \
|
"$subject" \
|
||||||
'This is a test message with inline attachment with a filename' \
|
'This is a test message with inline attachment with a filename' \
|
||||||
"(mml-attach-file \"$TEST_DIRECTORY/README\" nil nil \"inline\")
|
"(mml-attach-file \"$TEST_DIRECTORY/README\" nil nil \"inline\")
|
||||||
|
|
|
@ -470,6 +470,36 @@ emacs_deliver_message ()
|
||||||
notmuch new >/dev/null
|
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.
|
# Generate a corpus of email and add it to the database.
|
||||||
#
|
#
|
||||||
# This corpus is fixed, (it happens to be 50 messages from early in
|
# This corpus is fixed, (it happens to be 50 messages from early in
|
||||||
|
|
Loading…
Reference in a new issue