summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshley Camba Garrido <ashwoods@gmail.com>2017-09-26 15:18:33 +0200
committerAshley Camba <ashwoods@gmail.com>2017-09-26 21:16:59 +0200
commit4b0e6f7aa0b28034ea45322ed6d6bab3771011cf (patch)
tree69a655e7e076548d8bcdc0e13a93a1eb54c889b2
parentbdaf68c2849d273ef5b60da7e1af33d91ada70ec (diff)
downloadraven-4b0e6f7aa0b28034ea45322ed6d6bab3771011cf.tar.gz
fix(flask): Use request.remote_addr as fallback for flask too, fix tests
-rw-r--r--raven/contrib/flask.py11
-rw-r--r--tests/contrib/django/tests.py5
-rw-r--r--tests/contrib/flask/tests.py2
3 files changed, 10 insertions, 8 deletions
diff --git a/raven/contrib/flask.py b/raven/contrib/flask.py
index 4853ffa..40c7fb3 100644
--- a/raven/contrib/flask.py
+++ b/raven/contrib/flask.py
@@ -143,12 +143,15 @@ class Sentry(object):
Requires Flask-Login (https://pypi.python.org/pypi/Flask-Login/)
to be installed and setup.
"""
+ user_info = {}
+
try:
- user_info = {
- 'ip_address': request.access_route[0],
- }
+ ip_address = request.access_route[0]
except IndexError:
- user_info = {}
+ ip_address = request.remote_addr
+
+ if ip_address:
+ user_info['ip_address'] = ip_address
if not has_flask_login:
return user_info
diff --git a/tests/contrib/django/tests.py b/tests/contrib/django/tests.py
index 22a25c6..fbb7e96 100644
--- a/tests/contrib/django/tests.py
+++ b/tests/contrib/django/tests.py
@@ -234,9 +234,7 @@ class DjangoClientTest(TestCase):
assert 'user' in event
user_info = event['user']
- assert user_info == {
- {'ip_address': '127.0.0.1'}
- }
+ assert user_info == {'ip_address': '127.0.0.1'}
assert self.client.login(username='admin', password='password')
@@ -247,6 +245,7 @@ class DjangoClientTest(TestCase):
assert 'user' in event
user_info = event['user']
assert user_info == {
+ 'ip_address': '127.0.0.1',
'username': self.user.username,
'id': self.user.id,
'email': self.user.email,
diff --git a/tests/contrib/flask/tests.py b/tests/contrib/flask/tests.py
index e90a70d..593876c 100644
--- a/tests/contrib/flask/tests.py
+++ b/tests/contrib/flask/tests.py
@@ -313,7 +313,7 @@ class FlaskLoginTest(BaseTest):
def test_user(self):
self.client.get('/login/')
- self.client.get('/an-error/')
+ self.client.get('/an-error/', environ_overrides={'REMOTE_ADDR': '127.0.0.1'})
event = self.raven.events.pop(0)
assert event['message'] == 'ValueError: hello world'
assert 'request' in event