diff options
author | sunnavy <sunnavy@bestpractical.com> | 2018-10-03 23:42:19 +0300 |
---|---|---|
committer | sunnavy <sunnavy@bestpractical.com> | 2018-10-04 22:48:38 +0300 |
commit | cf6bbc86f96af0941fdc4aaee75e87f48d203f24 (patch) | |
tree | bee5eb9c700e7006ce68d602e9bf50ba69ab0f3e | |
parent | 06b6d451907c9e3dc198e10830de55729d958931 (diff) |
Test broken html that wraps gpg encrypted message4.4/gpg-skip-broken-html
-rw-r--r-- | t/data/gnupg/emails/special/broken-html.txt | 44 | ||||
-rw-r--r-- | t/mail/gnupg-special.t | 29 |
2 files changed, 72 insertions, 1 deletions
diff --git a/t/data/gnupg/emails/special/broken-html.txt b/t/data/gnupg/emails/special/broken-html.txt new file mode 100644 index 0000000000..2c9f84ddcc --- /dev/null +++ b/t/data/gnupg/emails/special/broken-html.txt @@ -0,0 +1,44 @@ +From: root@localhost +Content-Type: multipart/alternative; boundary="=-MRyJofprf2aLkeAxMXTv" +Subject: test broken html + +--=-MRyJofprf2aLkeAxMXTv +Content-Type: text/plain; charset="UTF-8" + +-----BEGIN PGP MESSAGE----- + +hQIOA076g5OuwfIOEAgAv9bYyAJKVmQ4p/LStq1pvnKzdvS//bLyMSgvGzNB1o9q +wNl0k6KdkXCbbkaOOu0CBl64gTxNuXPUdAyCXl/ojWfXUR/b6R+0mEyPFd7TYpu5 +mJmHv62kIlR/QoUdBvHEwA2+vlvOqX4U0VuVwGh8d7c6FJrkLH5dls4kfR6g7Fgz +6jBJIAKWN/WsVeqKY0u+EmzRdX/P5XCiYNwVEPV4eDQJ5VvcUygOmjcwNGqwz/Nq +g9k8kUjB2fCyd/52CGn/HxEosiCn3LuxEIuyzzgeHIZNwt/Qy52cx91g9E4CCKp8 +thfebaml+asNmp+xGtizHq9Uxkj7KQpueD3xrhSV3Af+JAUhOtCH2Wkp3z5LI5s9 +0tyT/3p65GEoiwnsK6TT0NfkgRcGS1HdgLUDsFXOZubUTrZ/Gvbbdjmkk0DVpCEI +D0Vuy07sfBa60lYYNGqIwAC3gJvX39cFJSTqKCI9+FMqkFLjdlnaD7hSNE3oFqRt +nK6xzQ29H7PRiwm9WxQy/IvSEfiYFe4P+TuyRlVteY10K9V6PuM9G9N41rwtW44M +QmHyf7SA0lWMiiKwGxbDGf0LjyJ7jpZYSy9nsIeFhczVZdFJ2yvVPczlbuokbaSZ +03tz6r4XppdNO3CFuUu+t0HYAi23byHjuMdfutFr+J0PZeCIvLTqtAIlt+iYvC5s +MdJaAYEkD9pC59khxzVUXEJrzcSlstUQbdJttP+j51oHLTLhmzjXudEY5WqcO7mk +9W9lMl+4ZYWUYDDJi/Vx1KjcO/SUA1ttkcx6JNxXa5hatoX4ZM9d25FnoIwH +=THDc +-----END PGP MESSAGE----- +--=-MRyJofprf2aLkeAxMXTv +Content-Type: text/html; charset="utf-8" + +<html><body>-----BEGIN PGP MESSAGE----- +hQIOA076g5OuwfIOEAgAv9bYyAJKVmQ4p/LStq1pvnKzdvS//bLyMSgvGzNB1o9q +wNl0k6KdkXCbbkaOOu0CBl64gTxNuXPUdAyCXl/ojWfXUR/b6R+0mEyPFd7TYpu5 +mJmHv62kIlR/QoUdBvHEwA2+vlvOqX4U0VuVwGh8d7c6FJrkLH5dls4kfR6g7Fgz +6jBJIAKWN/WsVeqKY0u+EmzRdX/P5XCiYNwVEPV4eDQJ5VvcUygOmjcwNGqwz/Nq +g9k8kUjB2fCyd/52CGn/HxEosiCn3LuxEIuyzzgeHIZNwt/Qy52cx91g9E4CCKp8 +thfebaml+asNmp+xGtizHq9Uxkj7KQpueD3xrhSV3Af+JAUhOtCH2Wkp3z5LI5s9 +0tyT/3p65GEoiwnsK6TT0NfkgRcGS1HdgLUDsFXOZubUTrZ/Gvbbdjmkk0DVpCEI +D0Vuy07sfBa60lYYNGqIwAC3gJvX39cFJSTqKCI9+FMqkFLjdlnaD7hSNE3oFqRt +nK6xzQ29H7PRiwm9WxQy/IvSEfiYFe4P+TuyRlVteY10K9V6PuM9G9N41rwtW44M +QmHyf7SA0lWMiiKwGxbDGf0LjyJ7jpZYSy9nsIeFhczVZdFJ2yvVPczlbuokbaSZ +03tz6r4XppdNO3CFuUu+t0HYAi23byHjuMdfutFr+J0PZeCIvLTqtAIlt+iYvC5s +MdJaAYEkD9pC59khxzVUXEJrzcSlstUQbdJttP+j51oHLTLhmzjXudEY5WqcO7mk +9W9lMl+4ZYWUYDDJi/Vx1KjcO/SUA1ttkcx6JNxXa5hatoX4ZM9d25FnoIwH +=THDc +-----END PGP MESSAGE----- +</body></html> diff --git a/t/mail/gnupg-special.t b/t/mail/gnupg-special.t index 15aad3489c..197f67d5f9 100644 --- a/t/mail/gnupg-special.t +++ b/t/mail/gnupg-special.t @@ -1,7 +1,7 @@ use strict; use warnings; -use RT::Test::GnuPG tests => 25, gnupg_options => { passphrase => 'rt-test' }; +use RT::Test::GnuPG tests => undef, gnupg_options => { passphrase => 'rt-test' }; use Digest::MD5 qw(md5_hex); @@ -86,6 +86,32 @@ $user->SetEmailAddress('recipient@example.com'); is(md5_hex($bin->Content), '1e35f1aa90c98ca2bab85c26ae3e1ba7', "correct png"); } +{ + my $id = send_via_mailgate('broken-html.txt'); + + my $tick = RT::Ticket->new( $RT::SystemUser ); + $tick->Load( $id ); + ok ($tick->id, "loaded ticket #$id"); + + my $txn = $tick->Transactions->First; + my $parts = $txn->Attachments->ItemsArrayRef; + + is (scalar @$parts, 4, 'alternative, text, html and original'); + + like( $txn->Content, qr/This is decrypted plain content/, 'got decrypted content' ); + unlike( $txn->Content, qr/BEGIN PGP MESSAGE/, 'no undecrypted content' ); + like( + $txn->Content( Type => 'text/html' ), + qr/This is decrypted plain content/, + 'got decrypted content with text/html' + ); + unlike( $txn->Content( Type => 'text/html' ), qr/BEGIN PGP MESSAGE/, 'no undecrypted content with text/html' ); + + $m->goto_ticket($tick->id); + $m->text_contains('This is decrypted plain content', 'got decrypted content on the page'); + $m->text_lacks('BEGIN PGP MESSAGE', 'no undecrypted content on the page'); +} + sub send_via_mailgate { my $fname = shift; my $emaildatadir = RT::Test::get_relocatable_dir(File::Spec->updir(), @@ -99,3 +125,4 @@ sub send_via_mailgate { return $id; } +done_testing; |