rpcserver_test.go 1017 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package internal
  2. import (
  3. "sync"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. "github.com/zeromicro/go-zero/core/stat"
  7. "github.com/zeromicro/go-zero/zrpc/internal/mock"
  8. "google.golang.org/grpc"
  9. )
  10. func TestRpcServer(t *testing.T) {
  11. metrics := stat.NewMetrics("foo")
  12. server := NewRpcServer("localhost:54321", WithMetrics(metrics))
  13. server.SetName("mock")
  14. var wg sync.WaitGroup
  15. var grpcServer *grpc.Server
  16. var lock sync.Mutex
  17. wg.Add(1)
  18. go func() {
  19. err := server.Start(func(server *grpc.Server) {
  20. lock.Lock()
  21. mock.RegisterDepositServiceServer(server, new(mock.DepositServer))
  22. grpcServer = server
  23. lock.Unlock()
  24. wg.Done()
  25. })
  26. assert.Nil(t, err)
  27. }()
  28. wg.Wait()
  29. lock.Lock()
  30. grpcServer.GracefulStop()
  31. lock.Unlock()
  32. }
  33. func TestRpcServer_WithBadAddress(t *testing.T) {
  34. server := NewRpcServer("localhost:111111")
  35. server.SetName("mock")
  36. err := server.Start(func(server *grpc.Server) {
  37. mock.RegisterDepositServiceServer(server, new(mock.DepositServer))
  38. })
  39. assert.NotNil(t, err)
  40. }