[Rt-commit] r6918 - rt/branches/3.7-EXPERIMENTAL-RTIR-2.2/lib/t/regression/shredder

ruz at bestpractical.com ruz at bestpractical.com
Fri Feb 2 23:14:39 EST 2007


Author: ruz
Date: Fri Feb  2 23:14:39 2007
New Revision: 6918

Modified:
   rt/branches/3.7-EXPERIMENTAL-RTIR-2.2/lib/t/regression/shredder/02queue.t

Log:
* add tests for queues' shredding

Modified: rt/branches/3.7-EXPERIMENTAL-RTIR-2.2/lib/t/regression/shredder/02queue.t
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL-RTIR-2.2/lib/t/regression/shredder/02queue.t	(original)
+++ rt/branches/3.7-EXPERIMENTAL-RTIR-2.2/lib/t/regression/shredder/02queue.t	Fri Feb  2 23:14:39 2007
@@ -8,7 +8,7 @@
 BEGIN { require "lib/t/regression/shredder/utils.pl"; }
 init_db();
 
-plan tests => 8;
+plan tests => 16;
 
 diag 'simple queue' if $ENV{'TEST_VERBOSE'};
 {
@@ -67,6 +67,58 @@
 	cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
 }
 
+diag 'queue with a right granted' if $ENV{'TEST_VERBOSE'};
+{
+	create_savepoint('clean');
+    my $queue = RT::Queue->new( $RT::SystemUser );
+    my ($id, $msg) = $queue->Create( Name => 'my queue' );
+    ok($id, 'created queue') or diag "error: $msg";
+
+    my $group = RT::Group->new( $RT::SystemUser );
+    $group->LoadSystemInternalGroup('Everyone');
+    ok($group->id, 'loaded group');
+
+    ($id, $msg) = $group->PrincipalObj->GrantRight(
+        Right  => 'CreateTicket',
+        Object => $queue,
+    );
+    ok($id, 'granted right') or diag "error: $msg";
+
+	my $shredder = shredder_new();
+	$shredder->PutObjects( Objects => $queue );
+	$shredder->WipeoutAll;
+	cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
+}
+
+diag 'queue with a watcher' if $ENV{'TEST_VERBOSE'};
+{
+# XXX, FIXME: if uncomment these lines then we'll get 'Bizarre...'
+#	create_savepoint('clean');
+    my $group = RT::Group->new( $RT::SystemUser );
+    my ($id, $msg) = $group->CreateUserDefinedGroup('my group');
+    ok($id, 'created group') or diag "error: $msg";
+
+	create_savepoint('bqcreate');
+    my $queue = RT::Queue->new( $RT::SystemUser );
+    ($id, $msg) = $queue->Create( Name => 'my queue' );
+    ok($id, 'created queue') or diag "error: $msg";
+
+    ($id, $msg) = $queue->AddWatcher(
+        Type   => 'Cc',
+        PrincipalId => $group->id,
+    );
+    ok($id, 'added watcher') or diag "error: $msg";
+
+	my $shredder = shredder_new();
+	$shredder->PutObjects( Objects => $queue );
+	$shredder->WipeoutAll;
+	cmp_deeply( dump_current_and_savepoint('bqcreate'), "current DB equal to savepoint");
+
+#	$shredder->PutObjects( Objects => $group );
+#	$shredder->WipeoutAll;
+#	cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
+}
+
 if( is_all_successful() ) {
 	cleanup_tmp();
 } else {


More information about the Rt-commit mailing list