All checks were successful
test / test (push) Successful in 1m55s
move to v4 micro Co-authored-by: Василий Толстов <v.tolstov@unistack.org> Co-authored-by: Александр Толстихин <tolstihin1996@mail.ru> Reviewed-on: #139 Co-authored-by: Evstigneev Denis <danteevstigneev@yandex.ru> Co-committed-by: Evstigneev Denis <danteevstigneev@yandex.ru>
68 lines
1023 B
Go
68 lines
1023 B
Go
package grpc
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"go.unistack.org/micro/v4/codec"
|
|
gmetadata "google.golang.org/grpc/metadata"
|
|
)
|
|
|
|
type mockStream struct {
|
|
msg any
|
|
}
|
|
|
|
func (m mockStream) Header() (gmetadata.MD, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
func (m mockStream) Trailer() gmetadata.MD {
|
|
return nil
|
|
}
|
|
|
|
func (m mockStream) CloseSend() error {
|
|
return nil
|
|
}
|
|
|
|
func (m mockStream) Context() context.Context {
|
|
return nil
|
|
}
|
|
|
|
func (m *mockStream) SendMsg(msg any) error {
|
|
m.msg = msg
|
|
return nil
|
|
}
|
|
|
|
func (m *mockStream) RecvMsg(msg any) error {
|
|
|
|
c := msg.(*codec.Frame)
|
|
c.Data = m.msg.(*codec.Frame).Data
|
|
|
|
return nil
|
|
}
|
|
|
|
func Test_ReadWrap(t *testing.T) {
|
|
|
|
wp := wrapStream{
|
|
&mockStream{},
|
|
}
|
|
|
|
write, err := wp.Write([]byte("test_data"))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if write != 9 {
|
|
t.Error("uncorrected number wrote bytes")
|
|
}
|
|
|
|
b := make([]byte, write)
|
|
read, err := wp.Read(b)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if read != 9 || string(b) != "test_data" {
|
|
t.Error("uncorrected number wrote bytes or data")
|
|
}
|
|
}
|