test: sanitize Date and timestamp fields in json

Eventually we want test messages to have distinct dates to avoid
reproducability problems. This sanitization will prevent some test
failures when that change is made.

Replace the use of a local function in maildir-sync with
notmuch_json_show_sanitize
This commit is contained in:
David Bremner 2013-12-08 16:41:34 +08:00
parent 20f78709fa
commit 18921be2e9
2 changed files with 8 additions and 11 deletions

View file

@ -4,11 +4,6 @@ test_description="maildir synchronization"
. ./test-lib.sh
# Avoid including the local value of MAIL_DIR in the result.
filter_show_json() {
sed -e "s|${MAIL_DIR}/|MAIL_DIR/|"
}
# Create the expected maildir structure
mkdir $MAIL_DIR/cur
mkdir $MAIL_DIR/new
@ -40,18 +35,18 @@ output=$(cd ${MAIL_DIR}/cur; ls -1 adding-replied*)
test_expect_equal "$output" "adding-replied-tag:2,RS"
test_begin_subtest "notmuch show works with renamed file (without notmuch new)"
output=$(notmuch show --format=json id:${gen_msg_id} | filter_show_json)
test_expect_equal_json "$output" '[[[{"id": "adding-replied-tag@notmuch-test-suite",
output=$(notmuch show --format=json id:${gen_msg_id} | notmuch_json_show_sanitize)
test_expect_equal_json "$output" '[[[{"id": "XXXXX",
"match": true,
"excluded": false,
"filename": "MAIL_DIR/cur/adding-replied-tag:2,RS",
"timestamp": 978709437,
"filename": "YYYYY",
"timestamp": 42,
"date_relative": "2001-01-05",
"tags": ["inbox","replied"],
"headers": {"Subject": "Adding replied tag",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"Date": "Fri, 05 Jan 2001 15:43:57 +0000"},
"Date": "GENERATED_DATE"},
"body": [{"id": 1,
"content-type": "text/plain",
"content": "This is just a test message (#3)\n"}]},

View file

@ -625,7 +625,9 @@ notmuch_json_show_sanitize ()
{
sed \
-e 's|"id": "[^"]*",|"id": "XXXXX",|g' \
-e 's|"filename": "/[^"]*",|"filename": "YYYYY",|g'
-e 's|"Date": "Fri, 05 Jan 2001 [^"]*0000"|"Date": "GENERATED_DATE"|g' \
-e 's|"filename": "/[^"]*",|"filename": "YYYYY",|g' \
-e 's|"timestamp": 97.......|"timestamp": 42|g'
}
notmuch_emacs_error_sanitize ()