From 1deda056ced37ea7051951fd623cff63986db2e3 Mon Sep 17 00:00:00 2001 From: David Cramer Date: Sun, 29 Mar 2015 11:37:51 -0700 Subject: [PATCH] Remove Sentry integrated client --- CHANGES | 1 + raven/base.py | 4 +-- raven/contrib/django/client.py | 27 --------------------- raven/contrib/django/management/__init__.py | 13 +++------- tests/contrib/django/tests.py | 25 +------------------ 5 files changed, 7 insertions(+), 63 deletions(-) diff --git a/CHANGES b/CHANGES index b158467f4..81672d201 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,7 @@ Version 5.3.0 ------------- * The UDP transport has been removed. +* The integrated Sentry+Django client has been removed. This is now part of Sentry core. Version 5.2.0 ------------- diff --git a/raven/base.py b/raven/base.py index a01743fef..ff4fa3d3e 100644 --- a/raven/base.py +++ b/raven/base.py @@ -92,9 +92,7 @@ def did_fail(self): class Client(object): """ - The base Raven client, which handles both local direct - communication with Sentry (through the GroupedMessage API), as - well as communicating over the HTTP API to multiple servers. + The base Raven client. Will read default configuration from the environment variable ``SENTRY_DSN`` if available. diff --git a/raven/contrib/django/client.py b/raven/contrib/django/client.py index ce22b8b6b..678478939 100644 --- a/raven/contrib/django/client.py +++ b/raven/contrib/django/client.py @@ -27,9 +27,6 @@ class DjangoClient(Client): logger = logging.getLogger('sentry.errors.client.django') - def is_enabled(self): - return bool(self.servers or 'sentry' in settings.INSTALLED_APPS) - def get_user_info(self, user): if not user.is_authenticated(): return {'is_authenticated': False} @@ -167,27 +164,3 @@ def capture(self, event_type, request=None, **kwargs): } return result - - def send(self, **kwargs): - """ - Serializes and signs ``data`` and passes the payload off to ``send_remote`` - - If ``servers`` was passed into the constructor, this will serialize the data and pipe it to - each server using ``send_remote()``. Otherwise, this will communicate with ``sentry.models.GroupedMessage`` - directly. - """ - if self.servers: - return super(DjangoClient, self).send(**kwargs) - elif 'sentry' in settings.INSTALLED_APPS: - try: - return self.send_integrated(kwargs) - except Exception as e: - if self.raise_send_errors: - raise - self.error_logger.error( - 'Unable to record event: %s\nEvent was: %r', e, - kwargs['message'], exc_info=True) - - def send_integrated(self, kwargs): - from sentry.models import Group - return Group.objects.from_kwargs(**kwargs) diff --git a/raven/contrib/django/management/__init__.py b/raven/contrib/django/management/__init__.py index d1f1fe526..dfed21d25 100644 --- a/raven/contrib/django/management/__init__.py +++ b/raven/contrib/django/management/__init__.py @@ -28,21 +28,16 @@ def patch_base_command(cls): if hasattr(original_func, '__raven_patched'): return False - def can_capture(cls): - return 'sentry' not in settings.INSTALLED_APPS - @wraps(original_func) def new_execute(self, *args, **kwargs): try: return original_func(self, *args, **kwargs) except Exception: + from raven.contrib.django.models import client - if can_capture(type(self)): - from raven.contrib.django.models import client - - client.captureException(extra={ - 'argv': sys.argv - }) + client.captureException(extra={ + 'argv': sys.argv + }) raise new_execute.__raven_patched = True diff --git a/tests/contrib/django/tests.py b/tests/contrib/django/tests.py index 496816bc0..48a60a323 100644 --- a/tests/contrib/django/tests.py +++ b/tests/contrib/django/tests.py @@ -121,7 +121,7 @@ def test_basic(self, captureMessage): class DjangoClientTest(TestCase): - ## Fixture setup/teardown + # Fixture setup/teardown urls = 'tests.contrib.django.urls' def setUp(self): @@ -601,29 +601,6 @@ def test_without_eager(self, send_raw): assert send_raw.delay.call_count == 1 -class CeleryIntegratedClientTest(TestCase): - def setUp(self): - self.client = CeleryClient() - - @mock.patch('raven.contrib.django.celery.send_raw_integrated') - def test_send_encoded(self, send_raw): - with Settings(INSTALLED_APPS=tuple(settings.INSTALLED_APPS) + ('sentry',)): - self.client.send_integrated('foo') - - send_raw.delay.assert_called_once_with('foo') - - @mock.patch('raven.contrib.django.celery.send_raw_integrated') - def test_without_eager(self, send_raw): - """ - Integration test to ensure it propagates all the way down - and calls delay on the task. - """ - with Settings(INSTALLED_APPS=tuple(settings.INSTALLED_APPS) + ('sentry',)): - self.client.captureMessage(message='test') - - assert send_raw.delay.call_count == 1 - - class IsValidOriginTestCase(TestCase): def test_setting_empty(self): with Settings(SENTRY_ALLOW_ORIGIN=None):