@@ -2,7 +2,6 @@ package main
2
2
3
3
import (
4
4
"bytes"
5
- "context"
6
5
"crypto/tls"
7
6
"net/http"
8
7
"net/http/httptest"
@@ -59,38 +58,30 @@ func TestShouldProperlyConvertToHttpHeaders(t *testing.T) {
59
58
func TestHTTP2Client (t * testing.T ) {
60
59
responseSize := 1024
61
60
response := bytes .Repeat ([]byte {'a' }, responseSize )
62
- url := "localhost:8443"
63
- s := & http.Server {
64
- Addr : url ,
65
- Handler : http .HandlerFunc (
66
- func (w http.ResponseWriter , r * http.Request ) {
67
- if ! r .ProtoAtLeast (2 , 0 ) {
68
- t .Errorf ("invalid HTTP proto version: %v" , r .Proto )
69
- }
70
-
71
- w .WriteHeader (http .StatusOK )
72
- _ , err := w .Write (response )
73
- if err != nil {
74
- t .Error (err )
75
- }
76
- },
77
- ),
78
- TLSConfig : & tls.Config {
79
- NextProtos : []string {"http/2.0" },
80
- },
61
+ s := httptest .NewUnstartedServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
62
+ if ! r .ProtoAtLeast (2 , 0 ) {
63
+ t .Errorf ("invalid HTTP proto version: %v" , r .Proto )
64
+ }
65
+
66
+ w .WriteHeader (http .StatusOK )
67
+ _ , err := w .Write (response )
68
+ if err != nil {
69
+ t .Error (err )
70
+ }
71
+ }))
72
+ s .EnableHTTP2 = true
73
+ s .TLS = & tls.Config {
74
+ InsecureSkipVerify : true ,
81
75
}
82
- errChan := make (chan error )
83
- go func () {
84
- err := s .ListenAndServeTLS ("testserver.cert" , "testserver.key" )
85
- errChan <- err
86
- }()
76
+ s .StartTLS ()
77
+ defer s .Close ()
87
78
88
79
bytesRead , bytesWritten := int64 (0 ), int64 (0 )
89
80
c := newHTTPClient (& clientOpts {
90
81
HTTP2 : true ,
91
82
92
83
headers : new (headersList ),
93
- url : "https://" + url ,
84
+ url : s . URL ,
94
85
method : "GET" ,
95
86
tlsConfig : & tls.Config {
96
87
InsecureSkipVerify : true ,
@@ -106,10 +97,6 @@ func TestHTTP2Client(t *testing.T) {
106
97
t .Error (err )
107
98
return
108
99
}
109
- ctx := context .Background ()
110
- if err := s .Shutdown (ctx ); err != nil {
111
- t .Error (err )
112
- }
113
100
if code != http .StatusOK {
114
101
t .Errorf ("invalid response code: %v" , code )
115
102
}
@@ -119,13 +106,6 @@ func TestHTTP2Client(t *testing.T) {
119
106
if atomic .LoadInt64 (& bytesWritten ) == 0 {
120
107
t .Errorf ("empty request of size: %v" , bytesWritten )
121
108
}
122
- err = s .Close ()
123
- if err != nil {
124
- t .Error (err )
125
- }
126
- if err := <- errChan ; err != http .ErrServerClosed {
127
- t .Error (err )
128
- }
129
109
}
130
110
131
111
func TestHTTP1Clients (t * testing.T ) {
0 commit comments