first pass RT4 merge, RT#13852
[freeside.git] / rt / t / web / gnupg-headers.t
1 #!/usr/bin/perl -w
2 use strict;
3
4 use RT::Test::GnuPG
5   tests         => 15,
6   gnupg_options => {
7     passphrase    => 'recipient',
8     'trust-model' => 'always',
9   };
10
11 RT::Test->import_gnupg_key( 'recipient@example.com', 'public' );
12 RT::Test->import_gnupg_key( 'general@example.com',   'secret' );
13
14 ok( my $user = RT::User->new( RT->SystemUser ) );
15 ok( $user->Load('root'), "Loaded user 'root'" );
16 $user->SetEmailAddress('recipient@example.com');
17
18 my $queue = RT::Test->load_or_create_queue(
19     Name              => 'General',
20     CorrespondAddress => 'general@example.com',
21 );
22 ok $queue && $queue->id, 'loaded or created queue';
23 my $qid = $queue->id;
24
25 my ( $baseurl, $m ) = RT::Test->started_ok;
26 ok $m->login, 'logged in';
27
28 diag "test with Encrypt and Sign disabled";
29
30 $m->goto_create_ticket($queue);
31 $m->form_name('TicketCreate');
32 $m->field( 'Subject', 'Signing test' );
33 $m->field( 'Content', 'Some other content' );
34 $m->submit;
35 $m->content_like( qr/Ticket \d+ created/i, 'created the ticket' );
36 $m->follow_link_ok( { text => 'with headers' } );
37 $m->content_contains('X-RT-Encrypt: 0');
38 $m->content_contains('X-RT-Sign: 0');
39
40 diag "test with Encrypt and Sign enabled";
41
42 $m->goto_create_ticket($queue);
43 $m->form_name('TicketCreate');
44 $m->field( 'Subject', 'Signing test' );
45 $m->field( 'Content', 'Some other content' );
46 $m->tick( 'Encrypt', 1 );
47 $m->tick( 'Sign',    1 );
48 $m->submit;
49 $m->content_like( qr/Ticket \d+ created/i, 'created the ticket' );
50 $m->follow_link_ok( { text => 'with headers' } );
51 $m->content_contains('X-RT-Encrypt: 1');
52 $m->content_contains('X-RT-Sign: 1');
53