frostfs-api-go/rpc/common/call_test.go
Leonard Lyubich cf765a61a6 [#263] Implement client for exchanging raw messages using gRPC protocol
Implement gRPC client that can uniformly execute any RPC on the remote
server. In the primary implementation, the client is a thin wrapper over
gRPC client connection that is required to create the client. In the future,
it is planned to expand the library with convenient functionality.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-03-17 14:03:49 +03:00

49 lines
1.3 KiB
Go

package common_test
import (
"testing"
"github.com/nspcc-dev/neofs-api-go/rpc/common"
"github.com/stretchr/testify/require"
)
const (
testServiceName = "test service"
testRPCName = "test RPC"
)
func TestCallMethodInfoUnary(t *testing.T) {
i := common.CallMethodInfoUnary(testServiceName, testRPCName)
require.Equal(t, testServiceName, i.Service)
require.Equal(t, testRPCName, i.Name)
require.False(t, i.ClientStream())
require.False(t, i.ServerStream())
}
func TestCallMethodInfoServerStream(t *testing.T) {
i := common.CallMethodInfoServerStream(testServiceName, testRPCName)
require.Equal(t, testServiceName, i.Service)
require.Equal(t, testRPCName, i.Name)
require.False(t, i.ClientStream())
require.True(t, i.ServerStream())
}
func TestCallMethodInfoClientStream(t *testing.T) {
i := common.CallMethodInfoClientStream(testServiceName, testRPCName)
require.Equal(t, testServiceName, i.Service)
require.Equal(t, testRPCName, i.Name)
require.True(t, i.ClientStream())
require.False(t, i.ServerStream())
}
func TestCallMethodInfoBidirectionalStream(t *testing.T) {
i := common.CallMethodInfoBidirectionalStream(testServiceName, testRPCName)
require.Equal(t, testServiceName, i.Service)
require.Equal(t, testRPCName, i.Name)
require.True(t, i.ClientStream())
require.True(t, i.ServerStream())
}