1package api 2 3import ( 4 "fmt" 5 "net" 6 "net/http" 7 "testing" 8) 9 10// testHTTPServer creates a test HTTP server that handles requests until 11// the listener returned is closed. 12func testHTTPServer( 13 t *testing.T, handler http.Handler) (*Config, net.Listener) { 14 ln, err := net.Listen("tcp", "127.0.0.1:0") 15 if err != nil { 16 t.Fatalf("err: %s", err) 17 } 18 19 server := &http.Server{Handler: handler} 20 go server.Serve(ln) 21 22 config := DefaultConfig() 23 config.Address = fmt.Sprintf("http://%s", ln.Addr()) 24 25 return config, ln 26} 27