diff options
| author | Ivan Kohler <ivan@freeside.biz> | 2012-11-11 23:29:41 -0800 |
|---|---|---|
| committer | Ivan Kohler <ivan@freeside.biz> | 2012-11-11 23:29:41 -0800 |
| commit | 7e43d01d3ea88261113921836f7153d31cb006ce (patch) | |
| tree | 41a63ae81629d1c524fa93e53cc1c55bc5fc81f8 /rt/t/mail | |
| parent | fb8e122215412174e8a39dd9d5197d79f0bd4f96 (diff) | |
RT 3.8.15
Diffstat (limited to 'rt/t/mail')
| -rw-r--r-- | rt/t/mail/gnupg-incoming.t | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/rt/t/mail/gnupg-incoming.t b/rt/t/mail/gnupg-incoming.t index 230aa9c58..c34ed997a 100644 --- a/rt/t/mail/gnupg-incoming.t +++ b/rt/t/mail/gnupg-incoming.t @@ -2,18 +2,18 @@ use strict; use warnings; -use RT::Test tests => 39; +use RT::Test tests => 47; plan skip_all => 'GnuPG required.' unless eval 'use GnuPG::Interface; 1'; plan skip_all => 'gpg executable is required.' unless RT::Test->find_executable('gpg'); - use File::Temp; use Cwd 'getcwd'; use String::ShellQuote 'shell_quote'; use IPC::Run3 'run3'; +use MIME::Base64; my $homedir = RT::Test::get_abs_relocatable_dir(File::Spec->updir(), qw(data gnupg keyrings)); @@ -206,6 +206,44 @@ RT::Test->close_mailgate_ok($mail); ok(index($orig->Content, $buf) != -1, 'found original msg'); } + +# test that if it gets base64 transfer-encoded, we still get the content out +$buf = encode_base64($buf); +$mail = RT::Test->open_mailgate_ok($baseurl); +print $mail <<"EOF"; +From: recipient\@example.com +To: general\@$RT::rtname +Content-transfer-encoding: base64 +Subject: Encrypted message for queue + +$buf +EOF +RT::Test->close_mailgate_ok($mail); + +{ + my $tick = RT::Test->last_ticket; + is( $tick->Subject, 'Encrypted message for queue', + "Created the ticket" + ); + + my $txn = $tick->Transactions->First; + my ($msg, $attach, $orig) = @{$txn->Attachments->ItemsArrayRef}; + + is( $msg->GetHeader('X-RT-Incoming-Encryption'), + 'Success', + 'recorded incoming mail that is encrypted' + ); + is( $msg->GetHeader('X-RT-Privacy'), + 'PGP', + 'recorded incoming mail that is encrypted' + ); + like( $attach->Content, qr/orz/); + + is( $orig->GetHeader('Content-Type'), 'application/x-rt-original-message'); + ok(index($orig->Content, $buf) != -1, 'found original msg'); +} + + # test for signed mail by other key $buf = ''; |
