summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/contrib/django/tests.py40
-rw-r--r--tests/contrib/flask/tests.py4
-rw-r--r--tests/utils/wsgi/tests.py12
3 files changed, 51 insertions, 5 deletions
diff --git a/tests/contrib/django/tests.py b/tests/contrib/django/tests.py
index 14b68a1..e76f1f5 100644
--- a/tests/contrib/django/tests.py
+++ b/tests/contrib/django/tests.py
@@ -250,6 +250,7 @@ class DjangoClientTest(TestCase):
@pytest.mark.skipif(not DJANGO_15, reason='< Django 1.5')
def test_get_user_info_abstract_user(self):
from django.db import models
+ from django.http import HttpRequest
from django.contrib.auth.models import AbstractBaseUser
class MyUser(AbstractBaseUser):
@@ -263,8 +264,25 @@ class DjangoClientTest(TestCase):
email='admin@example.com',
id=1,
)
- user_info = self.raven.get_user_info(user)
+
+ request = HttpRequest()
+ request.META['REMOTE_ADDR'] = '127.0.0.1'
+ request.user = user
+ user_info = self.raven.get_user_info(request)
+ assert user_info == {
+ 'ip_address': '127.0.0.1',
+ 'username': user.username,
+ 'id': user.id,
+ 'email': user.email,
+ }
+
+ request = HttpRequest()
+ request.META['REMOTE_ADDR'] = '127.0.0.1'
+ request.META['HTTP_X_FORWARDED_FOR'] = '1.1.1.1, 2.2.2.2'
+ request.user = user
+ user_info = self.raven.get_user_info(request)
assert user_info == {
+ 'ip_address': '1.1.1.1',
'username': user.username,
'id': user.id,
'email': user.email,
@@ -273,6 +291,7 @@ class DjangoClientTest(TestCase):
@pytest.mark.skipif(not DJANGO_110, reason='< Django 1.10')
def test_get_user_info_is_authenticated_property(self):
from django.db import models
+ from django.http import HttpRequest
from django.contrib.auth.models import AbstractBaseUser
class MyUser(AbstractBaseUser):
@@ -289,8 +308,25 @@ class DjangoClientTest(TestCase):
email='admin@example.com',
id=1,
)
- user_info = self.raven.get_user_info(user)
+
+ request = HttpRequest()
+ request.META['REMOTE_ADDR'] = '127.0.0.1'
+ request.user = user
+ user_info = self.raven.get_user_info(request)
+ assert user_info == {
+ 'ip_address': '127.0.0.1',
+ 'username': user.username,
+ 'id': user.id,
+ 'email': user.email,
+ }
+
+ request = HttpRequest()
+ request.META['REMOTE_ADDR'] = '127.0.0.1'
+ request.META['HTTP_X_FORWARDED_FOR'] = '1.1.1.1, 2.2.2.2'
+ request.user = user
+ user_info = self.raven.get_user_info(request)
assert user_info == {
+ 'ip_address': '1.1.1.1',
'username': user.username,
'id': user.id,
'email': user.email,
diff --git a/tests/contrib/flask/tests.py b/tests/contrib/flask/tests.py
index ab7d803..e90a70d 100644
--- a/tests/contrib/flask/tests.py
+++ b/tests/contrib/flask/tests.py
@@ -59,7 +59,7 @@ def create_app(ignore_exceptions=None, debug=False, **config):
def capture_exception():
try:
raise ValueError('Boom')
- except:
+ except Exception:
current_app.extensions['sentry'].captureException()
return 'Hello'
@@ -318,4 +318,4 @@ class FlaskLoginTest(BaseTest):
assert event['message'] == 'ValueError: hello world'
assert 'request' in event
assert 'user' in event
- self.assertDictEqual(event['user'], User().to_dict())
+ self.assertDictEqual(event['user'], dict({'ip_address': '127.0.0.1'}, **User().to_dict()))
diff --git a/tests/utils/wsgi/tests.py b/tests/utils/wsgi/tests.py
index 5b2ffdc..79022ae 100644
--- a/tests/utils/wsgi/tests.py
+++ b/tests/utils/wsgi/tests.py
@@ -1,5 +1,5 @@
from raven.utils.testutils import TestCase
-from raven.utils.wsgi import get_headers, get_host, get_environ
+from raven.utils.wsgi import get_headers, get_host, get_environ, get_client_ip
class GetHeadersTest(TestCase):
@@ -84,3 +84,13 @@ class GetHostTest(TestCase):
'SERVER_PORT': '81',
})
self.assertEquals(result, 'example.com:81')
+
+
+class GetClientIpTest(TestCase):
+ def test_has_remote_addr(self):
+ result = get_client_ip({'REMOTE_ADDR': '127.0.0.1'})
+ self.assertEquals(result, '127.0.0.1')
+
+ def test_xff(self):
+ result = get_client_ip({'HTTP_X_FORWARDED_FOR': '1.1.1.1, 127.0.0.1'})
+ self.assertEquals(result, '1.1.1.1')