MCPcopy
hub / github.com/grpc/grpc-go / TestPreloaderSenderSend

Method TestPreloaderSenderSend

test/end2end_test.go:1782–1835  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1780}
1781
1782func (s) TestPreloaderSenderSend(t *testing.T) {
1783 ss := &stubserver.StubServer{
1784 FullDuplexCallF: func(stream testgrpc.TestService_FullDuplexCallServer) error {
1785 for i := 0; i < 10; i++ {
1786 preparedMsg := &grpc.PreparedMsg{}
1787 err := preparedMsg.Encode(stream, &testpb.StreamingOutputCallResponse{
1788 Payload: &testpb.Payload{
1789 Body: []byte{'0' + uint8(i)},
1790 },
1791 })
1792 if err != nil {
1793 return err
1794 }
1795 stream.SendMsg(preparedMsg)
1796 }
1797 return nil
1798 },
1799 }
1800 if err := ss.Start(nil); err != nil {
1801 t.Fatalf("Error starting endpoint server: %v", err)
1802 }
1803 defer ss.Stop()
1804
1805 ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
1806 defer cancel()
1807
1808 stream, err := ss.Client.FullDuplexCall(ctx)
1809 if err != nil {
1810 t.Fatalf("ss.Client.EmptyCall(_, _) = _, %v; want _, nil", err)
1811 }
1812
1813 var ngot int
1814 var buf bytes.Buffer
1815 for {
1816 reply, err := stream.Recv()
1817 if err == io.EOF {
1818 break
1819 }
1820 if err != nil {
1821 t.Fatal(err)
1822 }
1823 ngot++
1824 if buf.Len() > 0 {
1825 buf.WriteByte(',')
1826 }
1827 buf.Write(reply.GetPayload().GetBody())
1828 }
1829 if want := 10; ngot != want {
1830 t.Errorf("Got %d replies, want %d", ngot, want)
1831 }
1832 if got, want := buf.String(), "0,1,2,3,4,5,6,7,8,9"; got != want {
1833 t.Errorf("Got replies %q; want %q", got, want)
1834 }
1835}
1836
1837func (s) TestMaxMsgSizeClientDefault(t *testing.T) {
1838 for _, e := range listTestEnv() {

Callers

nothing calls this directly

Calls 14

EncodeMethod · 0.95
StartMethod · 0.95
StopMethod · 0.95
LenMethod · 0.95
StringMethod · 0.95
SendMsgMethod · 0.65
FatalfMethod · 0.65
FullDuplexCallMethod · 0.65
RecvMethod · 0.65
FatalMethod · 0.65
WriteMethod · 0.65
ErrorfMethod · 0.65

Tested by

no test coverage detected