mirror of
https://github.com/jazzband/django-defender.git
synced 2026-05-05 14:14:48 +00:00
Improved utils coverage
This commit is contained in:
parent
6f0f5c26f2
commit
a6ac9a1e67
1 changed files with 64 additions and 0 deletions
|
|
@ -12,6 +12,7 @@ from django.contrib.auth.models import AnonymousUser
|
|||
from django.contrib.sessions.backends.db import SessionStore
|
||||
from django.core.urlresolvers import NoReverseMatch
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.http import HttpRequest
|
||||
|
||||
from .connection import parse_redis_url
|
||||
from . import utils
|
||||
|
|
@ -342,3 +343,66 @@ class AccessAttemptTest(TestCase):
|
|||
self.assertEquals(conf.get('DB'), 0)
|
||||
self.assertEquals(conf.get('PASSWORD'), None)
|
||||
self.assertEquals(conf.get('PORT'), 1234)
|
||||
|
||||
def test_get_ip_address_from_request(self):
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_FORWARDED_FOR'] = '1.2.3.4'
|
||||
ip = utils.get_ip_address_from_request(req)
|
||||
self.assertEqual(ip, '1.2.3.4')
|
||||
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_FORWARDED_FOR'] = ','.join(
|
||||
['192.168.100.23', '1.2.3.4']
|
||||
)
|
||||
ip = utils.get_ip_address_from_request(req)
|
||||
self.assertEqual(ip, '1.2.3.4')
|
||||
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_FORWARDED_FOR'] = '192.168.100.34'
|
||||
ip = utils.get_ip_address_from_request(req)
|
||||
self.assertEqual(ip, '127.0.0.1')
|
||||
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_FORWARDED_FOR'] = '127.0.0.1'
|
||||
req.META['HTTP_X_REAL_IP'] = '1.2.3.4'
|
||||
ip = utils.get_ip_address_from_request(req)
|
||||
self.assertEqual(ip, '1.2.3.4')
|
||||
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_FORWARDED_FOR'] = '1.2.3.4'
|
||||
req.META['HTTP_X_REAL_IP'] = '5.6.7.8'
|
||||
ip = utils.get_ip_address_from_request(req)
|
||||
self.assertEqual(ip, '1.2.3.4')
|
||||
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_REAL_IP'] = '5.6.7.8'
|
||||
ip = utils.get_ip_address_from_request(req)
|
||||
self.assertEqual(ip, '5.6.7.8')
|
||||
|
||||
req = HttpRequest()
|
||||
req.META['REMOTE_ADDR'] = '1.2.3.4'
|
||||
ip = utils.get_ip_address_from_request(req)
|
||||
self.assertEqual(ip, '1.2.3.4')
|
||||
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_FORWARDED_FOR'] = ','.join(
|
||||
['127.0.0.1', '192.168.132.98']
|
||||
)
|
||||
req.META['HTTP_X_REAL_IP'] = '10.0.0.34'
|
||||
req.META['REMOTE_ADDR'] = '1.2.3.4'
|
||||
ip = utils.get_ip_address_from_request(req)
|
||||
self.assertEqual(ip, '1.2.3.4')
|
||||
|
||||
@patch('defender.config.BEHIND_REVERSE_PROXY', True)
|
||||
@patch('defender.config.REVERSE_PROXY_HEADER', 'HTTP_X_PROXIED')
|
||||
def test_get_ip_reverse_proxy(self):
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_PROXIED'] = '1.2.3.4'
|
||||
self.assertEqual(utils.get_ip(req), '1.2.3.4')
|
||||
req = HttpRequest()
|
||||
req.META['HTTP_X_PROXIED'] = '1.2.3.4, 5.6.7.8, 127.0.0.1'
|
||||
self.assertEqual(utils.get_ip(req), '1.2.3.4')
|
||||
|
||||
req = HttpRequest()
|
||||
req.META['REMOTE_ADDR'] = '1.2.3.4'
|
||||
self.assertEqual(utils.get_ip(req), '1.2.3.4')
|
||||
|
|
|
|||
Loading…
Reference in a new issue