diff options
| author | horus_arch | 2015-03-29 23:17:24 +0200 |
|---|---|---|
| committer | horus_arch | 2015-03-29 23:17:24 +0200 |
| commit | 37b6995afa83fcf32dfd24be406112491c8d6451 (patch) | |
| tree | 9c1e76a1c031b02deff028f9ab5a01fa3d6b0bc2 /utilities_test.go | |
| parent | 75eb1c4c535972cac5d2a91e7b79fd001767e83a (diff) | |
| download | freemail-37b6995afa83fcf32dfd24be406112491c8d6451.tar.gz | |
Better logging with RemoteAddr.
Diffstat (limited to 'utilities_test.go')
| -rw-r--r-- | utilities_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/utilities_test.go b/utilities_test.go index 5f095dc..4431241 100644 --- a/utilities_test.go +++ b/utilities_test.go @@ -74,3 +74,41 @@ func TestGetLanguage(t *testing.T) { t.Fatal("Expected empty string as lang.") } } + +func TestGetIP(t *testing.T) { + // Test with X-Forwarded-For + request, err := http.NewRequest("GET", "/", nil) + if err != nil { + t.Fatal("Error creating new http request. (/)", err) + } + request.Header.Add("X-Forwarded-For", "10.0.0.1") + + ip := GetIP(request) + if ip != "10.0.0.1" { + t.Fatal("Expected IP '10.0.0.1', got " + ip) + } + + // Test with X-Real-Ip + request, err = http.NewRequest("GET", "/", nil) + if err != nil { + t.Fatal("Error creating new http request. (/)", err) + } + request.Header.Add("X-Real-Ip", "10.0.0.1") + + ip = GetIP(request) + if ip != "10.0.0.1" { + t.Fatal("Expected IP '10.0.0.1', got " + ip) + } + + // Test with RemoteAddr + // Since Golang itself doesn't set RemoteAddr '0.0.0.0' is expected + request, err = http.NewRequest("GET", "/", nil) + if err != nil { + t.Fatal("Error creating new http request. (/)", err) + } + + ip = GetIP(request) + if ip != "0.0.0.0" { + t.Fatal("Expected IP '0.0.0.0', got " + ip) + } +} |
