[Rt-commit] r9757 - in rt/branches/3.999-DANGEROUS: lib/RT lib/RT/Model t/shredder

jesse at bestpractical.com jesse at bestpractical.com
Wed Nov 28 19:44:17 EST 2007


Author: jesse
Date: Wed Nov 28 19:44:17 2007
New Revision: 9757

Modified:
   rt/branches/3.999-DANGEROUS/   (props changed)
   rt/branches/3.999-DANGEROUS/lib/RT/Bootstrap.pm
   rt/branches/3.999-DANGEROUS/lib/RT/Model/LinkCollection.pm
   rt/branches/3.999-DANGEROUS/lib/RT/SearchBuilder.pm
   rt/branches/3.999-DANGEROUS/lib/RT/URI.pm
   rt/branches/3.999-DANGEROUS/t/shredder/01basics.t
   rt/branches/3.999-DANGEROUS/t/shredder/02group_member.t
   rt/branches/3.999-DANGEROUS/t/shredder/utils.pl

Log:
 r72429 at pinglin:  jesse | 2007-11-28 17:28:04 -0500
  * Shredder tests all pass!


Modified: rt/branches/3.999-DANGEROUS/lib/RT/Bootstrap.pm
==============================================================================
--- rt/branches/3.999-DANGEROUS/lib/RT/Bootstrap.pm	(original)
+++ rt/branches/3.999-DANGEROUS/lib/RT/Bootstrap.pm	Wed Nov 28 19:44:17 2007
@@ -234,7 +234,7 @@
     my $CurrentUser = new RT::CurrentUser();
 
     #print "Checking for existing system user...";
-    my $test_user = RT::Model::User->new();
+    my $test_user = RT::Model::User->new($CurrentUser);
     $test_user->load('RT_System');
     if ( $test_user->id ) {
         #print "found!\n\nYou appear to have a functional RT database.\n"
@@ -246,7 +246,7 @@
     }
 
     #print "Creating system user...";
-    my $RT_System = RT::Model::User->new();
+    my $RT_System = RT::Model::User->new($CurrentUser);
 
     my ( $val, $msg ) = $RT_System->_bootstrap_create(
         Name     => 'RT_System',

Modified: rt/branches/3.999-DANGEROUS/lib/RT/Model/LinkCollection.pm
==============================================================================
--- rt/branches/3.999-DANGEROUS/lib/RT/Model/LinkCollection.pm	(original)
+++ rt/branches/3.999-DANGEROUS/lib/RT/Model/LinkCollection.pm	Wed Nov 28 19:44:17 2007
@@ -68,7 +68,7 @@
 
 package RT::Model::LinkCollection;
 
-use base qw/RT::Collection/;
+use base qw/RT::SearchBuilder/;
 
 use RT::URI;
 

Modified: rt/branches/3.999-DANGEROUS/lib/RT/SearchBuilder.pm
==============================================================================
--- rt/branches/3.999-DANGEROUS/lib/RT/SearchBuilder.pm	(original)
+++ rt/branches/3.999-DANGEROUS/lib/RT/SearchBuilder.pm	Wed Nov 28 19:44:17 2007
@@ -89,7 +89,14 @@
 # {{{ sub _init 
 sub _set_current_user  {
     my $self = shift;
-    $self->{'user'} = shift;
+
+    my %args; 
+    if ( @_ %2 ) {
+        $args{'current_user'} =  shift @_ if (@_);
+    } else {
+        %args = (@_);
+    }
+    $self->{'user'} = $args{'current_user'};
     
     unless(defined($self->current_user)) {
 	use Carp;
@@ -97,7 +104,7 @@
 	$RT::Logger->err("$self was Created without a CurrentUser");
 	return(0);
     }
-    $self->SUPER::_init( 'handle' => Jifty->handle);
+    $self->SUPER::_init( 'handle' => Jifty->handle, current_user => $self->current_user);
 }
 
 =head2 LimitToEnabled

Modified: rt/branches/3.999-DANGEROUS/lib/RT/URI.pm
==============================================================================
--- rt/branches/3.999-DANGEROUS/lib/RT/URI.pm	(original)
+++ rt/branches/3.999-DANGEROUS/lib/RT/URI.pm	Wed Nov 28 19:44:17 2007
@@ -169,16 +169,12 @@
     my $scheme = shift;
 
     $scheme =~ s/(\.|-)/_/g;
-    my $resolver;
 
-    
-    eval " 
-        require RT::URI::$scheme;
-        \$resolver = RT::URI::$scheme->new(\$self->current_user);
-    ";
-     
-    if ($resolver) {
-        $self->{'resolver'} = $resolver;
+    my $class = "RT::URI::$scheme";
+    Jifty::Util->try_to_require( $class);
+   
+    if ($class->can('new') ){ 
+        $self->{'resolver'} =$class->new(current_user => $self->current_user)
     } else {
         $self->{'resolver'} = RT::URI::base->new($self->current_user); 
     }
@@ -275,9 +271,4 @@
     return ($self->{'resolver'});
 }
 
-eval "require RT::URI_Vendor";
-die $@ if ($@ && $@ !~ qr{^Can't locate RT/URI_Vendor.pm});
-eval "require RT::URI_Local";
-die $@ if ($@ && $@ !~ qr{^Can't locate RT/URI_Local.pm});
-
 1;

Modified: rt/branches/3.999-DANGEROUS/t/shredder/01basics.t
==============================================================================
--- rt/branches/3.999-DANGEROUS/t/shredder/01basics.t	(original)
+++ rt/branches/3.999-DANGEROUS/t/shredder/01basics.t	Wed Nov 28 19:44:17 2007
@@ -3,8 +3,8 @@
 use strict;
 use warnings;
 
-BEGIN { require "t/shredder/utils.pl"; }
 use RT::Test; use Test::More;
+BEGIN { require "t/shredder/utils.pl"; }
 use Test::Deep;
 init_db();
 

Modified: rt/branches/3.999-DANGEROUS/t/shredder/02group_member.t
==============================================================================
--- rt/branches/3.999-DANGEROUS/t/shredder/02group_member.t	(original)
+++ rt/branches/3.999-DANGEROUS/t/shredder/02group_member.t	Wed Nov 28 19:44:17 2007
@@ -27,17 +27,17 @@
 	ok( $status, "added child group to parent") or diag "error: $msg";
 	
 	create_savepoint('bucreate'); # before user create
-	my $user = RT::Model::User->new( RT->system_user );
+	my $user = RT::Model::User->new(  RT->system_user );
 	my $uid;
 	($uid, $msg) = $user->create( Name => 'new user', Privileged => 1, Disabled => 0 );
-	ok( $uid, "Created new user" ) or diag "error: $msg";
+	ok( $uid, "Created new user $msg " ) or diag "error: $msg";
 	is( $user->id, $uid, "id is correct" );
 	
 	create_savepoint('buadd'); # before group add
 	($status, $msg) = $cgroup->AddMember( $user->id );
 	ok( $status, "added user to child group") or diag "error: $msg";
 	
-	my $members = RT::Model::GroupMemberCollection->new( RT->system_user );
+	my $members = RT::Model::GroupMemberCollection->new( current_user => RT->system_user );
 	$members->limit( column => 'MemberId', value => $uid );
 	$members->limit( column => 'GroupId', value => $cgid );
 	is( $members->count, 1, "find membership record" );

Modified: rt/branches/3.999-DANGEROUS/t/shredder/utils.pl
==============================================================================
--- rt/branches/3.999-DANGEROUS/t/shredder/utils.pl	(original)
+++ rt/branches/3.999-DANGEROUS/t/shredder/utils.pl	Wed Nov 28 19:44:17 2007
@@ -145,7 +145,7 @@
 
 =cut
 
-sub db_name { return File::Spec->catfile(create_tmpdir(), test_name() .".db") }
+sub db_name { return Jifty->config->framework('Database')->{'Database'} }
 
 =head3 connect_sqlite
 
@@ -167,7 +167,7 @@
 
 sub shredder_new
 {
-    my $obj = new RT::Shredder;
+    my $obj = RT::Shredder->new();
 
     my $file = File::Spec->catfile( tmpdir(), test_name() .'.XXXX.sql' );
     $obj->AddDumpPlugin( Arguments => {
@@ -265,7 +265,7 @@
     # DIRTY HACK: undef Handles to force reconnect
 
     File::Copy::copy( $orig, $dest ) or die "Couldn't copy '$orig' => '$dest': $!";
-    RT::connect_to_database();
+    Jifty->handle->connect();
     return;
 }
 
@@ -301,7 +301,7 @@
 
     my $res = {};
     foreach my $t( @tables ) {
-        next if lc($t) eq 'sessions';
+        next if lc($t) =~/^_|sqlite/;
         $res->{$t} = $dbh->selectall_hashref("SELECT * FROM $t", 'id');
         clean_dates( $res->{$t} ) if $args{'CleanDates'};
         die $DBI::err if $DBI::err;


More information about the Rt-commit mailing list