File: shredder.t

package info (click to toggle)
request-tracker5 5.0.7%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 80,216 kB
  • sloc: javascript: 191,898; perl: 87,146; sh: 1,412; makefile: 487; python: 37; php: 15
file content (88 lines) | stat: -rw-r--r-- 2,511 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
use strict;
use warnings;

use RT::Test tests => undef;

RT::Config->Set('ShredderStoragePath', RT::Test->temp_directory . '');

my ( $baseurl, $agent ) = RT::Test->started_ok;

diag("Test server running at $baseurl");

$agent->login('root' => 'password');

my $ticket_id;
# Ticket created in block to avoid scope error on destroy
{
    my $ticket = RT::Test->create_ticket( Subject => 'test shredder', Queue => 1, );
    ok( $ticket->Id, "created new ticket" );

    $ticket_id = $ticket->id;
}

{
    $agent->get_ok($baseurl . '/Admin/Tools/Shredder/');
    $agent->submit_form_ok({
        form_id     => 'shredder-search-form',
        fields      => { Plugin => 'Tickets'},
    }, "Select Tickets shredder plugin");

    $agent->submit_form_ok({
        form_id     => 'shredder-search-form',
        fields      => {
            'Tickets:query'  => 'id=' . $ticket_id,
        },
        button => 'Search',
    }, "Search for ticket object");

    $agent->submit_form_ok({
        form_id     => 'shredder-search-form',
        fields      => {
            'WipeoutObject'     => 'RT::Ticket-example.com-' . $ticket_id,
        },
        button => 'Wipeout',
    }, "Select and destroy ticket object");
    $agent->text_contains('objects were successfuly removed', 'Found success message' );

    my $ticket = RT::Ticket->new(RT->SystemUser);
    my ($ret, $msg) = $ticket->Load($ticket_id);

    ok !$ret, 'Ticket successfully shredded';
}

# Shred RT::User
{
    my $user = RT::Test->load_or_create_user( EmailAddress => 'test@example.com' );

    my $id = $user->id;
    ok $id;

    $agent->get_ok($baseurl . '/Admin/Tools/Shredder/');
    $agent->submit_form_ok({
        form_id     => 'shredder-search-form',
        fields      => { Plugin => 'Users'},
    }, "Select Users shredder plugin");

    $agent->submit_form_ok({
        form_id     => 'shredder-search-form',
        fields      => {
            'Users:email'  => 'test@example.com',
            'Users:status' => 'Enabled',
        },
        button => 'Search',
    }, "Search for user");

    $agent->submit_form_ok({
        form_id     => 'shredder-search-form',
        fields      => {
            'WipeoutObject'     => 'RT::User-test@example.com',
        },
        button => 'Wipeout',
    }, "Select and destroy searched user");
    $agent->text_contains('objects were successfuly removed', 'Found success message' );

    my ($ret, $msg) = $user->Load($id);
    ok !$ret, 'User successfully shredded';
}

done_testing();