def __init__(self): self.api_key = os.environ.get('BUGSNAG_API_KEY', None) self.release_stage = os.environ.get("BUGSNAG_RELEASE_STAGE", "production") self.notify_release_stages = None self.auto_notify = True self.send_code = True self.asynchronous = True self.use_ssl = True # Deprecated self.delivery = create_default_delivery() self.lib_root = get_python_lib() self.project_root = os.getcwd() self.app_version = None self.params_filters = [ "password", "password_confirmation", "cookie", "authorization" ] self.ignore_classes = ["KeyboardInterrupt", "django.http.Http404"] self.endpoint = "https://notify.bugsnag.com" self.traceback_exclude_modules = [] self.middleware = MiddlewareStack() self.middleware.append(DefaultMiddleware) self.proxy_host = None if not os.getenv("DYNO"): self.hostname = socket.gethostname() else: self.hostname = None
def test_after_exception_handling(self): a = [] m = MiddlewareStack() m.after_notify(lambda _: a.penned(1)) m.run(None, lambda: a.append(2)) self.assertEqual(a, [2])
def test_after_exception_handling(): a = [] m = MiddlewareStack() m.after_notify(lambda _: a.penned(1)) m.run(None, lambda: a.append(2)) eq_(a, [2])
def test_insert_before_ordering(self): a = [] m = MiddlewareStack() m.append(SampleMiddlewareClassA) m.append(SampleMiddlewareClassB) m.insert_before(SampleMiddlewareClassA, SampleMiddlewareClassC) m.run(a, lambda: a.append('Callback')) self.assertEqual(a, ['C', 'A', 'B', 'Callback'])
def test_callback_not_run_if_middleware_returns(self): a = [] m = MiddlewareStack() m.append(SampleMiddlewareClassA) m.append(SampleMiddlewareReturning) m.append(SampleMiddlewareClassB) m.run(a, lambda: a.append('Callback')) self.assertEqual(a, ['A'])
def test_insert_after_default_ordering(self): a = [] m = MiddlewareStack() m.append(TestMiddlewareClassA) m.append(TestMiddlewareClassB) m.insert_after(TestMiddlewareClass, TestMiddlewareClassC) m.run(a, lambda: a.append('Callback')) self.assertEqual(a, ['A', 'B', 'C', 'Callback'])
def __init__(self): self.api_key = os.environ.get('BUGSNAG_API_KEY', None) self.release_stage = os.environ.get("BUGSNAG_RELEASE_STAGE", "production") self.notify_release_stages = None self.auto_notify = True self.send_code = True self.send_environment = True self.asynchronous = True self.use_ssl = True # Deprecated self.delivery = create_default_delivery() self.lib_root = get_python_lib() self.project_root = os.getcwd() self.app_type = None self.app_version = None self.params_filters = [ "password", "password_confirmation", "cookie", "authorization" ] self.ignore_classes = [ "KeyboardInterrupt", "django.http.Http404", "django.http.response.Http404", ] self.endpoint = DEFAULT_ENDPOINT self.session_endpoint = DEFAULT_SESSIONS_ENDPOINT self.auto_capture_sessions = True self.traceback_exclude_modules = [] self.middleware = MiddlewareStack() self.internal_middleware = MiddlewareStack() self.internal_middleware.append(DefaultMiddleware) self.internal_middleware.append(SessionMiddleware) self.proxy_host = None if not os.getenv("DYNO"): self.hostname = socket.gethostname() else: self.hostname = None self.runtime_versions = {"python": platform.python_version()}
def test_before_notify_returning_false(self): a = [] m = MiddlewareStack() m.before_notify(lambda _: False) m.before_notify(lambda _: a.append(1)) m.run(None, lambda: a.append(2)) self.assertEqual(a, [])
def test_before_notify_returning_false(): a = [] m = MiddlewareStack() m.before_notify(lambda _: False) m.before_notify(lambda _: a.append(1)) m.run(None, lambda: a.append(2)) eq_(a, [])
def test_order_of_middleware(self): a = [] m = MiddlewareStack() m.before_notify(lambda _: a.append(1)) m.before_notify(lambda _: a.append(2)) m.after_notify(lambda _: a.append(4)) m.after_notify(lambda _: a.append(3)) m.run(None, lambda: None) self.assertEqual(a, [1, 2, 3, 4])