diff --git a/clients_test.go b/clients_test.go index 9b439ac..3542fa8 100644 --- a/clients_test.go +++ b/clients_test.go @@ -2,7 +2,6 @@ package main import ( "bytes" - "context" "crypto/tls" "net/http" "net/http/httptest" @@ -59,38 +58,30 @@ func TestShouldProperlyConvertToHttpHeaders(t *testing.T) { func TestHTTP2Client(t *testing.T) { responseSize := 1024 response := bytes.Repeat([]byte{'a'}, responseSize) - url := "localhost:8443" - s := &http.Server{ - Addr: url, - Handler: http.HandlerFunc( - func(w http.ResponseWriter, r *http.Request) { - if !r.ProtoAtLeast(2, 0) { - t.Errorf("invalid HTTP proto version: %v", r.Proto) - } - - w.WriteHeader(http.StatusOK) - _, err := w.Write(response) - if err != nil { - t.Error(err) - } - }, - ), - TLSConfig: &tls.Config{ - NextProtos: []string{"http/2.0"}, - }, + s := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if !r.ProtoAtLeast(2, 0) { + t.Errorf("invalid HTTP proto version: %v", r.Proto) + } + + w.WriteHeader(http.StatusOK) + _, err := w.Write(response) + if err != nil { + t.Error(err) + } + })) + s.EnableHTTP2 = true + s.TLS = &tls.Config{ + InsecureSkipVerify: true, } - errChan := make(chan error) - go func() { - err := s.ListenAndServeTLS("testserver.cert", "testserver.key") - errChan <- err - }() + s.StartTLS() + defer s.Close() bytesRead, bytesWritten := int64(0), int64(0) c := newHTTPClient(&clientOpts{ HTTP2: true, headers: new(headersList), - url: "https://" + url, + url: s.URL, method: "GET", tlsConfig: &tls.Config{ InsecureSkipVerify: true, @@ -106,10 +97,6 @@ func TestHTTP2Client(t *testing.T) { t.Error(err) return } - ctx := context.Background() - if err := s.Shutdown(ctx); err != nil { - t.Error(err) - } if code != http.StatusOK { t.Errorf("invalid response code: %v", code) } @@ -119,13 +106,6 @@ func TestHTTP2Client(t *testing.T) { if atomic.LoadInt64(&bytesWritten) == 0 { t.Errorf("empty request of size: %v", bytesWritten) } - err = s.Close() - if err != nil { - t.Error(err) - } - if err := <-errChan; err != http.ErrServerClosed { - t.Error(err) - } } func TestHTTP1Clients(t *testing.T) {