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"])