eval q(
use Debbugs::SOAP::Server;
@Debbugs::SOAP::Server::ISA = qw(SOAP::Transport::HTTP::Daemon);
- Debbugs::SOAP::Server
+ our $warnings = '';
+ eval {
+ # Ignore stupid warning because elements (hashes) can't start with
+ # numbers
+ local $SIG{__WARN__} = sub {$warnings .= $_[0] unless $_[0] =~ /Cannot encode unnamed element/};
+ Debbugs::SOAP::Server
->new(LocalAddr => 'localhost', LocalPort => $port)
->dispatch_to('/','Debbugs::SOAP')
->handle;
+ };
+ die $@ if $@;
+ warn $warnings if length $warnings;
+
);
}
use SOAP::Lite;
my $soap = SOAP::Lite->uri('Debbugs/SOAP')->proxy('http://localhost:'.$port.'/');
#ok($soap->get_soap_version->result == 1,'Version set and got correctly');
-my $bugs = $soap->get_bugs(package => 'foo')->result;
+my $bugs_result = $soap->get_bugs(package => 'foo');
+my $bugs = $bugs_result->result;
use Data::Dumper;
+#print STDERR Dumper($bugs_result);
ok(@{$bugs} == 1 && $bugs->[0] == 1, 'get_bugs returns bug number 1') or fail(Dumper($bugs));
-my $status = $soap->get_status(1)->result;
+my $status_result = $soap->get_status(1);
+#print STDERR Dumper($status_result);
+my $status = $status_result->result;
ok($status->{1}{package} eq 'foo','get_status thinks that bug 1 belongs in foo') or fail(Dumper($status));
# Test the usertags at some point