diff options
| -rw-r--r-- | go.mod | 4 | ||||
| -rw-r--r-- | go.sum | 4 | ||||
| -rw-r--r-- | internal/grpc_test/echo.proto | 18 | ||||
| -rw-r--r-- | internal/grpc_test/go.mod | 19 | ||||
| -rw-r--r-- | internal/grpc_test/go.sum | 23 | ||||
| -rw-r--r-- | internal/grpc_test/grpc_test.go | 79 | ||||
| -rw-r--r-- | pipeln_test.go | 35 |
7 files changed, 21 insertions, 161 deletions
@@ -1,7 +1,3 @@ module go.awhk.org/pipeln go 1.18 - -require go.awhk.org/core v0.7.0 - -require github.com/google/go-cmp v0.6.0 // indirect @@ -1,4 +0,0 @@ -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -go.awhk.org/core v0.7.0 h1:4HFdZ7Wpj4fg3zCD8wF6tm5ToAhVdSiX14fWiNzJZMg= -go.awhk.org/core v0.7.0/go.mod h1:lOs71woKF5QCNNEFjaACmhEj7U6IEGAFHw0Zo1Fyh50= diff --git a/internal/grpc_test/echo.proto b/internal/grpc_test/echo.proto deleted file mode 100644 index 528c17c..0000000 --- a/internal/grpc_test/echo.proto +++ /dev/null @@ -1,18 +0,0 @@ -// SPDX-License-Identifier: CC0-1.0 - -syntax = "proto3"; - -package grpc_test; -option go_package = ".;grpc_test"; - -service Echo { - rpc Echo(EchoRequest) returns (EchoResponse); -} - -message EchoRequest { - string message = 1; -} - -message EchoResponse { - string message = 1; -} diff --git a/internal/grpc_test/go.mod b/internal/grpc_test/go.mod index 6e1d1e7..ae43e57 100644 --- a/internal/grpc_test/go.mod +++ b/internal/grpc_test/go.mod @@ -1,22 +1,3 @@ module go.awhk.org/pipeln/internal/grpc_test go 1.18 - -require go.awhk.org/pipeln v1.0.5 - -replace go.awhk.org/pipeln => ../../ - -require ( - go.awhk.org/core v0.7.0 - google.golang.org/grpc v1.58.3 - google.golang.org/protobuf v1.31.0 -) - -require ( - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/go-cmp v0.6.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a // indirect -) diff --git a/internal/grpc_test/go.sum b/internal/grpc_test/go.sum deleted file mode 100644 index 7016c26..0000000 --- a/internal/grpc_test/go.sum +++ /dev/null @@ -1,23 +0,0 @@ -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -go.awhk.org/core v0.7.0 h1:4HFdZ7Wpj4fg3zCD8wF6tm5ToAhVdSiX14fWiNzJZMg= -go.awhk.org/core v0.7.0/go.mod h1:lOs71woKF5QCNNEFjaACmhEj7U6IEGAFHw0Zo1Fyh50= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a h1:a2MQQVoTo96JC9PMGtGBymLp7+/RzpFc2yX/9WfFg1c= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0= -google.golang.org/grpc v1.58.3 h1:BjnpXut1btbtgN/6sp+brB2Kbm2LjNXnidYujAVbSoQ= -google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= diff --git a/internal/grpc_test/grpc_test.go b/internal/grpc_test/grpc_test.go deleted file mode 100644 index 4297080..0000000 --- a/internal/grpc_test/grpc_test.go +++ /dev/null @@ -1,79 +0,0 @@ -// SPDX-License-Identifier: CC0-1.0 - -package grpc_test - -//go:generate protoc --go_out=. --go-grpc_out=. echo.proto - -import ( - "context" - "strings" - "testing" - - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - "go.awhk.org/core" - "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(s *testing.T) { - t := core.T{T: s} - - 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 *core.T) { - conn, err := grpc.Dial("test-backend-name", opts...) - t.Must(t.AssertErrorIs(nil, err)) - defer conn.Close() - - client := NewEchoClient(conn) - resp, err := client.Echo(context.Background(), req) - t.AssertErrorIs(nil, err) - t.AssertEqual(req.Message, resp.Message) - }) - - t.Run("Address Mismatch", func(t *core.T) { - conn, err := grpc.Dial("bad-backend-name", opts...) - t.Must(t.AssertErrorIs(nil, err)) - defer conn.Close() - - client := NewEchoClient(conn) - _, err = client.Echo(context.Background(), req) - st := status.Convert(err) - t.Must(t.AssertNotEqual(nil, st)) - t.AssertEqual(codes.Unavailable, st.Code()) - t.Assert(strings.Contains(st.Message(), "invalid argument")) - }) - - srv.GracefulStop() - t.Must(t.AssertErrorIs(nil, <-ret)) - - t.Run("Remote Connection Closed", func(t *core.T) { - conn, err := grpc.Dial("test-backend-name", opts...) - t.Must(t.AssertErrorIs(nil, err)) - defer conn.Close() - - client := NewEchoClient(conn) - _, err = client.Echo(context.Background(), req) - st := status.Convert(err) - t.Must(t.AssertNotEqual(nil, st)) - t.AssertEqual(codes.Unavailable, st.Code()) - t.Assert(strings.Contains(st.Message(), "connection refused")) - }) -} diff --git a/pipeln_test.go b/pipeln_test.go index 3b822b2..85aaef7 100644 --- a/pipeln_test.go +++ b/pipeln_test.go @@ -4,16 +4,13 @@ package pipeln import ( "context" + "errors" "net/http" "syscall" "testing" - - "go.awhk.org/core" ) -func Test(s *testing.T) { - t := core.T{T: s} - +func Test(t *testing.T) { ln := New("test:80") mux := http.NewServeMux() mux.HandleFunc("/endpoint", func(w http.ResponseWriter, _ *http.Request) { @@ -24,26 +21,36 @@ func Test(s *testing.T) { client := http.Client{Transport: &http.Transport{Dial: ln.Dial}} - t.Run("OK", func(t *core.T) { + t.Run("OK", func(t *testing.T) { resp, err := client.Get("http://test/endpoint") - t.AssertErrorIs(nil, err) - t.AssertEqual(http.StatusOK, resp.StatusCode) + if err != nil { + t.Fatal(err) + } + if resp.StatusCode != http.StatusOK { + t.Error(resp.StatusCode) + } }) - t.Run("Address Mismatch", func(t *core.T) { + t.Run("Address Mismatch", func(t *testing.T) { _, err := client.Get("http://other-test/endpoint") - t.AssertErrorIs(syscall.EINVAL, err) + if !errors.Is(err, syscall.EINVAL) { + t.Fatal(err) + } }) srv.Shutdown(context.Background()) - t.Run("Remote Connection Closed", func(t *core.T) { + t.Run("Remote Connection Closed", func(t *testing.T) { _, err := client.Get("http://test/endpoint") - t.AssertErrorIs(syscall.ECONNREFUSED, err) + if !errors.Is(err, syscall.ECONNREFUSED) { + t.Fatal(err) + } }) - t.Run("Already-closed Listener", func(t *core.T) { + t.Run("Already-closed Listener", func(t *testing.T) { srv = http.Server{Handler: mux} - t.AssertErrorIs(syscall.EINVAL, srv.Serve(ln)) + if err := srv.Serve(ln); !errors.Is(err, syscall.EINVAL) { + t.Fatal(err) + } }) } |
