def view(self, api_key): """ Execute the view code and return a response. """ try: self.transfer(api_key) except RedisError: raise self.prepare_exception(ServiceUnavailable()) return self.prepare_exception(self.success())
def test_error_redis_failure(self, app, raven, metricsmock): mock_queue = mock.Mock() mock_queue.side_effect = RedisError() with mock.patch("ichnaea.queue.DataQueue.enqueue", mock_queue): res = self._post_one_cell(app, status=503) assert res.json == ServiceUnavailable().json_body() assert mock_queue.called raven.check([("ServiceUnavailable", 1)]) metricsmock.assert_not_incr("data.batch.upload") metricsmock.assert_incr_once( "request", tags=[self.metric_path, "method:post", "status:503"])