def test_exception_plugin(): # type: () -> None test_logger = ExceptionLoggerTestPlugin() proxy = PluginProxy([test_logger]) try: raise RandomException("some string") except RandomException: proxy.log_exception(None, None, *sys.exc_info()) assert test_logger.request is None assert test_logger.status is None assert test_logger.exc_type == RandomException assert str(test_logger.exc_value) == "some string" assert test_logger.exc_tb is not None # Reinitializing test_logger unconfuses mypy, which otherwise thinks that test_logger.request # must still be None. See mypy/issues/4168. test_logger = ExceptionLoggerTestPlugin() proxy = PluginProxy([test_logger]) try: raise RandomException("with request") except RandomException: request = HTTPRequest("GET", "/foo") proxy.log_exception(request, 200, *sys.exc_info()) assert test_logger.request is not None assert test_logger.request.uri == "/foo" assert test_logger.status == 200 assert test_logger.exc_type == RandomException assert str(test_logger.exc_value) == "with request" assert test_logger.exc_tb is not None
def test_exception_plugin(): # type: () -> None test_logger = ExceptionLoggerTestPlugin() proxy = PluginProxy([test_logger]) try: raise RandomException("some string") except RandomException: proxy.log_exception(None, None, *sys.exc_info()) assert test_logger.request is None assert test_logger.status is None assert test_logger.exc_type == RandomException assert str(test_logger.exc_value) == "some string" assert test_logger.exc_tb is not None try: raise RandomException("with request") except RandomException: request = HTTPRequest("GET", "/foo") proxy.log_exception(request, 200, *sys.exc_info()) assert test_logger.request is not None assert test_logger.request.uri == "/foo" assert test_logger.status == 200 assert test_logger.exc_type == RandomException assert str(test_logger.exc_value) == "with request" assert test_logger.exc_tb is not None