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
|
use strict;
use warnings;
use File::Spec ();
use Test::Expect;
use RT::Test tests => 21, actual_server => 1;
my ($baseurl, $m) = RT::Test->started_ok;
my $rt_tool_path = "$RT::BinPath/rt";
$ENV{'RTUSER'} = 'root';
$ENV{'RTPASSWD'} = 'password';
$RT::Logger->debug("Connecting to server at ".RT->Config->Get('WebBaseURL'));
$ENV{'RTSERVER'} =RT->Config->Get('WebBaseURL') ;
$ENV{'RTDEBUG'} = '1';
$ENV{'RTCONFIG'} = '/dev/null';
expect_run(
command => "$rt_tool_path shell",
prompt => 'rt> ',
quit => 'quit',
);
expect_send( q{create -t ticket set foo=bar}, "create ticket with unknown field" );
expect_like(qr/foo: Unknown field/, 'foo is unknown field');
expect_like(qr/Could not create ticket/, 'ticket is not created');
expect_send(q{create -t ticket set subject='new ticket' add cc=foo@example.com}, "Creating a ticket...");
expect_like(qr/Ticket \d+ created/, "Created the ticket");
expect_handle->before() =~ /Ticket (\d+) created/;
my $ticket_id = $1;
expect_send("edit ticket/$ticket_id set marge=simpson", 'set unknown field');
expect_like(qr/marge: Unknown field/, 'marge is unknown field');
expect_like(qr/marge: simpson/, 'the value we set for marge is shown too');
expect_send("edit ticket/$ticket_id set homer=simpson", 'set unknown field');
expect_like(qr/homer: Unknown field/, 'homer is unknown field');
expect_like(qr/homer: simpson/, 'the value we set for homer is shown too');
expect_send(
q{create -t ticket set requestors='foo@example.com, bar@example.com'},
"create ticket with field 'requestors'" );
expect_like(qr/Ticket \d+ created/, "Created the ticket");
expect_handle->before() =~ /Ticket (\d+) created/;
$ticket_id = $1;
expect_send("show ticket/$ticket_id", 'check requestors');
expect_like(qr/From: (?:foo\@example\.com, bar\@example\.com|bar\@example\.com, foo\@example\.com)/, "requestors are set correctly");
expect_quit();
# you may encounter warning like Use of uninitialized value $ampm
# ... in Time::ParseDate
my @warnings = grep { $_ !~ /\$ampm/ } $m->get_warnings;
is( scalar @warnings, 0, 'no extra warnings' );
1; # needed to avoid a weird exit value from expect_quit
|