mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
5398e6966a
The changes are: - The notmuch-test was split into several files (t000?-*.sh). - Removed helper functions which were moved to test-lib.sh - Replaced every printf with test_expect_success. - Test commands chained with && (test-lib.sh doesn't use "set -e" in order to complete the test suite even if something fails) - Many variables such as ${MAIL_DIR} were properly quoted as they contain spaces. - Changed quoting patterns in add_message and generate_message (single quotes are already used by the test framework). - ${TEST_DIR} replaced by ${PWD} QUICK HOWTO: To run the whole test suite make To run only a single test ./t0001-new.sh To stop on the first error ./t0001-new.sh -i then mail store and database can be inspected in "trash directory.t0001-new" To see the output of tests ./t0001-new.sh -v To not remove trash directory at the end: ./t0001-new.sh -d To run all tests verbosely: make GIT_TEST_OPTS="-v" Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
46 lines
3 KiB
Bash
Executable file
46 lines
3 KiB
Bash
Executable file
#!/bin/bash
|
|
test_description="--format=json output"
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success "Show message: json" '
|
|
add_message "[subject]=\"json-show-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"json-show-message\"" &&
|
|
output=$($NOTMUCH show --format=json "json-show-message") &&
|
|
pass_if_equal "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Cc\": \"\", \"Bcc\": \"\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 -0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]"
|
|
|
|
'
|
|
test_expect_success "Search message: json" '
|
|
add_message "[subject]=\"json-search-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"json-search-message\"" &&
|
|
output=$($NOTMUCH search --format=json "json-search-message" | notmuch_search_sanitize) &&
|
|
pass_if_equal "$output" "[{\"thread\": \"XXX\",
|
|
\"timestamp\": 946728000,
|
|
\"matched\": 1,
|
|
\"total\": 1,
|
|
\"authors\": \"Notmuch Test Suite\",
|
|
\"subject\": \"json-search-subject\",
|
|
\"tags\": [\"inbox\", \"unread\"]}]"
|
|
|
|
'
|
|
test_expect_success "Search by subject (utf-8):" '
|
|
add_message [subject]=utf8-sübjéct "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" &&
|
|
output=$($NOTMUCH search subject:utf8-sübjéct | notmuch_search_sanitize) &&
|
|
pass_if_equal "$output" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; utf8-sübjéct (inbox unread)"
|
|
|
|
'
|
|
test_expect_success "Show message: json, utf-8" '
|
|
add_message "[subject]=\"json-show-utf8-body-sübjéct\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"jsön-show-méssage\"" &&
|
|
output=$($NOTMUCH show --format=json "jsön-show-méssage") &&
|
|
pass_if_equal "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-utf8-body-sübjéct\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Cc\": \"\", \"Bcc\": \"\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 -0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"jsön-show-méssage\n\"}]}, []]]]"
|
|
|
|
'
|
|
test_expect_success "Search message: json, utf-8" '
|
|
add_message "[subject]=\"json-search-utf8-body-sübjéct\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"jsön-search-méssage\"" &&
|
|
output=$($NOTMUCH search --format=json "jsön-search-méssage" | notmuch_search_sanitize) &&
|
|
pass_if_equal "$output" "[{\"thread\": \"XXX\",
|
|
\"timestamp\": 946728000,
|
|
\"matched\": 1,
|
|
\"total\": 1,
|
|
\"authors\": \"Notmuch Test Suite\",
|
|
\"subject\": \"json-search-utf8-body-sübjéct\",
|
|
\"tags\": [\"inbox\", \"unread\"]}]"
|
|
'
|
|
test_done
|