Permalink
Browse files

Added a unit test to illustrate bug when HTTP_X_FORWARDED_FOR header …

…is comma delimited
  • Loading branch information...
1 parent e399ef9 commit e1b6d887a38984b08b7e17457bafeb771eb269ef @robdimarco robdimarco committed Jan 3, 2013
Showing with 29 additions and 0 deletions.
  1. +29 −0 test/request_test.rb
View
@@ -0,0 +1,29 @@
+# encoding: utf-8
+require 'test_helper'
+
+class RequestTest < Test::Unit::TestCase
+ class MockRequest
+ include Geocoder::Request
+ attr_accessor :env, :ip
+ def initialize(env={}, ip="")
+ @env = env
+ @ip = ip
+ end
+ end
+ def test_http_x_real_ip
+ req = MockRequest.new({"HTTP_X_REAL_IP" => "74.200.247.59"})
+ assert req.location.is_a?(Geocoder::Result::Freegeoip)
+ end
+ def test_http_x_forwarded_for_without_proxy
+ req = MockRequest.new({"HTTP_X_FORWARDED_FOR" => "74.200.247.59"})
+ assert req.location.is_a?(Geocoder::Result::Freegeoip)
+ end
+ def test_http_x_forwarded_for_with_proxy
+ req = MockRequest.new({"HTTP_X_FORWARDED_FOR" => "74.200.247.59, 74.200.247.59"})
+ assert req.location.is_a?(Geocoder::Result::Freegeoip)
+ end
+ def test_with_request_ip
+ req = MockRequest.new({}, "74.200.247.59")
+ assert req.location.is_a?(Geocoder::Result::Freegeoip)
+ end
+end

0 comments on commit e1b6d88

Please sign in to comment.