aboutsummaryrefslogtreecommitdiff
path: root/grpc_testing/grpc_test.go
diff options
context:
space:
mode:
authorGrégoire Duchêne <gduchene@awhk.org>2022-05-07 11:57:48 +0100
committerGrégoire Duchêne <gduchene@awhk.org>2022-05-07 11:57:48 +0100
commitf36b620ffb95e14ced6b9f21bad1df153f560109 (patch)
tree2d31b2fccc416cf79d7d5491cf44431066307334 /grpc_testing/grpc_test.go
parentfd7dcf508a153ddb8c9bc7ff50b4a406a25eb67c (diff)
Move gRPC tests under internal/
Diffstat (limited to 'grpc_testing/grpc_test.go')
-rw-r--r--grpc_testing/grpc_test.go80
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")
- })
-}