bugzilla-4intranet/qa/t/webservice_bug_get_bugs.t

35 lines
1.2 KiB
Perl

###########################################
# Test for xmlrpc call to Bug.get_bugs() #
###########################################
use strict;
use warnings;
use lib qw(lib);
use QA::Util;
use QA::Tests qw(STANDARD_BUG_TESTS);
use Test::More tests => 78;
my ($xmlrpc, $jsonrpc, $config) = get_rpc_clients();
sub post_success {
my ($call, $t) = @_;
is(scalar @{ $call->result->{bugs} }, 1, "Got exactly one bug");
if ($t->{user} && $t->{user} eq 'admin') {
ok(exists $call->result->{bugs}->[0]->{internals}{estimated_time}
&& exists $call->result->{bugs}->[0]->{internals}{remaining_time}
&& exists $call->result->{bugs}->[0]->{internals}{deadline},
'Admin correctly gets time-tracking fields');
}
else {
ok(!exists $call->result->{bugs}->[0]->{internals}{estimated_time}
&& !exists $call->result->{bugs}->[0]->{internals}{remaining_time}
&& !exists $call->result->{bugs}->[0]->{internals}{deadline},
'Time-tracking fields are not returned to logged-out users');
}
}
foreach my $rpc ($jsonrpc, $xmlrpc) {
$rpc->bz_run_tests(tests => STANDARD_BUG_TESTS,
method => 'Bug.get', post_success => \&post_success);
}