X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test%2Femacs;h=80b1024ff4c9415043726ccd44fc35d622130b7a;hb=1aae106be5576fb75c2813bef04486f40de07d52;hp=58becaab8f22b88e3d42fb783a42cdddde78a26c;hpb=6c65fcd9aaf9307f6b08ab6b2c70c380ad6d3018;p=notmuch diff --git a/test/emacs b/test/emacs index 58becaab..80b1024f 100755 --- a/test/emacs +++ b/test/emacs @@ -57,32 +57,34 @@ output=$(notmuch search 'id:"123..456@example"' | notmuch_search_sanitize) test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Message with .. in Message-Id (inbox search-add show-add)" test_begin_subtest "Sending a message via (fake) SMTP" + +# Before we can send a message, we have to prepare the FCC maildir +mkdir -p mail/sent/cur +mkdir -p mail/sent/new +mkdir -p mail/sent/tmp + ../smtp-dummy sent_message & smtp_dummy_pid=$! -test_emacs "(setq message-send-mail-function 'message-smtpmail-send-it) (setq smtpmail-smtp-server \"localhost\") (setq smtpmail-smtp-service \"25025\") (notmuch-hello) (notmuch-mua-mail) (message-goto-to) (insert \"user@example.com\") (message-goto-subject) (insert \"Testing message sent via SMTP\") (message-goto-body) (insert \"This is a test that messages are sent via SMTP\") (message-send-and-exit)" >/dev/null 2>&1 +test_emacs "(setq message-send-mail-function 'message-smtpmail-send-it) (setq smtpmail-smtp-server \"localhost\") (setq smtpmail-smtp-service \"25025\") (notmuch-hello) (notmuch-mua-mail) (message-goto-to) (insert \"user@example.com\nDate: Fri, 29 Mar 1974 10:00:00 -0000\") (message-goto-subject) (insert \"Testing message sent via SMTP\") (message-goto-body) (insert \"This is a test that messages are sent via SMTP\") (message-send-and-exit)" >/dev/null 2>&1 wait ${smtp_dummy_pid} -# XXX: Masking away the User-Agent, Date, and Message-ID makes sense, -# since these fields are inherently unpredictable. But doing the same -# thing with the From address is cheating. What should really be -# happening here is that the emacs interface should be using something -# like "notmuch compose" to construct the initial message and it -# should be getting the user's name and email address from the notmuch -# configuration file. - -output=$(sed -e 's,^From: .*,From: XXX,' \ +output=$(sed \ -e s',^User-Agent: Notmuch/.* Emacs/.*,User-Agent: Notmuch/XXX Emacs/XXX,' \ - -e s',^Date:.*,Date: XXX,' \ -e s',^Message-ID: <.*>$,Message-ID: ,' < sent_message) -test_expect_equal "$output" "From: XXX +test_expect_equal "$output" "From: Notmuch Test Suite To: user@example.com Subject: Testing message sent via SMTP +Date: Fri, 29 Mar 1974 10:00:00 -0000 User-Agent: Notmuch/XXX Emacs/XXX -Date: XXX Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii This is a test that messages are sent via SMTP" +test_begin_subtest "Verify that sent messages are saved/searchable (via FCC)" +notmuch new > /dev/null +output=$(notmuch search 'subject:"testing message sent via SMTP"' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 1974-03-29 [1/1] Notmuch Test Suite; Testing message sent via SMTP (inbox unread)" + test_done