Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bestpractical/rt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsunnavy <sunnavy@bestpractical.com>2018-10-03 23:42:19 +0300
committersunnavy <sunnavy@bestpractical.com>2018-10-04 22:48:38 +0300
commitcf6bbc86f96af0941fdc4aaee75e87f48d203f24 (patch)
treebee5eb9c700e7006ce68d602e9bf50ba69ab0f3e
parent06b6d451907c9e3dc198e10830de55729d958931 (diff)
Test broken html that wraps gpg encrypted message4.4/gpg-skip-broken-html
-rw-r--r--t/data/gnupg/emails/special/broken-html.txt44
-rw-r--r--t/mail/gnupg-special.t29
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;