Skip to content

Commit 68d8e54

Browse files
committed
Minor test adjustments
1 parent b8f9eff commit 68d8e54

File tree

2 files changed

+30
-30
lines changed

2 files changed

+30
-30
lines changed

pkg/grpc/forwarding_stream_handler_test.go

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,12 @@ func TestSimpleStreamForwarder(t *testing.T) {
8282
},
8383
)
8484

85+
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes()
8586
gomock.InOrder(
86-
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes(),
8787
newStreamCall,
88-
incomingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(
89-
newForwardingStreamRecvMsgStub("beep")),
88+
incomingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(newForwardingStreamRecvMsgStub("beep")),
9089
outgoingStream.EXPECT().SendMsg(newEqProtoStringValueMatcher(t, "beep")).Return(nil),
91-
incomingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(
92-
newForwardingStreamRecvMsgStub("boop")),
90+
incomingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(newForwardingStreamRecvMsgStub("boop")),
9391
outgoingStream.EXPECT().SendMsg(newEqProtoStringValueMatcher(t, "boop")).Return(nil),
9492
incomingStream.EXPECT().RecvMsg(gomock.Any()).Return(io.EOF),
9593
outgoingStream.EXPECT().CloseSend().DoAndReturn(func() error {
@@ -101,7 +99,8 @@ func TestSimpleStreamForwarder(t *testing.T) {
10199
newStreamCall,
102100
outgoingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(func(msg any) error {
103101
<-outgoingRecvBarrier
104-
testutil.VerifyChannelIsBlocking(t, outgoingStreamCtx.Done())
102+
synctest.Wait()
103+
require.NoError(t, outgoingStreamCtx.Err())
105104
return io.EOF
106105
}),
107106
)
@@ -122,8 +121,9 @@ func TestSimpleStreamForwarder(t *testing.T) {
122121
return outgoingStream, nil
123122
},
124123
)
124+
125+
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes()
125126
gomock.InOrder(
126-
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes(),
127127
newStreamCall,
128128
incomingStream.EXPECT().RecvMsg(gomock.Any()).Return(errors.New("incoming recv")),
129129
)
@@ -152,11 +152,11 @@ func TestSimpleStreamForwarder(t *testing.T) {
152152
return outgoingStream, nil
153153
},
154154
)
155+
156+
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes()
155157
gomock.InOrder(
156-
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes(),
157158
newStreamCall,
158-
incomingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(
159-
newForwardingStreamRecvMsgStub("beep")),
159+
incomingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(newForwardingStreamRecvMsgStub("beep")),
160160
outgoingStream.EXPECT().SendMsg(newEqProtoStringValueMatcher(t, "beep")).Return(errors.New("outgoing send")),
161161
)
162162
gomock.InOrder(
@@ -185,14 +185,13 @@ func TestSimpleStreamForwarder(t *testing.T) {
185185
return outgoingStream, nil
186186
},
187187
)
188+
189+
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes()
188190
gomock.InOrder(
189-
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes(),
190191
newStreamCall,
191-
outgoingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(
192-
newForwardingStreamRecvMsgStub("beep")),
192+
outgoingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(newForwardingStreamRecvMsgStub("beep")),
193193
incomingStream.EXPECT().SendMsg(newEqProtoStringValueMatcher(t, "beep")).Return(nil),
194-
outgoingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(
195-
newForwardingStreamRecvMsgStub("boop")),
194+
outgoingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(newForwardingStreamRecvMsgStub("boop")),
196195
incomingStream.EXPECT().SendMsg(newEqProtoStringValueMatcher(t, "boop")).Return(nil),
197196
outgoingStream.EXPECT().RecvMsg(gomock.Any()).Return(io.EOF),
198197
)
@@ -224,8 +223,9 @@ func TestSimpleStreamForwarder(t *testing.T) {
224223
return outgoingStream, nil
225224
},
226225
)
226+
227+
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes()
227228
gomock.InOrder(
228-
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes(),
229229
newStreamCall,
230230
outgoingStream.EXPECT().RecvMsg(gomock.Any()).Return(errors.New("outgoing recv")),
231231
)
@@ -256,11 +256,11 @@ func TestSimpleStreamForwarder(t *testing.T) {
256256
return outgoingStream, nil
257257
},
258258
)
259+
260+
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes()
259261
gomock.InOrder(
260-
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes(),
261262
newStreamCall,
262-
outgoingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(
263-
newForwardingStreamRecvMsgStub("beep")),
263+
outgoingStream.EXPECT().RecvMsg(gomock.Any()).DoAndReturn(newForwardingStreamRecvMsgStub("beep")),
264264
incomingStream.EXPECT().SendMsg(newEqProtoStringValueMatcher(t, "beep")).Return(errors.New("incoming send")),
265265
)
266266
gomock.InOrder(
@@ -276,4 +276,15 @@ func TestSimpleStreamForwarder(t *testing.T) {
276276
require.EqualError(t, forwarder(nil, incomingStream), "incoming send")
277277
})
278278
})
279+
280+
t.Run("NewStreamError", func(t *testing.T) {
281+
synctest.Test(t, func(t *testing.T) {
282+
incomingStreamCtx := grpc.NewContextWithServerTransportStream(context.Background(), serverTransportStream)
283+
284+
incomingStream.EXPECT().Context().Return(incomingStreamCtx).AnyTimes()
285+
backend.EXPECT().NewStream(gomock.Any(), gomock.Any(), "/serviceA/method1").Return(nil, errors.New("no stream"))
286+
287+
require.EqualError(t, forwarder(nil, incomingStream), "no stream")
288+
})
289+
})
279290
}

pkg/testutil/testutil.go

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,3 @@ func mustMarshalToString(t *testing.T, proto proto.Message) string {
138138
}
139139
return string(s)
140140
}
141-
142-
// VerifyChannelIsBlocking checks that no value can be received from the
143-
// channel. If a value is ready or the channel has been closed, the test fails.
144-
func VerifyChannelIsBlocking[Value any](t *testing.T, channel <-chan Value) {
145-
select {
146-
case <-channel:
147-
t.Helper()
148-
t.Error("Channel is not blocking")
149-
default:
150-
}
151-
}

0 commit comments

Comments
 (0)