local output
[ -d ${GNUPGHOME} ] && return
mkdir -m 0700 "$GNUPGHOME"
- gpg --no-tty --import <../gnupg-secret-key.asc >"$GNUPGHOME"/import.log 2>&1
+ gpg --no-tty --import <$TEST_DIRECTORY/gnupg-secret-key.asc >"$GNUPGHOME"/import.log 2>&1
test_debug "cat $GNUPGHOME/import.log"
if (gpg --quick-random --version >/dev/null 2>&1) ; then
echo quick-random >> "$GNUPGHOME"/gpg.conf
"filename": "YYYYY",
"timestamp": 946728000,
"date_relative": "2000-01-01",
- "tags": ["inbox"],
+ "tags": ["inbox","signed"],
"headers": {"Subject": "test signed message 001",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
"sigstatus": [{"status": "good",
"fingerprint": "'$FINGERPRINT'",
"created": 946728000}],
+ "content-type": "multipart/signed",
+ "content": [{"id": 2,
"content-type": "text/plain",
- "content": "This is a test signed message.\n"}]},
+ "content": "This is a test signed message.\n"},
+ {"id": 3,
+ "content-type": "application/pgp-signature"}]}]},
[]]]]'
test_expect_equal \
"$output" \
"filename": "YYYYY",
"timestamp": 946728000,
"date_relative": "2000-01-01",
- "tags": ["inbox"],
+ "tags": ["inbox","signed"],
"headers": {"Subject": "test signed message 001",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
"fingerprint": "'$FINGERPRINT'",
"created": 946728000,
"userid": " Notmuch Test Suite <test_suite@notmuchmail.org> (INSECURE!)"}],
+ "content-type": "multipart/signed",
+ "content": [{"id": 2,
"content-type": "text/plain",
- "content": "This is a test signed message.\n"}]},
+ "content": "This is a test signed message.\n"},
+ {"id": 3,
+ "content-type": "application/pgp-signature"}]}]},
[]]]]'
test_expect_equal \
"$output" \
"filename": "YYYYY",
"timestamp": 946728000,
"date_relative": "2000-01-01",
- "tags": ["inbox"],
+ "tags": ["inbox","signed"],
"headers": {"Subject": "test signed message 001",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
"sigstatus": [{"status": "error",
"keyid": "'$(echo $FINGERPRINT | cut -c 25-)'",
"errors": 2}],
+ "content-type": "multipart/signed",
+ "content": [{"id": 2,
"content-type": "text/plain",
- "content": "This is a test signed message.\n"}]},
+ "content": "This is a test signed message.\n"},
+ {"id": 3,
+ "content-type": "application/pgp-signature"}]}]},
[]]]]'
test_expect_equal \
"$output" \
| sed -e 's|"created": [1234567890]*|"created": 946728000|')
expected='\fmessage{ id:XXXXX depth:0 match:1 filename:XXXXX
\fheader{
-Notmuch Test Suite <test_suite@notmuchmail.org> (2000-01-01) (inbox)
+Notmuch Test Suite <test_suite@notmuchmail.org> (2000-01-01) (encrypted inbox)
Subject: test encrypted message 001
From: Notmuch Test Suite <test_suite@notmuchmail.org>
To: test_suite@notmuchmail.org
Date: 01 Jan 2000 12:00:00 -0000
\fheader}
\fbody{
-\fpart{ ID: 1, Content-type: multipart/mixed
-\fpart{ ID: 2, Content-type: text/plain
+\fpart{ ID: 1, Content-type: multipart/encrypted
+\fpart{ ID: 2, Content-type: application/pgp-encrypted
+Non-text part: application/pgp-encrypted
+\fpart}
+\fpart{ ID: 3, Content-type: multipart/mixed
+\fpart{ ID: 4, Content-type: text/plain
This is a test encrypted message.
\fpart}
-\fattachment{ ID: 3, Content-type: application/octet-stream
-Attachment: TESTATTACHMENT (application/octet-stream)
+\fattachment{ ID: 5, Filename: TESTATTACHMENT, Content-type: application/octet-stream
Non-text part: application/octet-stream
\fattachment}
\fpart}
+\fpart}
\fbody}
\fmessage}'
test_expect_equal \
"filename": "YYYYY",
"timestamp": 946728000,
"date_relative": "2000-01-01",
- "tags": ["inbox"],
+ "tags": ["encrypted","inbox"],
"headers": {"Subject": "test encrypted message 001",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
"body": [{"id": 1,
"encstatus": [{"status": "good"}],
"sigstatus": [],
- "content-type": "multipart/mixed",
+ "content-type": "multipart/encrypted",
"content": [{"id": 2,
+ "content-type": "application/pgp-encrypted"},
+ {"id": 3,
+ "content-type": "multipart/mixed",
+ "content": [{"id": 4,
"content-type": "text/plain",
"content": "This is a test encrypted message.\n"},
- {"id": 3,
+ {"id": 5,
"content-type": "application/octet-stream",
- "filename": "TESTATTACHMENT"}]}]},
+ "filename": "TESTATTACHMENT"}]}]}]},
[]]]]'
test_expect_equal \
"$output" \
"$expected"
-test_begin_subtest "decryption, --format=json, --part=2"
-output=$(notmuch show --format=json --part=2 --decrypt subject:"test encrypted message 001" \
+test_begin_subtest "decryption, --format=json, --part=4"
+output=$(notmuch show --format=json --part=4 --decrypt subject:"test encrypted message 001" \
| notmuch_json_show_sanitize \
| sed -e 's|"created": [1234567890]*|"created": 946728000|')
-expected='{"id": 2,
+expected='{"id": 4,
"content-type": "text/plain",
"content": "This is a test encrypted message.\n"}'
test_expect_equal \
"$output" \
"$expected"
-test_begin_subtest "decrypt attachment (--part=3 --format=raw)"
+test_begin_subtest "decrypt attachment (--part=5 --format=raw)"
notmuch show \
--format=raw \
- --part=3 \
+ --part=5 \
--decrypt \
subject:"test encrypted message 001" >OUTPUT
test_expect_equal_file OUTPUT TESTATTACHMENT
"filename": "YYYYY",
"timestamp": 946728000,
"date_relative": "2000-01-01",
- "tags": ["inbox"],
+ "tags": ["encrypted","inbox"],
"headers": {"Subject": "test encrypted message 001",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
"filename": "YYYYY",
"timestamp": 946728000,
"date_relative": "2000-01-01",
- "tags": ["inbox"],
+ "tags": ["encrypted","inbox"],
"headers": {"Subject": "test encrypted message 002",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
"fingerprint": "'$FINGERPRINT'",
"created": 946728000,
"userid": " Notmuch Test Suite <test_suite@notmuchmail.org> (INSECURE!)"}],
+ "content-type": "multipart/encrypted",
+ "content": [{"id": 2,
+ "content-type": "application/pgp-encrypted"},
+ {"id": 3,
"content-type": "text/plain",
- "content": "This is another test encrypted message.\n"}]},
+ "content": "This is another test encrypted message.\n"}]}]},
[]]]]'
test_expect_equal \
"$output" \
"$expected"
test_begin_subtest "signature verification with revoked key"
-# generate revokation certificate and load it to revoke key
+# generate revocation certificate and load it to revoke key
echo "y
1
Notmuch Test Suite key revocation (automated) $(date '+%F_%T%z')
"filename": "YYYYY",
"timestamp": 946728000,
"date_relative": "2000-01-01",
- "tags": ["inbox"],
+ "tags": ["inbox","signed"],
"headers": {"Subject": "test signed message 001",
"From": "Notmuch Test Suite <test_suite@notmuchmail.org>",
"To": "test_suite@notmuchmail.org",
"sigstatus": [{"status": "error",
"keyid": "6D92612D94E46381",
"errors": 8}],
+ "content-type": "multipart/signed",
+ "content": [{"id": 2,
"content-type": "text/plain",
- "content": "This is a test signed message.\n"}]},
+ "content": "This is a test signed message.\n"},
+ {"id": 3,
+ "content-type": "application/pgp-signature"}]}]},
[]]]]'
test_expect_equal \
"$output" \