summaryrefslogtreecommitdiff
path: root/rt/t/mail
diff options
context:
space:
mode:
Diffstat (limited to 'rt/t/mail')
-rw-r--r--rt/t/mail/dashboards.t22
-rw-r--r--rt/t/mail/digest-attributes.t4
-rw-r--r--rt/t/mail/disposition-outgoing.t2
-rw-r--r--rt/t/mail/gnupg-reverification.t4
-rw-r--r--rt/t/mail/mime_decoding.t12
5 files changed, 26 insertions, 18 deletions
diff --git a/rt/t/mail/dashboards.t b/rt/t/mail/dashboards.t
index edd455300..6bf4ba520 100644
--- a/rt/t/mail/dashboards.t
+++ b/rt/t/mail/dashboards.t
@@ -1,7 +1,7 @@
use strict;
use warnings;
-use RT::Test tests => 181;
+use RT::Test tests => undef;
use Test::Warn;
use RT::Dashboard::Mailer;
@@ -102,15 +102,13 @@ sub produces_dashboard_mail_ok { # {{{
my $mail = parse_mail( $mails[0] );
is($mail->head->get('Subject'), $subject);
is($mail->head->get('From'), "root\n");
+ is($mail->head->get('Content-Transfer-Encoding'), "base64\n");
is($mail->head->get('X-RT-Dashboard-Id'), "$dashboard_id\n");
is($mail->head->get('X-RT-Dashboard-Subscription-Id'), "$subscription_id\n");
- SKIP: {
- skip 'Weird MIME failure', 2;
- my $body = $mail->stringify_body;
- like($body, qr{My dashboards});
- like($body, qr{<a href="http://[^/]+/Dashboards/\d+/Testing!">Testing!</a>});
- };
+ my $body = $mail->bodyhandle->as_string;
+ like($body, qr{My dashboards});
+ like($body, qr{<a href="http://[^/]+/Dashboards/\d+/Testing!">Testing!</a>});
} # }}}
sub produces_no_dashboard_mail_ok { # {{{
@@ -202,12 +200,9 @@ is($mail->head->get('From'), "dashboard\@example.com\n");
is($mail->head->get('X-RT-Dashboard-Id'), "$dashboard_id\n");
is($mail->head->get('X-RT-Dashboard-Subscription-Id'), "$subscription_id\n");
-SKIP: {
- skip 'Weird MIME failure', 2;
- my $body = $mail->stringify_body;
- unlike($body, qr{My dashboards});
- unlike($body, qr{Testing!});
-};
+my $body = $mail->bodyhandle->as_string;
+unlike($body, qr{My dashboards});
+unlike($body, qr{Testing!});
delete_dashboard($dashboard_id);
@@ -368,3 +363,4 @@ produces_no_dashboard_mail_ok(
Time => $bad_time,
);
+done_testing;
diff --git a/rt/t/mail/digest-attributes.t b/rt/t/mail/digest-attributes.t
index badd59b87..54c1c803f 100644
--- a/rt/t/mail/digest-attributes.t
+++ b/rt/t/mail/digest-attributes.t
@@ -136,14 +136,14 @@ is( $c_susp, 1, "correct number of suspended messages" );
# the first time get the content
email_digest_like( '--mode daily --print', qr/in the last day/ );
# The second time run it for real so we make sure that we get RT to mark the txn as sent
-email_digest_like( '--mode daily', qr/maildaily\@/ );
+email_digest_like( '--mode daily --verbose', qr/maildaily\@/ );
# now we should have nothing to do, so no content.
email_digest_like( '--mode daily --print', '' );
# the first time get the content
email_digest_like( '--mode weekly --print', qr/in the last seven days/ );
# The second time run it for real so we make sure that we get RT to mark the txn as sent
-email_digest_like( '--mode weekly', qr/mailweekly\@/ );
+email_digest_like( '--mode weekly --verbose', qr/mailweekly\@/ );
# now we should have nothing to do, so no content.
email_digest_like( '--mode weekly --print', '' );
diff --git a/rt/t/mail/disposition-outgoing.t b/rt/t/mail/disposition-outgoing.t
index 06295a09c..cbfe43b74 100644
--- a/rt/t/mail/disposition-outgoing.t
+++ b/rt/t/mail/disposition-outgoing.t
@@ -50,7 +50,7 @@ a fake patch
$mail =~ s/^Content-disposition: .+?\n(?=\n)//ism;
my $rt = send_and_receive($mail);
- like $rt, qr/Content-Disposition:\s*inline.+?filename\.patch/is, 'found default (inline) disposition';
+ like $rt, qr/Content-Disposition:\s*attachment.+?filename\.patch/is, 'found default (attachment) disposition';
}
sub send_and_receive {
diff --git a/rt/t/mail/gnupg-reverification.t b/rt/t/mail/gnupg-reverification.t
index 939bf3333..deef1ec24 100644
--- a/rt/t/mail/gnupg-reverification.t
+++ b/rt/t/mail/gnupg-reverification.t
@@ -1,7 +1,7 @@
use strict;
use warnings;
-use RT::Test::GnuPG tests => 216, gnupg_options => { passphrase => 'rt-test' };
+use RT::Test::GnuPG tests => 232, gnupg_options => { passphrase => 'rt-test' };
diag "load Everyone group";
my $everyone;
@@ -62,10 +62,12 @@ foreach my $file ( @files ) {
$m->content_like(qr/This is .*ID:$eid/ims, "$eid: content is there and message is decrypted");
$m->next_warning_like(qr/public key not found/);
+ $m->next_warning_like(qr/above error may result from an unconfigured RT\/GPG/);
# some mails contain multiple signatures
if ($eid == 5 || $eid == 17 || $eid == 18) {
$m->next_warning_like(qr/public key not found/);
+ $m->next_warning_like(qr/above error may result from an unconfigured RT\/GPG/);
}
$m->no_leftover_warnings_ok;
diff --git a/rt/t/mail/mime_decoding.t b/rt/t/mail/mime_decoding.t
index 4b3e3c075..fbf884932 100644
--- a/rt/t/mail/mime_decoding.t
+++ b/rt/t/mail/mime_decoding.t
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use RT::Test nodb => 1, tests => 13;
+use RT::Test nodb => 1, tests => 14;
use_ok('RT::I18N');
@@ -34,6 +34,16 @@ diag q{'=' char in a trailing part after an encoded part};
);
}
+diag q{adding quotes around mime words containing specials when word is already quoted};
+{
+ my $str = <<"END";
+Content-Disposition: attachment; filename="=?iso-8859-1?Q?foobar,_?=
+ =?iso-8859-1?Q?barfoo.docx?="
+END
+ my $decoded = 'Content-Disposition: attachment; filename="foobar, barfoo.docx"';
+ is( RT::I18N::DecodeMIMEWordsToUTF8($str), $decoded, "No added quotes" );
+}
+
diag q{regression test for #5248 from rt3.fsck.com};
{
my $str = qq{Subject: =?ISO-8859-1?Q?Re=3A_=5BXXXXXX=23269=5D_=5BComment=5D_Frag?=}