test_realip_middleware.py 928 B

123456789101112131415161718192021222324252627
  1. from django.test import TestCase
  2. from misago.users.middleware import RealIPMiddleware
  3. class MockRequest(object):
  4. def __init__(self, addr, forwarded_for=None):
  5. self.META = {'REMOTE_ADDR': addr}
  6. if forwarded_for:
  7. self.META['HTTP_X_FORWARDED_FOR'] = forwarded_for
  8. class RealIPMiddlewareTests(TestCase):
  9. def test_middleware_sets_ip_from_remote_add(self):
  10. """Middleware sets ip from remote_addr header"""
  11. request = MockRequest('83.42.13.77')
  12. RealIPMiddleware().process_request(request)
  13. self.assertEqual(request.user_ip, request.META['REMOTE_ADDR'])
  14. def test_middleware_sets_ip_from_forwarded_for(self):
  15. """Middleware sets ip from forwarded_for header"""
  16. request = MockRequest('127.0.0.1', '83.42.13.77')
  17. RealIPMiddleware().process_request(request)
  18. self.assertEqual(request.user_ip, request.META['HTTP_X_FORWARDED_FOR'])