(t *testing.T, tests []ipTestCase)
| 262 | } |
| 263 | |
| 264 | func testIpFromRequest(t *testing.T, tests []ipTestCase) { |
| 265 | for _, tt := range tests { |
| 266 | u, err := url.Parse("http://" + tt.remoteAddr) |
| 267 | if err != nil { |
| 268 | t.Fatal(err) |
| 269 | } |
| 270 | r := &http.Request{ |
| 271 | RemoteAddr: u.Host, |
| 272 | Header: http.Header{}, |
| 273 | URL: u, |
| 274 | } |
| 275 | r.Header.Add(tt.headerKey, tt.headerValue) |
| 276 | ip, err := ipFromRequest(tt.trustedHeaders, r, true) |
| 277 | if err != nil { |
| 278 | t.Fatal(err) |
| 279 | } |
| 280 | out := net.ParseIP(tt.out) |
| 281 | if !ip.Equal(out) { |
| 282 | t.Errorf("Expected %s, got %s", out, ip) |
| 283 | } |
| 284 | } |
| 285 | } |
| 286 | |
| 287 | func TestCLIMatcher(t *testing.T) { |
| 288 | browserUserAgent := "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) " + |
no test coverage detected