aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/Open311.pm8
-rw-r--r--t/open311.t37
2 files changed, 27 insertions, 18 deletions
diff --git a/perllib/Open311.pm b/perllib/Open311.pm
index 0b44575db..c1323acfa 100644
--- a/perllib/Open311.pm
+++ b/perllib/Open311.pm
@@ -83,10 +83,10 @@ sub send_service_request {
}
warn sprintf( "Failed to submit problem %s over Open311, response\n: %s\n%s", $problem->id, $response, $self->debug_details )
- unless $problem->send_fail_count;
+ if $problem->send_fail_count && $problem->send_fail_count == 2;
} else {
warn sprintf( "Failed to submit problem %s over Open311, details:\n%s", $problem->id, $self->error)
- unless $problem->send_fail_count;
+ if $problem->send_fail_count && $problem->send_fail_count == 2;
}
return 0;
}
@@ -259,10 +259,10 @@ sub post_service_request_update {
}
warn sprintf( "Failed to submit comment %s over Open311, response - %s\n%s\n", $comment->id, $response, $self->debug_details )
- unless $comment->send_fail_count;
+ if $comment->send_fail_count && $comment->send_fail_count == 2;
} else {
warn sprintf( "Failed to submit comment %s over Open311, details\n%s\n", $comment->id, $self->error)
- unless $comment->send_fail_count;
+ if $comment->send_fail_count && $comment->send_fail_count == 2;
}
return 0;
}
diff --git a/t/open311.t b/t/open311.t
index cbf305a36..e6ea9b6fc 100644
--- a/t/open311.t
+++ b/t/open311.t
@@ -30,20 +30,26 @@ my $o2 = Open311->new( endpoint => 'http://127.0.0.1/open311/', jurisdiction =>
my $u = FixMyStreet::DB->resultset('User')->new( { email => 'test@example.org', name => 'A User' } );
-my $p = FixMyStreet::DB->resultset('Problem')->new( {
- latitude => 1,
- longitude => 1,
- title => 'title',
- detail => 'detail',
- user => $u,
- id => 1,
- name => 'A User',
- cobrand => 'fixmystreet',
-} );
-
-my $expected_error = qr{Failed to submit problem 1 over Open311}ism;
-
-warning_like {$o2->send_service_request( $p, { url => 'http://example.com/' }, 1 )} $expected_error, 'warning generated on failed call';
+for my $sfc (0..2) {
+ my $p = FixMyStreet::DB->resultset('Problem')->new( {
+ latitude => 1,
+ longitude => 1,
+ title => 'title',
+ detail => 'detail',
+ user => $u,
+ id => 1,
+ name => 'A User',
+ cobrand => 'fixmystreet',
+ send_fail_count => $sfc,
+ } );
+ my $expected_error = qr{Failed to submit problem 1 over Open311}ism;
+
+ if ($sfc == 2) {
+ warning_like {$o2->send_service_request( $p, { url => 'http://example.com/' }, 1 )} $expected_error, 'warning generated on failed call';
+ } else {
+ warning_like {$o2->send_service_request( $p, { url => 'http://example.com/' }, 1 )} undef, 'no warning generated on failed call';
+ }
+}
my $dt = DateTime->now();
@@ -572,6 +578,9 @@ for my $test (
};
}
+$problem->send_fail_count(2);
+$comment->send_fail_count(2);
+
subtest 'No request id in reponse' => sub {
my $results;
warning_like {