| 91 | } |
| 92 | |
| 93 | func TestInvalidIP(t *testing.T) { |
| 94 | req, _ := http.NewRequest("GET", "/", nil) |
| 95 | req.Header.Add("X-Real-IP", "100.100.100.1000") |
| 96 | w := httptest.NewRecorder() |
| 97 | |
| 98 | r := chi.NewRouter() |
| 99 | r.Use(RealIP) |
| 100 | |
| 101 | realIP := "" |
| 102 | r.Get("/", func(w http.ResponseWriter, r *http.Request) { |
| 103 | realIP = r.RemoteAddr |
| 104 | w.Write([]byte("Hello World")) |
| 105 | }) |
| 106 | r.ServeHTTP(w, req) |
| 107 | |
| 108 | if w.Code != 200 { |
| 109 | t.Fatal("Response Code should be 200") |
| 110 | } |
| 111 | |
| 112 | if realIP != "" { |
| 113 | t.Fatal("Invalid IP used.") |
| 114 | } |
| 115 | } |