test_realip_middleware.py 786 B

1234567891011121314151617181920212223242526272829
  1. from django.http import HttpResponse
  2. from ..middleware import RealIPMiddleware
  3. def get_response(*_):
  4. return HttpResponse("OK!")
  5. class MockRequest:
  6. def __init__(self, addr, forwarded_for=None):
  7. self.META = {"REMOTE_ADDR": addr}
  8. if forwarded_for:
  9. self.META["HTTP_X_FORWARDED_FOR"] = forwarded_for
  10. def test_user_ip_middleware_sets_ip_from_remote_add_on_request():
  11. request = MockRequest("83.42.13.77")
  12. RealIPMiddleware(get_response)(request)
  13. assert request.user_ip == request.META["REMOTE_ADDR"]
  14. def test_user_ip_middleware_sets_ip_from_forwarded_for_on_request():
  15. request = MockRequest("127.0.0.1", "83.42.13.77")
  16. RealIPMiddleware(get_response)(request)
  17. assert request.user_ip == request.META["HTTP_X_FORWARDED_FOR"]