forked from quic-go/quic-go
add a context to Session.Open{Uni}StreamSync
This commit is contained in:
@@ -3,6 +3,7 @@ package http3
|
||||
import (
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"errors"
|
||||
"io"
|
||||
@@ -126,8 +127,8 @@ var _ = Describe("Client", func() {
|
||||
testErr := errors.New("stream open error")
|
||||
client = newClient("localhost:1337", nil, &roundTripperOpts{}, nil, nil)
|
||||
session := mockquic.NewMockSession(mockCtrl)
|
||||
session.EXPECT().OpenUniStreamSync().Return(nil, testErr).MaxTimes(1)
|
||||
session.EXPECT().OpenStreamSync().Return(nil, testErr).MaxTimes(1)
|
||||
session.EXPECT().OpenUniStream().Return(nil, testErr).MaxTimes(1)
|
||||
session.EXPECT().OpenStreamSync(context.Background()).Return(nil, testErr).MaxTimes(1)
|
||||
session.EXPECT().CloseWithError(gomock.Any(), gomock.Any()).MaxTimes(1)
|
||||
dialAddr = func(hostname string, _ *tls.Config, _ *quic.Config) (quic.Session, error) {
|
||||
return session, nil
|
||||
@@ -169,7 +170,7 @@ var _ = Describe("Client", func() {
|
||||
controlStr.EXPECT().Write(gomock.Any()).MaxTimes(1) // SETTINGS frame
|
||||
str = mockquic.NewMockStream(mockCtrl)
|
||||
sess = mockquic.NewMockSession(mockCtrl)
|
||||
sess.EXPECT().OpenUniStreamSync().Return(controlStr, nil).MaxTimes(1)
|
||||
sess.EXPECT().OpenUniStream().Return(controlStr, nil).MaxTimes(1)
|
||||
dialAddr = func(hostname string, _ *tls.Config, _ *quic.Config) (quic.Session, error) {
|
||||
return sess, nil
|
||||
}
|
||||
@@ -179,7 +180,7 @@ var _ = Describe("Client", func() {
|
||||
})
|
||||
|
||||
It("sends a request", func() {
|
||||
sess.EXPECT().OpenStreamSync().Return(str, nil)
|
||||
sess.EXPECT().OpenStreamSync(context.Background()).Return(str, nil)
|
||||
buf := &bytes.Buffer{}
|
||||
str.EXPECT().Write(gomock.Any()).DoAndReturn(func(p []byte) (int, error) {
|
||||
return buf.Write(p)
|
||||
@@ -200,7 +201,7 @@ var _ = Describe("Client", func() {
|
||||
rw := newResponseWriter(rspBuf, utils.DefaultLogger)
|
||||
rw.WriteHeader(418)
|
||||
|
||||
sess.EXPECT().OpenStreamSync().Return(str, nil)
|
||||
sess.EXPECT().OpenStreamSync(context.Background()).Return(str, nil)
|
||||
str.EXPECT().Write(gomock.Any()).AnyTimes()
|
||||
str.EXPECT().Close()
|
||||
str.EXPECT().Read(gomock.Any()).DoAndReturn(func(p []byte) (int, error) {
|
||||
@@ -234,7 +235,7 @@ var _ = Describe("Client", func() {
|
||||
|
||||
BeforeEach(func() {
|
||||
strBuf = &bytes.Buffer{}
|
||||
sess.EXPECT().OpenStreamSync().Return(str, nil)
|
||||
sess.EXPECT().OpenStreamSync(context.Background()).Return(str, nil)
|
||||
body := &mockBody{}
|
||||
body.SetData([]byte("request body"))
|
||||
var err error
|
||||
@@ -295,7 +296,7 @@ var _ = Describe("Client", func() {
|
||||
})
|
||||
|
||||
It("adds the gzip header to requests", func() {
|
||||
sess.EXPECT().OpenStreamSync().Return(str, nil)
|
||||
sess.EXPECT().OpenStreamSync(context.Background()).Return(str, nil)
|
||||
buf := &bytes.Buffer{}
|
||||
str.EXPECT().Write(gomock.Any()).DoAndReturn(func(p []byte) (int, error) {
|
||||
return buf.Write(p)
|
||||
@@ -310,7 +311,7 @@ var _ = Describe("Client", func() {
|
||||
|
||||
It("doesn't add gzip if the header disable it", func() {
|
||||
client = newClient("quic.clemente.io:1337", nil, &roundTripperOpts{DisableCompression: true}, nil, nil)
|
||||
sess.EXPECT().OpenStreamSync().Return(str, nil)
|
||||
sess.EXPECT().OpenStreamSync(context.Background()).Return(str, nil)
|
||||
buf := &bytes.Buffer{}
|
||||
str.EXPECT().Write(gomock.Any()).DoAndReturn(func(p []byte) (int, error) {
|
||||
return buf.Write(p)
|
||||
@@ -324,7 +325,7 @@ var _ = Describe("Client", func() {
|
||||
})
|
||||
|
||||
It("decompresses the response", func() {
|
||||
sess.EXPECT().OpenStreamSync().Return(str, nil)
|
||||
sess.EXPECT().OpenStreamSync(context.Background()).Return(str, nil)
|
||||
buf := &bytes.Buffer{}
|
||||
rw := newResponseWriter(buf, utils.DefaultLogger)
|
||||
rw.Header().Set("Content-Encoding", "gzip")
|
||||
@@ -348,7 +349,7 @@ var _ = Describe("Client", func() {
|
||||
})
|
||||
|
||||
It("only decompresses the response if the response contains the right content-encoding header", func() {
|
||||
sess.EXPECT().OpenStreamSync().Return(str, nil)
|
||||
sess.EXPECT().OpenStreamSync(context.Background()).Return(str, nil)
|
||||
buf := &bytes.Buffer{}
|
||||
rw := newResponseWriter(buf, utils.DefaultLogger)
|
||||
rw.Write([]byte("not gzipped"))
|
||||
|
||||
Reference in New Issue
Block a user