diff options
Diffstat (limited to 'rt/t/mail')
-rw-r--r-- | rt/t/mail/dashboards.t | 22 | ||||
-rw-r--r-- | rt/t/mail/digest-attributes.t | 4 | ||||
-rw-r--r-- | rt/t/mail/disposition-outgoing.t | 2 | ||||
-rw-r--r-- | rt/t/mail/gnupg-reverification.t | 4 | ||||
-rw-r--r-- | rt/t/mail/mime_decoding.t | 12 |
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?=} |