7 use Test::More tests => 16 + 1; # plus one for warnings check
10 my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
11 File::Spec->curdir());
12 require $shredder_utils;
17 diag 'simple queue' if $ENV{TEST_VERBOSE};
19 create_savepoint('clean');
20 my $queue = RT::Queue->new( RT->SystemUser );
21 my ($id, $msg) = $queue->Create( Name => 'my queue' );
22 ok($id, 'created queue') or diag "error: $msg";
24 my $shredder = shredder_new();
25 $shredder->PutObjects( Objects => $queue );
26 $shredder->WipeoutAll;
27 cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
30 diag 'queue with scrip' if $ENV{TEST_VERBOSE};
32 create_savepoint('clean');
33 my $queue = RT::Queue->new( RT->SystemUser );
34 my ($id, $msg) = $queue->Create( Name => 'my queue' );
35 ok($id, 'created queue') or diag "error: $msg";
37 my $scrip = RT::Scrip->new( RT->SystemUser );
38 ($id, $msg) = $scrip->Create(
39 Description => 'my scrip',
41 ScripCondition => 'On Create',
42 ScripAction => 'Open Tickets',
45 ok($id, 'created scrip') or diag "error: $msg";
47 my $shredder = shredder_new();
48 $shredder->PutObjects( Objects => $queue );
49 $shredder->WipeoutAll;
50 cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
53 diag 'queue with template' if $ENV{TEST_VERBOSE};
55 create_savepoint('clean');
56 my $queue = RT::Queue->new( RT->SystemUser );
57 my ($id, $msg) = $queue->Create( Name => 'my queue' );
58 ok($id, 'created queue') or diag "error: $msg";
60 my $template = RT::Template->new( RT->SystemUser );
61 ($id, $msg) = $template->Create(
62 Name => 'my template',
64 Content => "\nsome content",
66 ok($id, 'created template') or diag "error: $msg";
68 my $shredder = shredder_new();
69 $shredder->PutObjects( Objects => $queue );
70 $shredder->WipeoutAll;
71 cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
74 diag 'queue with a right granted' if $ENV{TEST_VERBOSE};
76 create_savepoint('clean');
77 my $queue = RT::Queue->new( RT->SystemUser );
78 my ($id, $msg) = $queue->Create( Name => 'my queue' );
79 ok($id, 'created queue') or diag "error: $msg";
81 my $group = RT::Group->new( RT->SystemUser );
82 $group->LoadSystemInternalGroup('Everyone');
83 ok($group->id, 'loaded group');
85 ($id, $msg) = $group->PrincipalObj->GrantRight(
86 Right => 'CreateTicket',
89 ok($id, 'granted right') or diag "error: $msg";
91 my $shredder = shredder_new();
92 $shredder->PutObjects( Objects => $queue );
93 $shredder->WipeoutAll;
94 cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");
97 diag 'queue with a watcher' if $ENV{TEST_VERBOSE};
99 # XXX, FIXME: if uncomment these lines then we'll get 'Bizarre...'
100 # create_savepoint('clean');
101 my $group = RT::Group->new( RT->SystemUser );
102 my ($id, $msg) = $group->CreateUserDefinedGroup(Name => 'my group');
103 ok($id, 'created group') or diag "error: $msg";
105 create_savepoint('bqcreate');
106 my $queue = RT::Queue->new( RT->SystemUser );
107 ($id, $msg) = $queue->Create( Name => 'my queue' );
108 ok($id, 'created queue') or diag "error: $msg";
110 ($id, $msg) = $queue->AddWatcher(
112 PrincipalId => $group->id,
114 ok($id, 'added watcher') or diag "error: $msg";
116 my $shredder = shredder_new();
117 $shredder->PutObjects( Objects => $queue );
118 $shredder->WipeoutAll;
119 cmp_deeply( dump_current_and_savepoint('bqcreate'), "current DB equal to savepoint");
121 # $shredder->PutObjects( Objects => $group );
122 # $shredder->WipeoutAll;
123 # cmp_deeply( dump_current_and_savepoint('clean'), "current DB equal to savepoint");