def test_callable_validation_for_string(): from os.path import isdir as testfunc t.eq(config.validate_callable(-1)("os.path.isdir"), testfunc) # invalid values tests t.raises(TypeError, config.validate_callable(-1), "") t.raises(TypeError, config.validate_callable(-1), "os.path.not_found_func") t.raises(TypeError, config.validate_callable(-1), "notfoundmodule.func")
def test_callable_validation_for_string(): from os.path import isdir as testfunc assert config.validate_callable(-1)("os.path.isdir") == testfunc # invalid values tests pytest.raises( TypeError, config.validate_callable(-1), "" ) pytest.raises( TypeError, config.validate_callable(-1), "os.path.not_found_func" ) pytest.raises( TypeError, config.validate_callable(-1), "notfoundmodule.func" )
class PreRequest(Setting): name = "pre_request" section = "Server Hooks" validator = validate_callable(2) type = six.callable def pre_request(worker, req): logger.info("PRE-REQUEST => %s %s" % (req.method, req.path)) default = staticmethod(pre_request) desc = """\
class ClientConnectClosed(Setting): name = "post_connect_closed" section = "Server Hooks" validator = validate_callable(1) type = six.callable def post_connect_closed(worker): pass default = staticmethod(post_connect_closed) desc = """\
class ClientConnected(Setting): name = "on_connected" section = "Server Hooks" validator = validate_callable(2) type = six.callable def on_connected(worker, addr): pass default = staticmethod(on_connected) desc = """\
class WorkerTerm(Setting): name = "worker_term" section = "Server Hooks" validator = validate_callable(1) type = six.callable def worker_term(worker): pass default = staticmethod(worker_term) desc = """\
class WhenReady(Setting): name = "when_ready" section = "Server Hooks" validator = validate_callable(1) type = six.callable def when_ready(server): pass default = staticmethod(when_ready) desc = """\
class TDecodeExceptionRaised(Setting): name = "on_tdecode_exception" section = "Server Hooks" validator = validate_callable(1) type = six.callable def on_tdecode_exception(err): pass default = staticmethod(on_tdecode_exception) desc = """\
class PreRequestWrapped(PreRequest): """ Represents Gunicorn Middleware's PreRequest Hook """ name = 'pre_request' section = 'Server Hooks' validator = validate_callable(2) type = callable # pylint: disable=no-self-argument def pre_request(worker, req): """ Runs before process of response. """ if 'SyncWorker' not in type(worker).__name__: return trace = epsagon.trace.trace_factory.get_or_create_trace() trace.prepare() if ignore_request('', req.path.lower()): return # Create a Gunicorn runner with current request. try: runner = GunicornRunner(time.time(), req) trace.set_runner(runner) # Collect metadata in case this is a container. collect_container_metadata(runner.resource['metadata']) # pylint: disable=W0703 except Exception as exception: # Regress to python runner. warnings.warn('Could not extract request', EpsagonWarning) epsagon.trace.trace_factory.add_exception(exception, traceback.format_exc()) # pylint: disable=no-staticmethod-decorator default = staticmethod(pre_request) desc = """\