示例#1
0
    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())
示例#2
0
    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"])