diff --git a/web/federate_test.go b/web/federate_test.go index b18e9f63b2..4e0d1feffa 100644 --- a/web/federate_test.go +++ b/web/federate_test.go @@ -14,7 +14,9 @@ package web import ( + "bufio" "bytes" + "net/http" "net/http/httptest" "sort" "strings" @@ -126,7 +128,22 @@ func TestFederation(t *testing.T) { } for name, scenario := range scenarios { - req := httptest.NewRequest("GET", "http://example.org/federate?"+scenario.params, nil) + req, err := http.ReadRequest(bufio.NewReader(strings.NewReader( + "GET http://example.org/federate?" + scenario.params + " HTTP/1.0\r\n\r\n", + ))) + if err != nil { + t.Fatal(err) + } + // HTTP/1.0 was used above to avoid needing a Host field. Change it to 1.1 here. + req.Proto = "HTTP/1.1" + req.ProtoMinor = 1 + req.Close = false + // 192.0.2.0/24 is "TEST-NET" in RFC 5737 for use solely in + // documentation and example source code and should not be + // used publicly. + req.RemoteAddr = "192.0.2.1:1234" + // TODO(beorn7): Once we are completely on Go1.7, replace the lines above by the following: + // req := httptest.NewRequest("GET", "http://example.org/federate?"+scenario.params, nil) res := httptest.NewRecorder() h.federation(res, req) if got, want := res.Code, scenario.code; got != want {