diff options
| author | Grégoire Duchêne <gduchene@awhk.org> | 2022-05-07 11:57:48 +0100 |
|---|---|---|
| committer | Grégoire Duchêne <gduchene@awhk.org> | 2022-05-07 11:57:48 +0100 |
| commit | f36b620ffb95e14ced6b9f21bad1df153f560109 (patch) | |
| tree | 2d31b2fccc416cf79d7d5491cf44431066307334 /grpc_testing/grpc_test.go | |
| parent | fd7dcf508a153ddb8c9bc7ff50b4a406a25eb67c (diff) | |
Move gRPC tests under internal/
Diffstat (limited to 'grpc_testing/grpc_test.go')
| -rw-r--r-- | grpc_testing/grpc_test.go | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/grpc_testing/grpc_test.go b/grpc_testing/grpc_test.go deleted file mode 100644 index 1bd782d..0000000 --- a/grpc_testing/grpc_test.go +++ /dev/null @@ -1,80 +0,0 @@ -// SPDX-License-Identifier: CC0-1.0 - -package grpc_testing - -//go:generate protoc --go_out=. --go-grpc_out=. echo.proto - -import ( - "context" - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "go.awhk.org/pipeln" -) - -type impl struct{ UnimplementedEchoServer } - -var _ EchoServer = impl{} - -func (impl) Echo(_ context.Context, req *EchoRequest) (*EchoResponse, error) { - return &EchoResponse{Message: req.Message}, nil -} - -func Test(t *testing.T) { - ln := pipeln.New("test-backend-name") - - ret := make(chan error) - srv := grpc.NewServer() - RegisterEchoServer(srv, &impl{}) - go func() { ret <- srv.Serve(ln) }() - - opts := []grpc.DialOption{grpc.WithContextDialer(ln.DialContextAddr), grpc.WithInsecure()} - req := &EchoRequest{Message: "Hello World!"} - - t.Run("OK", func(t *testing.T) { - conn, err := grpc.Dial("test-backend-name", opts...) - require.NoError(t, err) - defer conn.Close() - - client := NewEchoClient(conn) - resp, err := client.Echo(context.Background(), req) - require.NoError(t, err) - assert.Equal(t, req.Message, resp.Message) - }) - - t.Run("Address Mismatch", func(t *testing.T) { - conn, err := grpc.Dial("bad-backend-name", opts...) - require.NoError(t, err) - defer conn.Close() - - client := NewEchoClient(conn) - _, err = client.Echo(context.Background(), req) - require.Error(t, err) - st := status.Convert(err) - require.NotNil(t, st) - assert.Equal(t, codes.Unavailable, st.Code()) - assert.Contains(t, st.Message(), "invalid argument") - }) - - srv.GracefulStop() - assert.NoError(t, <-ret) - - t.Run("Remote Connection Closed", func(t *testing.T) { - conn, err := grpc.Dial("test-backend-name", opts...) - require.NoError(t, err) - defer conn.Close() - - client := NewEchoClient(conn) - _, err = client.Echo(context.Background(), req) - require.Error(t, err) - st := status.Convert(err) - require.NotNil(t, st) - assert.Equal(t, codes.Unavailable, st.Code()) - assert.Contains(t, st.Message(), "connection refused") - }) -} |
