You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
774 B
27 lines
774 B
package utils |
|
|
|
import ( |
|
"net/http/httptest" |
|
"testing" |
|
) |
|
|
|
func TestGetIPAddressFromRequest(t *testing.T) { |
|
|
|
expectedResult := "203.0.113.195" |
|
|
|
request := httptest.NewRequest("GET", "/", nil) |
|
request.RemoteAddr = "203.0.113.195:41237" |
|
//First Test without X-FORWARDED-FOR header |
|
result := GetIPAddressFromRequest(request) |
|
if result != expectedResult { |
|
t.Errorf("Remote address only test failed: Expected %s, got %s", expectedResult, result) |
|
} |
|
|
|
//Test with X-FORWARDED-FOR header |
|
request.Header.Set("X-FORWARDED-FOR header", "203.0.113.195:41237, 198.51.100.100:38523, 140.248.67.176:12345") |
|
result = GetIPAddressFromRequest(request) |
|
if result != expectedResult { |
|
t.Errorf("X-FORWARD-FOR header test failed: Expected %s, got %s", expectedResult, result) |
|
} |
|
|
|
}
|
|
|