-#!/usr/bin/perl -w
use strict;
use warnings;
use Test::Deep;
-use File::Spec;
-use Test::More tests => 44;
-use RT::Test ();
-BEGIN {
- my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
- File::Spec->curdir());
- require $shredder_utils;
-}
+use RT::Test::Shredder tests => 49;
+my $test = "RT::Test::Shredder";
+use_ok('RT::Shredder');
use_ok('RT::Shredder::Plugin::Tickets');
{
is(lc $plugin->Type, 'search', 'correct type');
}
-init_db();
-create_savepoint('clean');
+$test->create_savepoint('clean');
use_ok('RT::Ticket');
use_ok('RT::Tickets');
my $child = RT::Ticket->new( RT->SystemUser );
my ($cid) = $child->Create( Subject => 'child', Queue => 1, MemberOf => $pid );
ok( $cid, "created new ticket" );
+ $_->ApplyTransactionBatch for $parent, $child;
my $plugin = RT::Shredder::Plugin::Tickets->new;
isa_ok($plugin, 'RT::Shredder::Plugin::Tickets');
ok($has{$pid}, "parent is in the result set");
ok($has{$cid}, "child is in the result set");
- my $shredder = shredder_new();
+ my $shredder = $test->shredder_new();
$shredder->PutObjects( Objects => \@objs );
$shredder->WipeoutAll;
+ $test->db_is_valid;
}
-cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
+cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");
{ # create parent and child and link them reqursively to check that we don't hang
my $parent = RT::Ticket->new( RT->SystemUser );
my ($status, $msg) = $child->AddLink( Target => $pid, Type => 'DependsOn' );
ok($status, "added reqursive link") or diag "error: $msg";
+ $_->ApplyTransactionBatch for $parent, $child;
+
my $plugin = RT::Shredder::Plugin::Tickets->new;
isa_ok($plugin, 'RT::Shredder::Plugin::Tickets');
ok($has{$pid}, "parent is in the result set");
ok($has{$cid}, "child is in the result set");
- my $shredder = shredder_new();
+ my $shredder = $test->shredder_new();
$shredder->PutObjects( Objects => \@objs );
$shredder->WipeoutAll;
+ $test->db_is_valid;
}
-cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
+cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");
{ # create parent and child and check functionality of 'apply_query_to_linked' arg
my $parent = RT::Ticket->new( RT->SystemUser );
ok( $cid2, "created new ticket" );
$child2->SetStatus('resolved');
+ $_->ApplyTransactionBatch for $parent, $child1, $child2;
+
my $plugin = RT::Shredder::Plugin::Tickets->new;
isa_ok($plugin, 'RT::Shredder::Plugin::Tickets');
ok(!$has{$cid1}, "first child is in the result set");
ok($has{$cid2}, "second child is in the result set");
- my $shredder = shredder_new();
+ my $shredder = $test->shredder_new();
$shredder->PutObjects( Objects => \@objs );
$shredder->WipeoutAll;
+ $test->db_is_valid;
my $ticket = RT::Ticket->new( RT->SystemUser );
$ticket->Load( $cid1 );
$shredder->PutObjects( Objects => $ticket );
$shredder->WipeoutAll;
+ $test->db_is_valid;
}
-cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
+cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");