X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=t%2F09_soap.t;h=4967a9c8a15baff7cf123fd935eb97929754b756;hb=4c244879af2b9e8c0055968d7ffb054646cb7607;hp=2a04c60e07da530176262ced80b81d4150a16690;hpb=46fa42780ecb746d7bec2fb01190b05584b9283e;p=debbugs.git diff --git a/t/09_soap.t b/t/09_soap.t index 2a04c60..4967a9c 100644 --- a/t/09_soap.t +++ b/t/09_soap.t @@ -81,20 +81,33 @@ else { 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