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