6 use RT::Test::Shredder tests => 21;
7 my $test = "RT::Test::Shredder";
9 diag 'simple queue' if $ENV{TEST_VERBOSE};
11 $test->create_savepoint('clean');
12 my $queue = RT::Queue->new( RT->SystemUser );
13 my ($id, $msg) = $queue->Create( Name => 'my queue' );
14 ok($id, 'created queue') or diag "error: $msg";
16 my $shredder = $test->shredder_new();
17 $shredder->PutObjects( Objects => $queue );
18 $shredder->WipeoutAll;
20 cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");
23 diag 'queue with scrip' if $ENV{TEST_VERBOSE};
25 $test->create_savepoint('clean');
26 my $queue = RT::Queue->new( RT->SystemUser );
27 my ($id, $msg) = $queue->Create( Name => 'my queue' );
28 ok($id, 'created queue') or diag "error: $msg";
30 my $scrip = RT::Scrip->new( RT->SystemUser );
31 ($id, $msg) = $scrip->Create(
32 Description => 'my scrip',
34 ScripCondition => 'On Create',
35 ScripAction => 'Open Tickets',
38 ok($id, 'created scrip') or diag "error: $msg";
40 my $shredder = $test->shredder_new();
41 $shredder->PutObjects( Objects => $queue );
42 $shredder->WipeoutAll;
44 cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");
47 diag 'queue with template' if $ENV{TEST_VERBOSE};
49 $test->create_savepoint('clean');
50 my $queue = RT::Queue->new( RT->SystemUser );
51 my ($id, $msg) = $queue->Create( Name => 'my queue' );
52 ok($id, 'created queue') or diag "error: $msg";
54 my $template = RT::Template->new( RT->SystemUser );
55 ($id, $msg) = $template->Create(
56 Name => 'my template',
58 Content => "\nsome content",
60 ok($id, 'created template') or diag "error: $msg";
62 my $shredder = $test->shredder_new();
63 $shredder->PutObjects( Objects => $queue );
64 $shredder->WipeoutAll;
66 cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");
69 diag 'queue with a right granted' if $ENV{TEST_VERBOSE};
71 $test->create_savepoint('clean');
72 my $queue = RT::Queue->new( RT->SystemUser );
73 my ($id, $msg) = $queue->Create( Name => 'my queue' );
74 ok($id, 'created queue') or diag "error: $msg";
76 my $group = RT::Group->new( RT->SystemUser );
77 $group->LoadSystemInternalGroup('Everyone');
78 ok($group->id, 'loaded group');
80 ($id, $msg) = $group->PrincipalObj->GrantRight(
81 Right => 'CreateTicket',
84 ok($id, 'granted right') or diag "error: $msg";
86 my $shredder = $test->shredder_new();
87 $shredder->PutObjects( Objects => $queue );
88 $shredder->WipeoutAll;
90 cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");
93 diag 'queue with a watcher' if $ENV{TEST_VERBOSE};
95 # XXX, FIXME: if uncomment these lines then we'll get 'Bizarre...'
96 # $test->create_savepoint('clean');
97 my $group = RT::Group->new( RT->SystemUser );
98 my ($id, $msg) = $group->CreateUserDefinedGroup(Name => 'my group');
99 ok($id, 'created group') or diag "error: $msg";
101 $test->create_savepoint('bqcreate');
102 my $queue = RT::Queue->new( RT->SystemUser );
103 ($id, $msg) = $queue->Create( Name => 'my queue' );
104 ok($id, 'created queue') or diag "error: $msg";
106 ($id, $msg) = $queue->AddWatcher(
108 PrincipalId => $group->id,
110 ok($id, 'added watcher') or diag "error: $msg";
112 my $shredder = $test->shredder_new();
113 $shredder->PutObjects( Objects => $queue );
114 $shredder->WipeoutAll;
116 cmp_deeply( $test->dump_current_and_savepoint('bqcreate'), "current DB equal to savepoint");
118 # $shredder->PutObjects( Objects => $group );
119 # $shredder->WipeoutAll;
120 # cmp_deeply( $test->dump_current_and_savepoint('clean'), "current DB equal to savepoint");