Skip to content

Commit

Permalink
client tests: simplify TestHTTP2Client test and use httptest.Server
Browse files Browse the repository at this point in the history
  • Loading branch information
codesenberg committed Apr 29, 2023
1 parent b69aef3 commit 4ea120e
Showing 1 changed file with 17 additions and 37 deletions.
54 changes: 17 additions & 37 deletions clients_test.go
Expand Up @@ -2,7 +2,6 @@ package main

import (
"bytes"
"context"
"crypto/tls"
"net/http"
"net/http/httptest"
Expand Down Expand Up @@ -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,
Expand All @@ -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)
}
Expand All @@ -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) {
Expand Down

0 comments on commit 4ea120e

Please sign in to comment.