1use strict; 2use warnings; 3 4use RT::Test tests => undef; 5 6RT::Config->Set('ShredderStoragePath', RT::Test->temp_directory . ''); 7 8my ( $baseurl, $agent ) = RT::Test->started_ok; 9 10diag("Test server running at $baseurl"); 11 12$agent->login('root' => 'password'); 13 14my $ticket_id; 15# Ticket created in block to avoid scope error on destroy 16{ 17 my $ticket = RT::Test->create_ticket( Subject => 'test shredder', Queue => 1, ); 18 ok( $ticket->Id, "created new ticket" ); 19 20 $ticket_id = $ticket->id; 21} 22 23{ 24 $agent->get_ok($baseurl . '/Admin/Tools/Shredder/'); 25 $agent->submit_form_ok({ 26 form_id => 'shredder-search-form', 27 fields => { Plugin => 'Tickets'}, 28 }, "Select Tickets shredder plugin"); 29 30 $agent->submit_form_ok({ 31 form_id => 'shredder-search-form', 32 fields => { 33 'Tickets:query' => 'id=' . $ticket_id, 34 }, 35 button => 'Search', 36 }, "Search for ticket object"); 37 38 $agent->submit_form_ok({ 39 form_id => 'shredder-search-form', 40 fields => { 41 'WipeoutObject' => 'RT::Ticket-example.com-' . $ticket_id, 42 }, 43 button => 'Wipeout', 44 }, "Select and destroy ticket object"); 45 $agent->text_contains('objects were successfuly removed', 'Found success message' ); 46 47 my $ticket = RT::Ticket->new(RT->SystemUser); 48 my ($ret, $msg) = $ticket->Load($ticket_id); 49 50 ok !$ret, 'Ticket successfully shredded'; 51} 52 53# Shred RT::User 54{ 55 my $user = RT::Test->load_or_create_user( EmailAddress => 'test@example.com' ); 56 57 my $id = $user->id; 58 ok $id; 59 60 $agent->get_ok($baseurl . '/Admin/Tools/Shredder/'); 61 $agent->submit_form_ok({ 62 form_id => 'shredder-search-form', 63 fields => { Plugin => 'Users'}, 64 }, "Select Users shredder plugin"); 65 66 $agent->submit_form_ok({ 67 form_id => 'shredder-search-form', 68 fields => { 69 'Users:email' => 'test@example.com', 70 'Users:status' => 'Enabled', 71 }, 72 button => 'Search', 73 }, "Search for user"); 74 75 $agent->submit_form_ok({ 76 form_id => 'shredder-search-form', 77 fields => { 78 'WipeoutObject' => 'RT::User-test@example.com', 79 }, 80 button => 'Wipeout', 81 }, "Select and destroy searched user"); 82 $agent->text_contains('objects were successfuly removed', 'Found success message' ); 83 84 my ($ret, $msg) = $user->Load($id); 85 ok !$ret, 'User successfully shredded'; 86} 87 88done_testing(); 89