[Rt-commit] rt branch, 3.9-trunk, updated. rt-3.9.4-227-g6693d6c

? sunnavy sunnavy at bestpractical.com
Thu Oct 28 04:09:02 EDT 2010


The branch, 3.9-trunk has been updated
       via  6693d6c81d768808f82b98d1bb689d437f2774f8 (commit)
      from  8fd7ae228e84e405902751c9ccc3c15eb1ae8894 (commit)

Summary of changes:
 lib/RT/Test/GnuPG.pm                |   34 ++++++++++++++++++++++++++++++----
 t/mail/crypt-gnupg.t                |   27 ++++++++-------------------
 t/mail/gnupg-bad.t                  |   23 ++++++++---------------
 t/mail/gnupg-incoming.t             |   32 ++++++++++++++------------------
 t/mail/gnupg-outgoing.t             |   31 +++++++------------------------
 t/mail/gnupg-realmail.t             |   21 +--------------------
 t/mail/gnupg-reverification.t       |   23 +----------------------
 t/mail/gnupg-special.t              |   23 +----------------------
 t/web/crypt-gnupg.t                 |   31 ++++++-------------------------
 t/web/gnupg-select-keys-on-create.t |   27 +--------------------------
 t/web/gnupg-select-keys-on-update.t |   26 +-------------------------
 t/web/gnupg-tickyboxes.t            |   25 +------------------------
 12 files changed, 79 insertions(+), 244 deletions(-)

- Log -----------------------------------------------------------------
commit 6693d6c81d768808f82b98d1bb689d437f2774f8
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu Oct 28 14:38:15 2010 +0800

    move more common things to import of RT::Test::GnuPg

diff --git a/lib/RT/Test/GnuPG.pm b/lib/RT/Test/GnuPG.pm
index 8446f8c..b205678 100644
--- a/lib/RT/Test/GnuPG.pm
+++ b/lib/RT/Test/GnuPG.pm
@@ -2,20 +2,46 @@ package RT::Test::GnuPG;
 use strict;
 use Test::More;
 use base qw(RT::Test);
+use File::Temp qw(tempdir);
+use RT::Crypt::GnuPG;
 
 our @EXPORT = qw(create_a_ticket update_ticket cleanup_headers set_queue_crypt_options check_text_emails);
 
 sub import {
     my $class = shift;
     my %args  = @_;
-    my $t = $class->builder;
+    my $t     = $class->builder;
 
     $t->plan( skip_all => 'GnuPG required.' )
-        unless eval { require GnuPG::Interface; 1 };
+      unless eval { require GnuPG::Interface; 1 };
     $t->plan( skip_all => 'gpg executable is required.' )
-        unless RT::Test->find_executable('gpg');
+      unless RT::Test->find_executable('gpg');
 
-    $class->SUPER::import( %args );
+    RT->Config->Set(
+        GnuPG                  => Enable => 1,
+        OutgoingMessagesFormat => 'RFC',
+    );
+
+    my %gnupg_options = (
+        'no-permission-warning' => undef,
+        $args{gnupg_options} ? %{ $args{gnupg_options} } : (),
+    );
+    $gnupg_options{homedir} ||= scalar tempdir( CLEANUP => 1 );
+
+    RT->Config->Set( GnuPGOptions => %gnupg_options );
+
+    diag "GnuPG --homedir " . RT->Config->Get('GnuPGOptions')->{'homedir'};
+
+    RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
+
+    $class->SUPER::import(%args);
+
+    $class->set_rights(
+        Principal => 'Everyone',
+        Right => ['CreateTicket', 'ShowTicket', 'SeeQueue', 'ReplyToTicket', 'ModifyTicket'],
+    );
+
+    $class->set_mail_catcher;
     $class->export_to_level(1);
 }
 
diff --git a/t/mail/crypt-gnupg.t b/t/mail/crypt-gnupg.t
index 2c297ba..6b89aab 100644
--- a/t/mail/crypt-gnupg.t
+++ b/t/mail/crypt-gnupg.t
@@ -3,29 +3,18 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 97;
-
-use File::Spec ();
-use Cwd;
-
-my $homedir = RT::Test::get_abs_relocatable_dir(File::Spec->updir(),
-    qw(data gnupg keyrings) );
+my $homedir;
+BEGIN {
+    require RT::Test;
+    $homedir =
+      RT::Test::get_abs_relocatable_dir( File::Spec->updir(),
+        qw/data gnupg keyrings/ );
+}
 
-mkdir $homedir;
+use RT::Test::GnuPG tests => 96, gnupg_options => { homedir => $homedir };
 
-use_ok('RT::Crypt::GnuPG');
 use_ok('MIME::Entity');
 
-RT->Config->Set( 'GnuPG',
-                 Enable => 1,
-                 OutgoingMessagesFormat => 'RFC' );
-
-RT->Config->Set( 'GnuPGOptions',
-                 homedir => $homedir,
-                 'no-permission-warning' => undef,
-);
-
-
 diag 'only signing. correct passphrase';
 {
     my $entity = MIME::Entity->build(
diff --git a/t/mail/gnupg-bad.t b/t/mail/gnupg-bad.t
index f9e4248..83790b6 100644
--- a/t/mail/gnupg-bad.t
+++ b/t/mail/gnupg-bad.t
@@ -2,21 +2,14 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 5;
-
-use Cwd 'getcwd';
-
-my $homedir = RT::Test::get_abs_relocatable_dir(File::Spec->updir(),
-    qw(data gnupg keyrings));
-
-RT->Config->Set( 'GnuPG',
-                 Enable => 1,
-                 OutgoingMessagesFormat => 'RFC' );
-
-RT->Config->Set( 'GnuPGOptions',
-                 homedir => $homedir,
-                 passphrase => 'test',
-                 'no-permission-warning' => undef);
+use RT::Test::GnuPG
+  tests         => 5,
+  gnupg_options => {
+    passphrase => 'rt-test',
+    homedir => RT::Test::get_abs_relocatable_dir(
+        File::Spec->updir(), qw/data gnupg keyrings/
+    ),
+  };
 
 RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
 
diff --git a/t/mail/gnupg-incoming.t b/t/mail/gnupg-incoming.t
index a1d401a..b31aa63 100644
--- a/t/mail/gnupg-incoming.t
+++ b/t/mail/gnupg-incoming.t
@@ -2,29 +2,25 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 39;
+my $homedir;
+BEGIN {
+    require RT::Test;
+    $homedir =
+      RT::Test::get_abs_relocatable_dir( File::Spec->updir(),
+        qw/data gnupg keyrings/ );
+}
+
+use RT::Test::GnuPG
+  tests         => 39,
+  gnupg_options => {
+    passphrase => 'rt-test',
+    homedir    => $homedir,
+  };
 
-use File::Temp;
 use Cwd 'getcwd';
 use String::ShellQuote 'shell_quote';
 use IPC::Run3 'run3';
 
-my $homedir = RT::Test::get_abs_relocatable_dir(File::Spec->updir(),
-    qw(data gnupg keyrings));
-
-# catch any outgoing emails
-RT::Test->set_mail_catcher;
-
-RT->Config->Set( 'GnuPG',
-                 Enable => 1,
-                 OutgoingMessagesFormat => 'RFC' );
-
-RT->Config->Set( 'GnuPGOptions',
-                 homedir => $homedir,
-                 'no-permission-warning' => undef);
-
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
-
 my ($baseurl, $m) = RT::Test->started_ok;
 
 # configure key for General queue
diff --git a/t/mail/gnupg-outgoing.t b/t/mail/gnupg-outgoing.t
index e64e9a7..9c75121 100644
--- a/t/mail/gnupg-outgoing.t
+++ b/t/mail/gnupg-outgoing.t
@@ -2,26 +2,14 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 390;
-use RT::Action::SendEmail;
-use File::Temp qw(tempdir);
-
-RT::Test->set_mail_catcher;
-
-use_ok('RT::Crypt::GnuPG');
-
-RT->Config->Set( GnuPG =>
-    Enable => 1,
-    OutgoingMessagesFormat => 'RFC',
-);
-
-RT->Config->Set( GnuPGOptions =>
-    homedir => scalar tempdir( CLEANUP => 1 ),
-    passphrase => 'rt-test',
-    'no-permission-warning' => undef,
+use RT::Test::GnuPG
+  tests         => 389,
+  gnupg_options => {
+    passphrase    => 'rt-test',
     'trust-model' => 'always',
-);
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
+  };
+
+use RT::Action::SendEmail;
 
 RT::Test->import_gnupg_key('rt-recipient at example.com');
 RT::Test->import_gnupg_key('rt-test at example.com', 'public');
@@ -33,11 +21,6 @@ my $queue = RT::Test->load_or_create_queue(
 );
 ok $queue && $queue->id, 'loaded or created queue';
 
-RT::Test->set_rights(
-    Principal => 'Everyone',
-    Right => ['CreateTicket', 'ShowTicket', 'SeeQueue', 'ReplyToTicket', 'ModifyTicket'],
-);
-
 my ($baseurl, $m) = RT::Test->started_ok;
 ok $m->login, 'logged in';
 
diff --git a/t/mail/gnupg-realmail.t b/t/mail/gnupg-realmail.t
index 8ad2869..68a3a3c 100644
--- a/t/mail/gnupg-realmail.t
+++ b/t/mail/gnupg-realmail.t
@@ -2,24 +2,10 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 196;
+use RT::Test::GnuPG tests => 196, gnupg_options => { passphrase => 'rt-test' };
 
 use Digest::MD5 qw(md5_hex);
 
-use File::Temp qw(tempdir);
-my $homedir = tempdir( CLEANUP => 1 );
-
-RT->Config->Set( 'GnuPG',
-                 Enable => 1,
-                 OutgoingMessagesFormat => 'RFC' );
-
-RT->Config->Set( 'GnuPGOptions',
-                 homedir => $homedir,
-                 passphrase => 'rt-test',
-                 'no-permission-warning' => undef);
-
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
-
 RT::Test->import_gnupg_key('rt-recipient at example.com');
 RT::Test->import_gnupg_key('rt-test at example.com', 'public');
 RT::Test->trust_gnupg_key('rt-test at example.com');
@@ -32,11 +18,6 @@ $m->submit_form( form_number => 3,
          fields      => { CorrespondAddress => 'rt-recipient at example.com' } );
 $m->content_like(qr/rt-recipient\@example.com.* - never/, 'has key info.');
 
-RT::Test->set_rights(
-    Principal => 'Everyone',
-    Right => ['CreateTicket'],
-);
-
 my $eid = 0;
 for my $usage (qw/signed encrypted signed&encrypted/) {
     for my $format (qw/MIME inline/) {
diff --git a/t/mail/gnupg-reverification.t b/t/mail/gnupg-reverification.t
index 97218a7..198ec2a 100644
--- a/t/mail/gnupg-reverification.t
+++ b/t/mail/gnupg-reverification.t
@@ -2,22 +2,7 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 214;
-
-use File::Temp qw(tempdir);
-my $homedir = tempdir( CLEANUP => 1 );
-
-RT->Config->Set( 'GnuPG',
-                 Enable => 1,
-                 OutgoingMessagesFormat => 'RFC' );
-
-RT->Config->Set( 'GnuPGOptions',
-                 homedir => $homedir,
-                 passphrase => 'rt-test',
-                 'no-permission-warning' => undef);
-
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
-
+use RT::Test::GnuPG tests => 214, gnupg_options => { passphrase => 'rt-test' };
 
 diag "load Everyone group";
 my $everyone;
@@ -27,12 +12,6 @@ my $everyone;
     ok $everyone->id, "loaded 'everyone' group";
 }
 
-RT::Test->set_rights(
-    Principal => $everyone,
-    Right => ['CreateTicket'],
-);
-
-
 my ($baseurl, $m) = RT::Test->started_ok;
 ok $m->login, 'we get log in';
 
diff --git a/t/mail/gnupg-special.t b/t/mail/gnupg-special.t
index 07ed288..cc8b7d3 100644
--- a/t/mail/gnupg-special.t
+++ b/t/mail/gnupg-special.t
@@ -2,23 +2,7 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 11;
-
-use File::Temp qw(tempdir);
-my $homedir = tempdir( CLEANUP => 1 );
-
-# catch any outgoing emails
-RT::Test->set_mail_catcher;
-
-RT->Config->Set( 'GnuPG',
-                 Enable => 1,
-                 OutgoingMessagesFormat => 'RFC' );
-
-RT->Config->Set( 'GnuPGOptions',
-                 homedir => $homedir,
-                 'no-permission-warning' => undef);
-
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
+use RT::Test::GnuPG tests => 11, gnupg_options => { passphrase => 'rt-test' };
 
 RT::Test->import_gnupg_key('rt-recipient at example.com');
 RT::Test->import_gnupg_key('rt-test at example.com', 'public');
@@ -42,11 +26,6 @@ ok(my $user = RT::User->new(RT->SystemUser));
 ok($user->Load('root'), "Loaded user 'root'");
 $user->SetEmailAddress('recipient at example.com');
 
-RT::Test->set_rights(
-    Principal => 'Everyone',
-    Right => ['CreateTicket'],
-);
-
 {
     my $id = send_via_mailgate('quoted_inline_signature.txt');
 
diff --git a/t/web/crypt-gnupg.t b/t/web/crypt-gnupg.t
index 985a2f5..96e91a5 100644
--- a/t/web/crypt-gnupg.t
+++ b/t/web/crypt-gnupg.t
@@ -1,12 +1,15 @@
 #!/usr/bin/perl -w
 use strict;
 
-use RT::Test::GnuPG tests => 101;
+use RT::Test::GnuPG
+  tests         => 100,
+  gnupg_options => {
+    passphrase    => 'recipient',
+    'trust-model' => 'always',
+};
 
 use RT::Action::SendEmail;
 
-RT::Test->set_mail_catcher;
-
 RT->Config->Set( CommentAddress => 'general at example.com');
 RT->Config->Set( CorrespondAddress => 'general at example.com');
 RT->Config->Set( DefaultSearchResultFormat => qq{
@@ -18,23 +21,6 @@ RT->Config->Set( DefaultSearchResultFormat => qq{
    'KR-__KeyRequestors__-K',
    Status});
 
-use File::Spec ();
-use Cwd;
-use File::Temp qw(tempdir);
-my $homedir = tempdir( CLEANUP => 1 );
-
-use_ok('RT::Crypt::GnuPG');
-
-RT->Config->Set( 'GnuPG',
-                 Enable => 1,
-                 OutgoingMessagesFormat => 'RFC' );
-
-RT->Config->Set( 'GnuPGOptions',
-                 homedir => $homedir,
-                 passphrase => 'recipient',
-                 'no-permission-warning' => undef,
-                 'trust-model' => 'always');
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
 
 RT::Test->import_gnupg_key('recipient at example.com', 'public');
 RT::Test->import_gnupg_key('recipient at example.com', 'secret');
@@ -54,11 +40,6 @@ my $queue = RT::Test->load_or_create_queue(
 ok $queue && $queue->id, 'loaded or created queue';
 my $qid = $queue->id;
 
-RT::Test->set_rights(
-    Principal => 'Everyone',
-    Right => ['CreateTicket', 'ShowTicket', 'SeeQueue', 'ModifyTicket'],
-);
-
 my ($baseurl, $m) = RT::Test->started_ok;
 ok $m->login, 'logged in';
 
diff --git a/t/web/gnupg-select-keys-on-create.t b/t/web/gnupg-select-keys-on-create.t
index 8254844..619812b 100644
--- a/t/web/gnupg-select-keys-on-create.t
+++ b/t/web/gnupg-select-keys-on-create.t
@@ -2,28 +2,8 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 78;
-
+use RT::Test::GnuPG tests => 77, gnupg_options => { passphrase => 'rt-test' };
 use RT::Action::SendEmail;
-use File::Temp qw(tempdir);
-
-RT::Test->set_mail_catcher;
-
-use_ok('RT::Crypt::GnuPG');
-
-RT->Config->Set( GnuPG =>
-    Enable => 1,
-    OutgoingMessagesFormat => 'RFC',
-);
-
-RT->Config->Set( GnuPGOptions =>
-    homedir => scalar tempdir( CLEANUP => 0 ),
-    passphrase => 'rt-test',
-    'no-permission-warning' => undef,
-);
-diag "GnuPG --homedir ". RT->Config->Get('GnuPGOptions')->{'homedir'};
-
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
 
 my $queue = RT::Test->load_or_create_queue(
     Name              => 'Regression',
@@ -32,11 +12,6 @@ my $queue = RT::Test->load_or_create_queue(
 );
 ok $queue && $queue->id, 'loaded or created queue';
 
-RT::Test->set_rights(
-    Principal => 'Everyone',
-    Right => ['CreateTicket', 'ShowTicket', 'SeeQueue', 'ReplyToTicket', 'ModifyTicket'],
-);
-
 my ($baseurl, $m) = RT::Test->started_ok;
 ok $m->login, 'logged in';
 
diff --git a/t/web/gnupg-select-keys-on-update.t b/t/web/gnupg-select-keys-on-update.t
index 94009f1..b0f1498 100644
--- a/t/web/gnupg-select-keys-on-update.t
+++ b/t/web/gnupg-select-keys-on-update.t
@@ -2,28 +2,9 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 85;
+use RT::Test::GnuPG tests => 84, gnupg_options => { passphrase => 'rt-test' };
 
 use RT::Action::SendEmail;
-use File::Temp qw(tempdir);
-
-RT::Test->set_mail_catcher;
-
-use_ok('RT::Crypt::GnuPG');
-
-RT->Config->Set( GnuPG =>
-    Enable => 1,
-    OutgoingMessagesFormat => 'RFC',
-);
-
-RT->Config->Set( GnuPGOptions =>
-    homedir => scalar tempdir( CLEANUP => 0 ),
-    passphrase => 'rt-test',
-    'no-permission-warning' => undef,
-);
-diag "GnuPG --homedir ". RT->Config->Get('GnuPGOptions')->{'homedir'};
-
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
 
 my $queue = RT::Test->load_or_create_queue(
     Name              => 'Regression',
@@ -32,11 +13,6 @@ my $queue = RT::Test->load_or_create_queue(
 );
 ok $queue && $queue->id, 'loaded or created queue';
 
-RT::Test->set_rights(
-    Principal => 'Everyone',
-    Right => ['CreateTicket', 'ShowTicket', 'SeeQueue', 'ReplyToTicket', 'ModifyTicket'],
-);
-
 my ($baseurl, $m) = RT::Test->started_ok;
 ok $m->login, 'logged in';
 
diff --git a/t/web/gnupg-tickyboxes.t b/t/web/gnupg-tickyboxes.t
index 4786bb2..05239c1 100644
--- a/t/web/gnupg-tickyboxes.t
+++ b/t/web/gnupg-tickyboxes.t
@@ -2,27 +2,9 @@
 use strict;
 use warnings;
 
-use RT::Test::GnuPG tests => 30;
+use RT::Test::GnuPG tests => 29, gnupg_options => { passphrase => 'rt-test' };
 
 use RT::Action::SendEmail;
-use File::Temp qw(tempdir);
-
-RT::Test->set_mail_catcher;
-
-use_ok('RT::Crypt::GnuPG');
-
-RT->Config->Set( GnuPG =>
-    Enable => 1,
-    OutgoingMessagesFormat => 'RFC',
-);
-
-RT->Config->Set( GnuPGOptions =>
-    homedir => scalar tempdir( CLEANUP => 1 ),
-    passphrase => 'rt-test',
-    'no-permission-warning' => undef,
-    'trust-model' => 'always',
-);
-RT->Config->Set( 'MailPlugins' => 'Auth::MailFrom', 'Auth::GnuPG' );
 
 RT::Test->import_gnupg_key('rt-recipient at example.com');
 RT::Test->import_gnupg_key('rt-test at example.com', 'public');
@@ -34,11 +16,6 @@ my $queue = RT::Test->load_or_create_queue(
 );
 ok $queue && $queue->id, 'loaded or created queue';
 
-RT::Test->set_rights(
-    Principal => 'Everyone',
-    Right => ['CreateTicket', 'ShowTicket', 'SeeQueue', 'ReplyToTicket', 'ModifyTicket'],
-);
-
 my ($baseurl, $m) = RT::Test->started_ok;
 ok $m->login, 'logged in';
 

-----------------------------------------------------------------------


More information about the Rt-commit mailing list