From ba5f667e13e3fceaa1bf0c6e267e48d3cdaa2db4 Mon Sep 17 00:00:00 2001 From: Joshua Humphries Date: Mon, 31 Aug 2020 14:44:59 -0400 Subject: [PATCH] fix latest CI breakages by forking code from grpc-go's interop/testing Also moves testing package to internal/testing --- desc_source_test.go | 8 +- format_test.go | 4 +- grpcurl_test.go | 143 ++- .../testing}/cmd/bankdemo/README.md | 0 .../testing}/cmd/bankdemo/auth.go | 0 .../testing}/cmd/bankdemo/bank.go | 0 .../testing}/cmd/bankdemo/bank.pb.go | 0 .../testing}/cmd/bankdemo/bank.proto | 0 .../testing}/cmd/bankdemo/chat.go | 0 .../testing}/cmd/bankdemo/db.go | 0 .../testing}/cmd/bankdemo/main.go | 0 .../testing}/cmd/bankdemo/support.pb.go | 0 .../testing}/cmd/bankdemo/support.proto | 0 .../testing}/cmd/testserver/README.md | 0 .../testing}/cmd/testserver/testserver.go | 5 +- .../testing}/cmd/testserver/unix.go | 0 {testing => internal/testing}/example.proto | 2 +- .../testing}/example.protoset | Bin 8894 -> 8958 bytes {testing => internal/testing}/example2.proto | 0 .../jsonpb_test_proto/test_objects.pb.go | 0 .../jsonpb_test_proto/test_objects.proto | 0 internal/testing/test.pb.go | 1132 +++++++++++++++++ {testing => internal/testing}/test.proto | 4 +- internal/testing/test.protoset | Bin 0 -> 1835 bytes {testing => internal/testing}/test_server.go | 31 +- {testing => internal/testing}/tls/ca.crl | 0 {testing => internal/testing}/tls/ca.crt | 0 {testing => internal/testing}/tls/ca.key | 0 {testing => internal/testing}/tls/client.crt | 0 {testing => internal/testing}/tls/client.csr | 0 {testing => internal/testing}/tls/client.key | 0 {testing => internal/testing}/tls/expired.crt | 0 {testing => internal/testing}/tls/expired.csr | 0 {testing => internal/testing}/tls/expired.key | 0 {testing => internal/testing}/tls/other.crt | 0 {testing => internal/testing}/tls/other.csr | 0 {testing => internal/testing}/tls/other.key | 0 {testing => internal/testing}/tls/server.crt | 0 {testing => internal/testing}/tls/server.csr | 0 {testing => internal/testing}/tls/server.key | 0 .../testing}/tls/wrong-ca.crl | 0 .../testing}/tls/wrong-ca.crt | 0 .../testing}/tls/wrong-ca.key | 0 .../testing}/tls/wrong-client.crt | 0 .../testing}/tls/wrong-client.csr | 0 .../testing}/tls/wrong-client.key | 0 testing/test.protoset | Bin 1973 -> 0 bytes tls_settings_test.go | 55 +- 48 files changed, 1258 insertions(+), 126 deletions(-) rename {testing => internal/testing}/cmd/bankdemo/README.md (100%) rename {testing => internal/testing}/cmd/bankdemo/auth.go (100%) rename {testing => internal/testing}/cmd/bankdemo/bank.go (100%) rename {testing => internal/testing}/cmd/bankdemo/bank.pb.go (100%) rename {testing => internal/testing}/cmd/bankdemo/bank.proto (100%) rename {testing => internal/testing}/cmd/bankdemo/chat.go (100%) rename {testing => internal/testing}/cmd/bankdemo/db.go (100%) rename {testing => internal/testing}/cmd/bankdemo/main.go (100%) rename {testing => internal/testing}/cmd/bankdemo/support.pb.go (100%) rename {testing => internal/testing}/cmd/bankdemo/support.proto (100%) rename {testing => internal/testing}/cmd/testserver/README.md (100%) rename {testing => internal/testing}/cmd/testserver/testserver.go (96%) rename {testing => internal/testing}/cmd/testserver/unix.go (100%) rename {testing => internal/testing}/example.proto (93%) rename {testing => internal/testing}/example.protoset (95%) rename {testing => internal/testing}/example2.proto (100%) rename {testing => internal/testing}/jsonpb_test_proto/test_objects.pb.go (100%) rename {testing => internal/testing}/jsonpb_test_proto/test_objects.proto (100%) create mode 100644 internal/testing/test.pb.go rename {testing => internal/testing}/test.proto (98%) create mode 100644 internal/testing/test.protoset rename {testing => internal/testing}/test_server.go (84%) rename {testing => internal/testing}/tls/ca.crl (100%) rename {testing => internal/testing}/tls/ca.crt (100%) rename {testing => internal/testing}/tls/ca.key (100%) rename {testing => internal/testing}/tls/client.crt (100%) rename {testing => internal/testing}/tls/client.csr (100%) rename {testing => internal/testing}/tls/client.key (100%) rename {testing => internal/testing}/tls/expired.crt (100%) rename {testing => internal/testing}/tls/expired.csr (100%) rename {testing => internal/testing}/tls/expired.key (100%) rename {testing => internal/testing}/tls/other.crt (100%) rename {testing => internal/testing}/tls/other.csr (100%) rename {testing => internal/testing}/tls/other.key (100%) rename {testing => internal/testing}/tls/server.crt (100%) rename {testing => internal/testing}/tls/server.csr (100%) rename {testing => internal/testing}/tls/server.key (100%) rename {testing => internal/testing}/tls/wrong-ca.crl (100%) rename {testing => internal/testing}/tls/wrong-ca.crt (100%) rename {testing => internal/testing}/tls/wrong-ca.key (100%) rename {testing => internal/testing}/tls/wrong-client.crt (100%) rename {testing => internal/testing}/tls/wrong-client.csr (100%) rename {testing => internal/testing}/tls/wrong-client.key (100%) delete mode 100644 testing/test.protoset diff --git a/desc_source_test.go b/desc_source_test.go index cd58357..a9c9a8c 100644 --- a/desc_source_test.go +++ b/desc_source_test.go @@ -10,11 +10,11 @@ import ( ) func TestWriteProtoset(t *testing.T) { - exampleProtoset, err := loadProtoset("./testing/example.protoset") + exampleProtoset, err := loadProtoset("./internal/testing/example.protoset") if err != nil { t.Fatalf("failed to load example.protoset: %v", err) } - testProtoset, err := loadProtoset("./testing/test.protoset") + testProtoset, err := loadProtoset("./internal/testing/test.protoset") if err != nil { t.Fatalf("failed to load test.protoset: %v", err) } @@ -29,8 +29,8 @@ func TestWriteProtoset(t *testing.T) { } checkWriteProtoset(t, descSrc, exampleProtoset, "TestService") - checkWriteProtoset(t, descSrc, testProtoset, "grpc.testing.TestService") - checkWriteProtoset(t, descSrc, mergedProtoset, "TestService", "grpc.testing.TestService") + checkWriteProtoset(t, descSrc, testProtoset, "testing.TestService") + checkWriteProtoset(t, descSrc, mergedProtoset, "TestService", "testing.TestService") } func loadProtoset(path string) (*descriptor.FileDescriptorSet, error) { diff --git a/format_test.go b/format_test.go index 1a36059..d7c509d 100644 --- a/format_test.go +++ b/format_test.go @@ -15,7 +15,7 @@ import ( ) func TestRequestParser(t *testing.T) { - source, err := DescriptorSourceFromProtoSets("testing/example.protoset") + source, err := DescriptorSourceFromProtoSets("internal/testing/example.protoset") if err != nil { t.Fatalf("failed to create descriptor source: %v", err) } @@ -97,7 +97,7 @@ func TestRequestParser(t *testing.T) { // Handler prints response data (and headers/trailers in verbose mode). // This verifies that we get the right output in both JSON and proto text modes. func TestHandler(t *testing.T) { - source, err := DescriptorSourceFromProtoSets("testing/example.protoset") + source, err := DescriptorSourceFromProtoSets("internal/testing/example.protoset") if err != nil { t.Fatalf("failed to create descriptor source: %v", err) } diff --git a/grpcurl_test.go b/grpcurl_test.go index ff2f46e..dabde2d 100644 --- a/grpcurl_test.go +++ b/grpcurl_test.go @@ -18,15 +18,14 @@ import ( "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/codes" - "google.golang.org/grpc/interop/grpc_testing" "google.golang.org/grpc/metadata" "google.golang.org/grpc/reflection" reflectpb "google.golang.org/grpc/reflection/grpc_reflection_v1alpha" "google.golang.org/grpc/status" . "github.com/fullstorydev/grpcurl" - grpcurl_testing "github.com/fullstorydev/grpcurl/testing" - jsonpbtest "github.com/fullstorydev/grpcurl/testing/jsonpb_test_proto" + grpcurl_testing "github.com/fullstorydev/grpcurl/internal/testing" + jsonpbtest "github.com/fullstorydev/grpcurl/internal/testing/jsonpb_test_proto" ) var ( @@ -52,18 +51,18 @@ type descSourceCase struct { func TestMain(m *testing.M) { var err error - sourceProtoset, err = DescriptorSourceFromProtoSets("testing/test.protoset") + sourceProtoset, err = DescriptorSourceFromProtoSets("internal/testing/test.protoset") if err != nil { panic(err) } - sourceProtoFiles, err = DescriptorSourceFromProtoFiles(nil, "testing/test.proto") + sourceProtoFiles, err = DescriptorSourceFromProtoFiles([]string{"internal/testing"}, "test.proto") if err != nil { panic(err) } // Create a server that includes the reflection service svrReflect := grpc.NewServer() - grpc_testing.RegisterTestServiceServer(svrReflect, grpcurl_testing.TestServer{}) + grpcurl_testing.RegisterTestServiceServer(svrReflect, grpcurl_testing.TestServer{}) reflection.Register(svrReflect) var portReflect int if l, err := net.Listen("tcp", "127.0.0.1:0"); err != nil { @@ -89,7 +88,7 @@ func TestMain(m *testing.M) { // Also create a server that does *not* include the reflection service svrProtoset := grpc.NewServer() - grpc_testing.RegisterTestServiceServer(svrProtoset, grpcurl_testing.TestServer{}) + grpcurl_testing.RegisterTestServiceServer(svrProtoset, grpcurl_testing.TestServer{}) var portProtoset int if l, err := net.Listen("tcp", "127.0.0.1:0"); err != nil { panic(err) @@ -141,7 +140,7 @@ func TestServerDoesNotSupportReflection(t *testing.T) { } func TestProtosetWithImports(t *testing.T) { - sourceProtoset, err := DescriptorSourceFromProtoSets("testing/example.protoset") + sourceProtoset, err := DescriptorSourceFromProtoSets("internal/testing/example.protoset") if err != nil { t.Fatalf("failed to load protoset: %v", err) } @@ -178,11 +177,11 @@ func doTestListServices(t *testing.T, source DescriptorSource, includeReflection var expected []string if includeReflection { // when using server reflection, we see the TestService as well as the ServerReflection service - expected = []string{"grpc.reflection.v1alpha.ServerReflection", "grpc.testing.TestService"} + expected = []string{"grpc.reflection.v1alpha.ServerReflection", "testing.TestService"} } else { // without reflection, we see all services defined in the same test.proto file, which is the // TestService as well as UnimplementedService - expected = []string{"grpc.testing.TestService", "grpc.testing.UnimplementedService"} + expected = []string{"testing.TestService", "testing.UnimplementedService"} } if !reflect.DeepEqual(expected, names) { t.Errorf("ListServices returned wrong results: wanted %v, got %v", expected, names) @@ -198,17 +197,17 @@ func TestListMethods(t *testing.T) { } func doTestListMethods(t *testing.T, source DescriptorSource, includeReflection bool) { - names, err := ListMethods(source, "grpc.testing.TestService") + names, err := ListMethods(source, "testing.TestService") if err != nil { t.Fatalf("failed to list methods for TestService: %v", err) } expected := []string{ - "grpc.testing.TestService.EmptyCall", - "grpc.testing.TestService.FullDuplexCall", - "grpc.testing.TestService.HalfDuplexCall", - "grpc.testing.TestService.StreamingInputCall", - "grpc.testing.TestService.StreamingOutputCall", - "grpc.testing.TestService.UnaryCall", + "testing.TestService.EmptyCall", + "testing.TestService.FullDuplexCall", + "testing.TestService.HalfDuplexCall", + "testing.TestService.StreamingInputCall", + "testing.TestService.StreamingOutputCall", + "testing.TestService.UnaryCall", } if !reflect.DeepEqual(expected, names) { t.Errorf("ListMethods returned wrong results: wanted %v, got %v", expected, names) @@ -224,11 +223,11 @@ func doTestListMethods(t *testing.T, source DescriptorSource, includeReflection } else { // without reflection, we see all services defined in the same test.proto file, which is the // TestService as well as UnimplementedService - names, err = ListMethods(source, "grpc.testing.UnimplementedService") + names, err = ListMethods(source, "testing.UnimplementedService") if err != nil { t.Fatalf("failed to list methods for ServerReflection: %v", err) } - expected = []string{"grpc.testing.UnimplementedService.UnimplementedCall"} + expected = []string{"testing.UnimplementedService.UnimplementedCall"} } if !reflect.DeepEqual(expected, names) { t.Errorf("ListMethods returned wrong results: wanted %v, got %v", expected, names) @@ -242,13 +241,13 @@ func doTestListMethods(t *testing.T, source DescriptorSource, includeReflection } func TestGetAllFiles(t *testing.T) { - expectedFiles := []string{"testing/test.proto"} + expectedFiles := []string{"test.proto"} // server reflection picks up filename from linked in Go package, // which indicates "grpc_testing/test.proto", not our local copy. expectedFilesWithReflection := [][]string{ - {"grpc_reflection_v1alpha/reflection.proto", "grpc_testing/test.proto"}, + {"grpc_reflection_v1alpha/reflection.proto", "test.proto"}, // depending on the version of grpc, the filenames could be prefixed with "interop/" and "reflection/" - {"interop/grpc_testing/test.proto", "reflection/grpc_reflection_v1alpha/reflection.proto"}, + {"reflection/grpc_reflection_v1alpha/reflection.proto", "test.proto"}, } for _, ds := range descSources { @@ -279,11 +278,11 @@ func TestGetAllFiles(t *testing.T) { } // try cases with more complicated set of files - otherSourceProtoset, err := DescriptorSourceFromProtoSets("testing/test.protoset", "testing/example.protoset") + otherSourceProtoset, err := DescriptorSourceFromProtoSets("internal/testing/test.protoset", "internal/testing/example.protoset") if err != nil { t.Fatal(err.Error()) } - otherSourceProtoFiles, err := DescriptorSourceFromProtoFiles(nil, "testing/test.proto", "testing/example.proto") + otherSourceProtoFiles, err := DescriptorSourceFromProtoFiles([]string{"internal/testing"}, "test.proto", "example.proto") if err != nil { t.Fatal(err.Error()) } @@ -292,13 +291,13 @@ func TestGetAllFiles(t *testing.T) { {"proto[b]", otherSourceProtoFiles, false}, } expectedFiles = []string{ + "example.proto", + "example2.proto", "google/protobuf/any.proto", "google/protobuf/descriptor.proto", "google/protobuf/empty.proto", "google/protobuf/timestamp.proto", - "testing/example.proto", - "testing/example2.proto", - "testing/test.proto", + "test.proto", } for _, ds := range otherDescSources { t.Run(ds.name, func(t *testing.T) { @@ -403,7 +402,7 @@ func TestDescribe(t *testing.T) { } func doTestDescribe(t *testing.T, source DescriptorSource) { - sym := "grpc.testing.TestService.EmptyCall" + sym := "testing.TestService.EmptyCall" dsc, err := source.FindSymbol(sym) if err != nil { t.Fatalf("failed to get descriptor for %q: %v", sym, err) @@ -414,14 +413,14 @@ func doTestDescribe(t *testing.T, source DescriptorSource) { txt := proto.MarshalTextString(dsc.AsProto()) expected := `name: "EmptyCall" -input_type: ".grpc.testing.Empty" -output_type: ".grpc.testing.Empty" +input_type: ".testing.Empty" +output_type: ".testing.Empty" ` if expected != txt { t.Errorf("descriptor mismatch: expected %s, got %s", expected, txt) } - sym = "grpc.testing.StreamingOutputCallResponse" + sym = "testing.StreamingOutputCallResponse" dsc, err = source.FindSymbol(sym) if err != nil { t.Fatalf("failed to get descriptor for %q: %v", sym, err) @@ -437,7 +436,7 @@ field: < number: 1 label: LABEL_OPTIONAL type: TYPE_MESSAGE - type_name: ".grpc.testing.Payload" + type_name: ".testing.Payload" json_name: "payload" > ` @@ -493,12 +492,12 @@ func TestUnary(t *testing.T) { func doTestUnary(t *testing.T, cc *grpc.ClientConn, source DescriptorSource) { // Success h := &handler{reqMessages: []string{payload1}} - err := InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/UnaryCall", makeHeaders(codes.OK), h, h.getRequestData) + err := InvokeRpc(context.Background(), source, cc, "testing.TestService/UnaryCall", makeHeaders(codes.OK), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - if h.check(t, "grpc.testing.TestService.UnaryCall", codes.OK, 1, 1) { + if h.check(t, "testing.TestService.UnaryCall", codes.OK, 1, 1) { if h.respMessages[0] != payload1 { t.Errorf("unexpected response from RPC: expecting %s; got %s", payload1, h.respMessages[0]) } @@ -506,12 +505,12 @@ func doTestUnary(t *testing.T, cc *grpc.ClientConn, source DescriptorSource) { // Failure h = &handler{reqMessages: []string{payload1}} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/UnaryCall", makeHeaders(codes.NotFound), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/UnaryCall", makeHeaders(codes.NotFound), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.UnaryCall", codes.NotFound, 1, 0) + h.check(t, "testing.TestService.UnaryCall", codes.NotFound, 1, 0) } func TestClientStream(t *testing.T) { @@ -525,12 +524,12 @@ func TestClientStream(t *testing.T) { func doTestClientStream(t *testing.T, cc *grpc.ClientConn, source DescriptorSource) { // Success h := &handler{reqMessages: []string{payload1, payload2, payload3}} - err := InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/StreamingInputCall", makeHeaders(codes.OK), h, h.getRequestData) + err := InvokeRpc(context.Background(), source, cc, "testing.TestService/StreamingInputCall", makeHeaders(codes.OK), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - if h.check(t, "grpc.testing.TestService.StreamingInputCall", codes.OK, 3, 1) { + if h.check(t, "testing.TestService.StreamingInputCall", codes.OK, 3, 1) { expected := `{ "aggregatedPayloadSize": 61 @@ -542,21 +541,21 @@ func doTestClientStream(t *testing.T, cc *grpc.ClientConn, source DescriptorSour // Fail fast (server rejects as soon as possible) h = &handler{reqMessages: []string{payload1, payload2, payload3}} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/StreamingInputCall", makeHeaders(codes.InvalidArgument), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/StreamingInputCall", makeHeaders(codes.InvalidArgument), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.StreamingInputCall", codes.InvalidArgument, -3, 0) + h.check(t, "testing.TestService.StreamingInputCall", codes.InvalidArgument, -3, 0) // Fail late (server waits until stream is complete to reject) h = &handler{reqMessages: []string{payload1, payload2, payload3}} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/StreamingInputCall", makeHeaders(codes.Internal, true), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/StreamingInputCall", makeHeaders(codes.Internal, true), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.StreamingInputCall", codes.Internal, 3, 0) + h.check(t, "testing.TestService.StreamingInputCall", codes.Internal, 3, 0) } func TestServerStream(t *testing.T) { @@ -568,9 +567,9 @@ func TestServerStream(t *testing.T) { } func doTestServerStream(t *testing.T, cc *grpc.ClientConn, source DescriptorSource) { - req := &grpc_testing.StreamingOutputCallRequest{ - ResponseType: grpc_testing.PayloadType_COMPRESSABLE, - ResponseParameters: []*grpc_testing.ResponseParameters{ + req := &grpcurl_testing.StreamingOutputCallRequest{ + ResponseType: grpcurl_testing.PayloadType_COMPRESSABLE, + ResponseParameters: []*grpcurl_testing.ResponseParameters{ {Size: 10}, {Size: 20}, {Size: 30}, {Size: 40}, {Size: 50}, }, } @@ -581,19 +580,19 @@ func doTestServerStream(t *testing.T, cc *grpc.ClientConn, source DescriptorSour // Success h := &handler{reqMessages: []string{payload}} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/StreamingOutputCall", makeHeaders(codes.OK), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/StreamingOutputCall", makeHeaders(codes.OK), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - if h.check(t, "grpc.testing.TestService.StreamingOutputCall", codes.OK, 1, 5) { - resp := &grpc_testing.StreamingOutputCallResponse{} + if h.check(t, "testing.TestService.StreamingOutputCall", codes.OK, 1, 5) { + resp := &grpcurl_testing.StreamingOutputCallResponse{} for i, msg := range h.respMessages { if err := jsonpb.UnmarshalString(msg, resp); err != nil { t.Errorf("failed to parse response %d: %v", i+1, err) } - if resp.Payload.GetType() != grpc_testing.PayloadType_COMPRESSABLE { - t.Errorf("response %d has wrong payload type; expecting %v, got %v", i, grpc_testing.PayloadType_COMPRESSABLE, resp.Payload.Type) + if resp.Payload.GetType() != grpcurl_testing.PayloadType_COMPRESSABLE { + t.Errorf("response %d has wrong payload type; expecting %v, got %v", i, grpcurl_testing.PayloadType_COMPRESSABLE, resp.Payload.Type) } if len(resp.Payload.Body) != (i+1)*10 { t.Errorf("response %d has wrong payload size; expecting %d, got %d", i, (i+1)*10, len(resp.Payload.Body)) @@ -604,21 +603,21 @@ func doTestServerStream(t *testing.T, cc *grpc.ClientConn, source DescriptorSour // Fail fast (server rejects as soon as possible) h = &handler{reqMessages: []string{payload}} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/StreamingOutputCall", makeHeaders(codes.Aborted), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/StreamingOutputCall", makeHeaders(codes.Aborted), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.StreamingOutputCall", codes.Aborted, 1, 0) + h.check(t, "testing.TestService.StreamingOutputCall", codes.Aborted, 1, 0) // Fail late (server waits until stream is complete to reject) h = &handler{reqMessages: []string{payload}} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/StreamingOutputCall", makeHeaders(codes.AlreadyExists, true), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/StreamingOutputCall", makeHeaders(codes.AlreadyExists, true), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.StreamingOutputCall", codes.AlreadyExists, 1, 5) + h.check(t, "testing.TestService.StreamingOutputCall", codes.AlreadyExists, 1, 5) } func TestHalfDuplexStream(t *testing.T) { @@ -634,12 +633,12 @@ func doTestHalfDuplexStream(t *testing.T, cc *grpc.ClientConn, source Descriptor // Success h := &handler{reqMessages: reqs} - err := InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/HalfDuplexCall", makeHeaders(codes.OK), h, h.getRequestData) + err := InvokeRpc(context.Background(), source, cc, "testing.TestService/HalfDuplexCall", makeHeaders(codes.OK), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - if h.check(t, "grpc.testing.TestService.HalfDuplexCall", codes.OK, 3, 3) { + if h.check(t, "testing.TestService.HalfDuplexCall", codes.OK, 3, 3) { for i, resp := range h.respMessages { if resp != reqs[i] { t.Errorf("unexpected response %d from RPC:\nexpecting %q\ngot %q", i, reqs[i], resp) @@ -649,21 +648,21 @@ func doTestHalfDuplexStream(t *testing.T, cc *grpc.ClientConn, source Descriptor // Fail fast (server rejects as soon as possible) h = &handler{reqMessages: reqs} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/HalfDuplexCall", makeHeaders(codes.Canceled), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/HalfDuplexCall", makeHeaders(codes.Canceled), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.HalfDuplexCall", codes.Canceled, -3, 0) + h.check(t, "testing.TestService.HalfDuplexCall", codes.Canceled, -3, 0) // Fail late (server waits until stream is complete to reject) h = &handler{reqMessages: reqs} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/HalfDuplexCall", makeHeaders(codes.DataLoss, true), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/HalfDuplexCall", makeHeaders(codes.DataLoss, true), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.HalfDuplexCall", codes.DataLoss, 3, 3) + h.check(t, "testing.TestService.HalfDuplexCall", codes.DataLoss, 3, 3) } func TestFullDuplexStream(t *testing.T) { @@ -676,11 +675,11 @@ func TestFullDuplexStream(t *testing.T) { func doTestFullDuplexStream(t *testing.T, cc *grpc.ClientConn, source DescriptorSource) { reqs := make([]string, 3) - req := &grpc_testing.StreamingOutputCallRequest{ - ResponseType: grpc_testing.PayloadType_RANDOM, + req := &grpcurl_testing.StreamingOutputCallRequest{ + ResponseType: grpcurl_testing.PayloadType_RANDOM, } for i := range reqs { - req.ResponseParameters = append(req.ResponseParameters, &grpc_testing.ResponseParameters{Size: int32((i + 1) * 10)}) + req.ResponseParameters = append(req.ResponseParameters, &grpcurl_testing.ResponseParameters{Size: int32((i + 1) * 10)}) payload, err := (&jsonpb.Marshaler{}).MarshalToString(req) if err != nil { t.Fatalf("failed to construct request %d: %v", i, err) @@ -690,13 +689,13 @@ func doTestFullDuplexStream(t *testing.T, cc *grpc.ClientConn, source Descriptor // Success h := &handler{reqMessages: reqs} - err := InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/FullDuplexCall", makeHeaders(codes.OK), h, h.getRequestData) + err := InvokeRpc(context.Background(), source, cc, "testing.TestService/FullDuplexCall", makeHeaders(codes.OK), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - if h.check(t, "grpc.testing.TestService.FullDuplexCall", codes.OK, 3, 6) { - resp := &grpc_testing.StreamingOutputCallResponse{} + if h.check(t, "testing.TestService.FullDuplexCall", codes.OK, 3, 6) { + resp := &grpcurl_testing.StreamingOutputCallResponse{} i := 0 for j := 1; j < 3; j++ { // three requests @@ -706,8 +705,8 @@ func doTestFullDuplexStream(t *testing.T, cc *grpc.ClientConn, source Descriptor if err := jsonpb.UnmarshalString(msg, resp); err != nil { t.Errorf("failed to parse response %d: %v", i+1, err) } - if resp.Payload.GetType() != grpc_testing.PayloadType_RANDOM { - t.Errorf("response %d has wrong payload type; expecting %v, got %v", i, grpc_testing.PayloadType_RANDOM, resp.Payload.Type) + if resp.Payload.GetType() != grpcurl_testing.PayloadType_RANDOM { + t.Errorf("response %d has wrong payload type; expecting %v, got %v", i, grpcurl_testing.PayloadType_RANDOM, resp.Payload.Type) } if len(resp.Payload.Body) != (k+1)*10 { t.Errorf("response %d has wrong payload size; expecting %d, got %d", i, (k+1)*10, len(resp.Payload.Body)) @@ -721,21 +720,21 @@ func doTestFullDuplexStream(t *testing.T, cc *grpc.ClientConn, source Descriptor // Fail fast (server rejects as soon as possible) h = &handler{reqMessages: reqs} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/FullDuplexCall", makeHeaders(codes.PermissionDenied), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/FullDuplexCall", makeHeaders(codes.PermissionDenied), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.FullDuplexCall", codes.PermissionDenied, -3, 0) + h.check(t, "testing.TestService.FullDuplexCall", codes.PermissionDenied, -3, 0) // Fail late (server waits until stream is complete to reject) h = &handler{reqMessages: reqs} - err = InvokeRpc(context.Background(), source, cc, "grpc.testing.TestService/FullDuplexCall", makeHeaders(codes.ResourceExhausted, true), h, h.getRequestData) + err = InvokeRpc(context.Background(), source, cc, "testing.TestService/FullDuplexCall", makeHeaders(codes.ResourceExhausted, true), h, h.getRequestData) if err != nil { t.Fatalf("unexpected error during RPC: %v", err) } - h.check(t, "grpc.testing.TestService.FullDuplexCall", codes.ResourceExhausted, 3, 6) + h.check(t, "testing.TestService.FullDuplexCall", codes.ResourceExhausted, 3, 6) } type handler struct { diff --git a/testing/cmd/bankdemo/README.md b/internal/testing/cmd/bankdemo/README.md similarity index 100% rename from testing/cmd/bankdemo/README.md rename to internal/testing/cmd/bankdemo/README.md diff --git a/testing/cmd/bankdemo/auth.go b/internal/testing/cmd/bankdemo/auth.go similarity index 100% rename from testing/cmd/bankdemo/auth.go rename to internal/testing/cmd/bankdemo/auth.go diff --git a/testing/cmd/bankdemo/bank.go b/internal/testing/cmd/bankdemo/bank.go similarity index 100% rename from testing/cmd/bankdemo/bank.go rename to internal/testing/cmd/bankdemo/bank.go diff --git a/testing/cmd/bankdemo/bank.pb.go b/internal/testing/cmd/bankdemo/bank.pb.go similarity index 100% rename from testing/cmd/bankdemo/bank.pb.go rename to internal/testing/cmd/bankdemo/bank.pb.go diff --git a/testing/cmd/bankdemo/bank.proto b/internal/testing/cmd/bankdemo/bank.proto similarity index 100% rename from testing/cmd/bankdemo/bank.proto rename to internal/testing/cmd/bankdemo/bank.proto diff --git a/testing/cmd/bankdemo/chat.go b/internal/testing/cmd/bankdemo/chat.go similarity index 100% rename from testing/cmd/bankdemo/chat.go rename to internal/testing/cmd/bankdemo/chat.go diff --git a/testing/cmd/bankdemo/db.go b/internal/testing/cmd/bankdemo/db.go similarity index 100% rename from testing/cmd/bankdemo/db.go rename to internal/testing/cmd/bankdemo/db.go diff --git a/testing/cmd/bankdemo/main.go b/internal/testing/cmd/bankdemo/main.go similarity index 100% rename from testing/cmd/bankdemo/main.go rename to internal/testing/cmd/bankdemo/main.go diff --git a/testing/cmd/bankdemo/support.pb.go b/internal/testing/cmd/bankdemo/support.pb.go similarity index 100% rename from testing/cmd/bankdemo/support.pb.go rename to internal/testing/cmd/bankdemo/support.pb.go diff --git a/testing/cmd/bankdemo/support.proto b/internal/testing/cmd/bankdemo/support.proto similarity index 100% rename from testing/cmd/bankdemo/support.proto rename to internal/testing/cmd/bankdemo/support.proto diff --git a/testing/cmd/testserver/README.md b/internal/testing/cmd/testserver/README.md similarity index 100% rename from testing/cmd/testserver/README.md rename to internal/testing/cmd/testserver/README.md diff --git a/testing/cmd/testserver/testserver.go b/internal/testing/cmd/testserver/testserver.go similarity index 96% rename from testing/cmd/testserver/testserver.go rename to internal/testing/cmd/testserver/testserver.go index ea4b66a..e42821f 100644 --- a/testing/cmd/testserver/testserver.go +++ b/internal/testing/cmd/testserver/testserver.go @@ -13,13 +13,12 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/interop/grpc_testing" "google.golang.org/grpc/metadata" "google.golang.org/grpc/reflection" "google.golang.org/grpc/status" "github.com/fullstorydev/grpcurl" - grpcurl_testing "github.com/fullstorydev/grpcurl/testing" + grpcurl_testing "github.com/fullstorydev/grpcurl/internal/testing" ) var ( @@ -96,7 +95,7 @@ func main() { svr := grpc.NewServer(opts...) - grpc_testing.RegisterTestServiceServer(svr, grpcurl_testing.TestServer{}) + grpcurl_testing.RegisterTestServiceServer(svr, grpcurl_testing.TestServer{}) if !*noreflect { reflection.Register(svr) } diff --git a/testing/cmd/testserver/unix.go b/internal/testing/cmd/testserver/unix.go similarity index 100% rename from testing/cmd/testserver/unix.go rename to internal/testing/cmd/testserver/unix.go diff --git a/testing/example.proto b/internal/testing/example.proto similarity index 93% rename from testing/example.proto rename to internal/testing/example.proto index bfb3f3f..e054bda 100644 --- a/testing/example.proto +++ b/internal/testing/example.proto @@ -3,7 +3,7 @@ syntax = "proto3"; import "google/protobuf/descriptor.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; -import "testing/example2.proto"; +import "example2.proto"; message TestRequest { repeated string file_names = 1; diff --git a/testing/example.protoset b/internal/testing/example.protoset similarity index 95% rename from testing/example.protoset rename to internal/testing/example.protoset index cad336173d9400fd4ec500e8190df5ea3284cd38..a6b132998c111ae5d993dbcc460376ce2ab6ac78 100644 GIT binary patch delta 151 zcmdnz`p=bxYqmAlQ=t8_g&2GEL&#e42MMbA$<(SV2ZXd~RwyQ=Kcd*bsfHEGcAyuf8kU&UiYy~Q|wQ|gJuDFjL2>Af=SH3*t5~khw*Z~dwP!KHqEH}4-Z(x> z!*Y!bD9vaXk_nZGWvo8Un>_4T)0yv3Out5)B6I*MRbr!4W~ci z%QT#VEFMFLQ1auljRG&C(ylF+ixof|cr|q#I|^ywk{LCMJYySIMR1VBxOg=Q@<_z4 z?QrCAAvKB9MZ71%mWZNv@KEu!L#dWgk`(GGg@uq-fW2r}lu)4t;QOE0#k5Tlo0mw0B<1w|^C&a><8; z#XC41QS=hZa+V1@B0bem#u`iC{PmRwE(zum{3HddHzlV}V{av%)H#Iu8X3^R0<(P{znD>%PYLCOBY1Qx{wIzYZpmNc(QmRIURMAB literal 0 HcmV?d00001 diff --git a/testing/test_server.go b/internal/testing/test_server.go similarity index 84% rename from testing/test_server.go rename to internal/testing/test_server.go index 9c04c13..413f2c5 100644 --- a/testing/test_server.go +++ b/internal/testing/test_server.go @@ -1,5 +1,9 @@ package testing +//go:generate protoc --go_out=plugins=grpc:./ test.proto +//go:generate protoc --descriptor_set_out=./test.protoset test.proto +//go:generate protoc --descriptor_set_out=./example.protoset --include_imports example.proto + import ( "io" "strconv" @@ -8,7 +12,6 @@ import ( "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/codes" - "google.golang.org/grpc/interop/grpc_testing" "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" @@ -19,7 +22,7 @@ import ( type TestServer struct{} // EmptyCall accepts one empty request and issues one empty response. -func (TestServer) EmptyCall(ctx context.Context, req *grpc_testing.Empty) (*grpc_testing.Empty, error) { +func (TestServer) EmptyCall(ctx context.Context, req *Empty) (*Empty, error) { headers, trailers, failEarly, failLate := processMetadata(ctx) grpc.SetHeader(ctx, headers) grpc.SetTrailer(ctx, trailers) @@ -35,7 +38,7 @@ func (TestServer) EmptyCall(ctx context.Context, req *grpc_testing.Empty) (*grpc // UnaryCall accepts one request and issues one response. The response includes // the client's payload as-is. -func (TestServer) UnaryCall(ctx context.Context, req *grpc_testing.SimpleRequest) (*grpc_testing.SimpleResponse, error) { +func (TestServer) UnaryCall(ctx context.Context, req *SimpleRequest) (*SimpleResponse, error) { headers, trailers, failEarly, failLate := processMetadata(ctx) grpc.SetHeader(ctx, headers) grpc.SetTrailer(ctx, trailers) @@ -46,7 +49,7 @@ func (TestServer) UnaryCall(ctx context.Context, req *grpc_testing.SimpleRequest return nil, status.Error(failLate, "fail") } - return &grpc_testing.SimpleResponse{ + return &SimpleResponse{ Payload: req.Payload, }, nil } @@ -54,7 +57,7 @@ func (TestServer) UnaryCall(ctx context.Context, req *grpc_testing.SimpleRequest // StreamingOutputCall accepts one request and issues a sequence of responses // (streamed download). The server returns the payload with client desired type // and sizes as specified in the request's ResponseParameters. -func (TestServer) StreamingOutputCall(req *grpc_testing.StreamingOutputCallRequest, str grpc_testing.TestService_StreamingOutputCallServer) error { +func (TestServer) StreamingOutputCall(req *StreamingOutputCallRequest, str TestService_StreamingOutputCallServer) error { headers, trailers, failEarly, failLate := processMetadata(str.Context()) str.SetHeader(headers) str.SetTrailer(trailers) @@ -62,7 +65,7 @@ func (TestServer) StreamingOutputCall(req *grpc_testing.StreamingOutputCallReque return status.Error(failEarly, "fail") } - rsp := &grpc_testing.StreamingOutputCallResponse{Payload: &grpc_testing.Payload{}} + rsp := &StreamingOutputCallResponse{Payload: &Payload{}} for _, param := range req.ResponseParameters { if str.Context().Err() != nil { return str.Context().Err() @@ -92,7 +95,7 @@ func (TestServer) StreamingOutputCall(req *grpc_testing.StreamingOutputCallReque // StreamingInputCall accepts a sequence of requests and issues one response // (streamed upload). The server returns the aggregated size of client payloads // as the result. -func (TestServer) StreamingInputCall(str grpc_testing.TestService_StreamingInputCallServer) error { +func (TestServer) StreamingInputCall(str TestService_StreamingInputCallServer) error { headers, trailers, failEarly, failLate := processMetadata(str.Context()) str.SetHeader(headers) str.SetTrailer(trailers) @@ -114,7 +117,7 @@ func (TestServer) StreamingInputCall(str grpc_testing.TestService_StreamingInput sz += len(req.Payload.Body) } } - if err := str.SendAndClose(&grpc_testing.StreamingInputCallResponse{AggregatedPayloadSize: int32(sz)}); err != nil { + if err := str.SendAndClose(&StreamingInputCallResponse{AggregatedPayloadSize: int32(sz)}); err != nil { return err } @@ -127,7 +130,7 @@ func (TestServer) StreamingInputCall(str grpc_testing.TestService_StreamingInput // FullDuplexCall accepts a sequence of requests with each request served by the // server immediately. As one request could lead to multiple responses, this // interface demonstrates the idea of full duplexing. -func (TestServer) FullDuplexCall(str grpc_testing.TestService_FullDuplexCallServer) error { +func (TestServer) FullDuplexCall(str TestService_FullDuplexCallServer) error { headers, trailers, failEarly, failLate := processMetadata(str.Context()) str.SetHeader(headers) str.SetTrailer(trailers) @@ -135,7 +138,7 @@ func (TestServer) FullDuplexCall(str grpc_testing.TestService_FullDuplexCallServ return status.Error(failEarly, "fail") } - rsp := &grpc_testing.StreamingOutputCallResponse{Payload: &grpc_testing.Payload{}} + rsp := &StreamingOutputCallResponse{Payload: &Payload{}} for { if str.Context().Err() != nil { return str.Context().Err() @@ -170,7 +173,7 @@ func (TestServer) FullDuplexCall(str grpc_testing.TestService_FullDuplexCallServ // responses. The server buffers all the client requests and then serves them // in order. A stream of responses is returned to the client once the client // half-closes the stream. -func (TestServer) HalfDuplexCall(str grpc_testing.TestService_HalfDuplexCallServer) error { +func (TestServer) HalfDuplexCall(str TestService_HalfDuplexCallServer) error { headers, trailers, failEarly, failLate := processMetadata(str.Context()) str.SetHeader(headers) str.SetTrailer(trailers) @@ -178,7 +181,7 @@ func (TestServer) HalfDuplexCall(str grpc_testing.TestService_HalfDuplexCallServ return status.Error(failEarly, "fail") } - var reqs []*grpc_testing.StreamingOutputCallRequest + var reqs []*StreamingOutputCallRequest for { if str.Context().Err() != nil { return str.Context().Err() @@ -192,7 +195,7 @@ func (TestServer) HalfDuplexCall(str grpc_testing.TestService_HalfDuplexCallServ reqs = append(reqs, req) } } - rsp := &grpc_testing.StreamingOutputCallResponse{} + rsp := &StreamingOutputCallResponse{} for _, req := range reqs { rsp.Payload = req.Payload if err := str.Send(rsp); err != nil { @@ -251,4 +254,4 @@ func toCode(vals []string) codes.Code { return codes.Code(i) } -var _ grpc_testing.TestServiceServer = TestServer{} +var _ TestServiceServer = TestServer{} diff --git a/testing/tls/ca.crl b/internal/testing/tls/ca.crl similarity index 100% rename from testing/tls/ca.crl rename to internal/testing/tls/ca.crl diff --git a/testing/tls/ca.crt b/internal/testing/tls/ca.crt similarity index 100% rename from testing/tls/ca.crt rename to internal/testing/tls/ca.crt diff --git a/testing/tls/ca.key b/internal/testing/tls/ca.key similarity index 100% rename from testing/tls/ca.key rename to internal/testing/tls/ca.key diff --git a/testing/tls/client.crt b/internal/testing/tls/client.crt similarity index 100% rename from testing/tls/client.crt rename to internal/testing/tls/client.crt diff --git a/testing/tls/client.csr b/internal/testing/tls/client.csr similarity index 100% rename from testing/tls/client.csr rename to internal/testing/tls/client.csr diff --git a/testing/tls/client.key b/internal/testing/tls/client.key similarity index 100% rename from testing/tls/client.key rename to internal/testing/tls/client.key diff --git a/testing/tls/expired.crt b/internal/testing/tls/expired.crt similarity index 100% rename from testing/tls/expired.crt rename to internal/testing/tls/expired.crt diff --git a/testing/tls/expired.csr b/internal/testing/tls/expired.csr similarity index 100% rename from testing/tls/expired.csr rename to internal/testing/tls/expired.csr diff --git a/testing/tls/expired.key b/internal/testing/tls/expired.key similarity index 100% rename from testing/tls/expired.key rename to internal/testing/tls/expired.key diff --git a/testing/tls/other.crt b/internal/testing/tls/other.crt similarity index 100% rename from testing/tls/other.crt rename to internal/testing/tls/other.crt diff --git a/testing/tls/other.csr b/internal/testing/tls/other.csr similarity index 100% rename from testing/tls/other.csr rename to internal/testing/tls/other.csr diff --git a/testing/tls/other.key b/internal/testing/tls/other.key similarity index 100% rename from testing/tls/other.key rename to internal/testing/tls/other.key diff --git a/testing/tls/server.crt b/internal/testing/tls/server.crt similarity index 100% rename from testing/tls/server.crt rename to internal/testing/tls/server.crt diff --git a/testing/tls/server.csr b/internal/testing/tls/server.csr similarity index 100% rename from testing/tls/server.csr rename to internal/testing/tls/server.csr diff --git a/testing/tls/server.key b/internal/testing/tls/server.key similarity index 100% rename from testing/tls/server.key rename to internal/testing/tls/server.key diff --git a/testing/tls/wrong-ca.crl b/internal/testing/tls/wrong-ca.crl similarity index 100% rename from testing/tls/wrong-ca.crl rename to internal/testing/tls/wrong-ca.crl diff --git a/testing/tls/wrong-ca.crt b/internal/testing/tls/wrong-ca.crt similarity index 100% rename from testing/tls/wrong-ca.crt rename to internal/testing/tls/wrong-ca.crt diff --git a/testing/tls/wrong-ca.key b/internal/testing/tls/wrong-ca.key similarity index 100% rename from testing/tls/wrong-ca.key rename to internal/testing/tls/wrong-ca.key diff --git a/testing/tls/wrong-client.crt b/internal/testing/tls/wrong-client.crt similarity index 100% rename from testing/tls/wrong-client.crt rename to internal/testing/tls/wrong-client.crt diff --git a/testing/tls/wrong-client.csr b/internal/testing/tls/wrong-client.csr similarity index 100% rename from testing/tls/wrong-client.csr rename to internal/testing/tls/wrong-client.csr diff --git a/testing/tls/wrong-client.key b/internal/testing/tls/wrong-client.key similarity index 100% rename from testing/tls/wrong-client.key rename to internal/testing/tls/wrong-client.key diff --git a/testing/test.protoset b/testing/test.protoset deleted file mode 100644 index 6915f3d2c9ffb4bb58469ffbb58831192fa137ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1973 zcmcgtPjAyO6sKLguCHBIJSMUZi76Z?NOY(O4oHB?)`>}5JDm1hd9Bw)N|TT{h;rb| z@C~?d;LBk6FY|pN!EHD6m;T&D?ITVYIfJdOhlCF(-4BfnLnPHd7fUy^4)p~&>3C$ zHX|&KM8?P;CmR;Ad`BjfrZkGkgv!D)R-e}QJgnQ!G;k@VA7b7(dJXF#jRN0`=y18t zsw!Xfi5_V6k@Gn@v52!Io5#=|l!Al+bA=*cMULh7Hy9Fp|8PCE15L-^V4d*iZ!t&(;?( z6mbb#Iw+y$??KgJEyE)OE#vGP-G_<}L$FlFAVU%Y_t3V@LQ1CGaz|bevwh;aN<@v{ zrCPE2P+zoLitGj4C6h@=Cxp@QFja0S)fL+p@z&*X>RBPPbp!~fUOFWqmyOX-I#eqy zh<5?k@%ZXTA~cpREn-liL1cZ+YaRAtb_MWFUHcw3mA)LGYL)k~!gbu8H^r}zFjB=D zOihF3JpK<%*@c}K4lJRlm1* zF(tr-%?13R#+4#ALEhU~1$fD&rk-&;P?wtpVH_c=GQwrF=S!m5W}%?Ya1$x#?_G{+yrv E1P0)exBvhE diff --git a/tls_settings_test.go b/tls_settings_test.go index 82ecd76..b6d77ad 100644 --- a/tls_settings_test.go +++ b/tls_settings_test.go @@ -10,10 +10,9 @@ import ( "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/credentials" - "google.golang.org/grpc/interop/grpc_testing" . "github.com/fullstorydev/grpcurl" - grpcurl_testing "github.com/fullstorydev/grpcurl/testing" + grpcurl_testing "github.com/fullstorydev/grpcurl/internal/testing" ) func TestPlainText(t *testing.T) { @@ -27,11 +26,11 @@ func TestPlainText(t *testing.T) { } func TestBasicTLS(t *testing.T) { - serverCreds, err := ServerTransportCredentials("", "testing/tls/server.crt", "testing/tls/server.key", false) + serverCreds, err := ServerTransportCredentials("", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", false) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "", "") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "", "") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -46,7 +45,7 @@ func TestBasicTLS(t *testing.T) { } func TestInsecureClientTLS(t *testing.T) { - serverCreds, err := ServerTransportCredentials("", "testing/tls/server.crt", "testing/tls/server.key", false) + serverCreds, err := ServerTransportCredentials("", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", false) if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -65,11 +64,11 @@ func TestInsecureClientTLS(t *testing.T) { } func TestClientCertTLS(t *testing.T) { - serverCreds, err := ServerTransportCredentials("testing/tls/ca.crt", "testing/tls/server.crt", "testing/tls/server.key", false) + serverCreds, err := ServerTransportCredentials("internal/testing/tls/ca.crt", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", false) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "testing/tls/client.crt", "testing/tls/client.key") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "internal/testing/tls/client.crt", "internal/testing/tls/client.key") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -84,11 +83,11 @@ func TestClientCertTLS(t *testing.T) { } func TestRequireClientCertTLS(t *testing.T) { - serverCreds, err := ServerTransportCredentials("testing/tls/ca.crt", "testing/tls/server.crt", "testing/tls/server.key", true) + serverCreds, err := ServerTransportCredentials("internal/testing/tls/ca.crt", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", true) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "testing/tls/client.crt", "testing/tls/client.key") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "internal/testing/tls/client.crt", "internal/testing/tls/client.key") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -103,7 +102,7 @@ func TestRequireClientCertTLS(t *testing.T) { } func TestBrokenTLS_ClientPlainText(t *testing.T) { - serverCreds, err := ServerTransportCredentials("", "testing/tls/server.crt", "testing/tls/server.key", false) + serverCreds, err := ServerTransportCredentials("", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", false) if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -148,8 +147,8 @@ func TestBrokenTLS_ClientPlainText(t *testing.T) { // but request fails because server closes connection upon seeing request // bytes that are not a TLS handshake - cl := grpc_testing.NewTestServiceClient(e.cc) - _, err = cl.UnaryCall(context.Background(), &grpc_testing.SimpleRequest{}) + cl := grpcurl_testing.NewTestServiceClient(e.cc) + _, err = cl.UnaryCall(context.Background(), &grpcurl_testing.SimpleRequest{}) if err == nil { t.Fatal("expecting failure") } @@ -164,7 +163,7 @@ func TestBrokenTLS_ClientPlainText(t *testing.T) { } func TestBrokenTLS_ServerPlainText(t *testing.T) { - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "", "") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "", "") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -180,11 +179,11 @@ func TestBrokenTLS_ServerPlainText(t *testing.T) { } func TestBrokenTLS_ServerUsesWrongCert(t *testing.T) { - serverCreds, err := ServerTransportCredentials("", "testing/tls/other.crt", "testing/tls/other.key", false) + serverCreds, err := ServerTransportCredentials("", "internal/testing/tls/other.crt", "internal/testing/tls/other.key", false) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "", "") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "", "") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -200,11 +199,11 @@ func TestBrokenTLS_ServerUsesWrongCert(t *testing.T) { } func TestBrokenTLS_ClientHasExpiredCert(t *testing.T) { - serverCreds, err := ServerTransportCredentials("testing/tls/ca.crt", "testing/tls/server.crt", "testing/tls/server.key", false) + serverCreds, err := ServerTransportCredentials("internal/testing/tls/ca.crt", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", false) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "testing/tls/expired.crt", "testing/tls/expired.key") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "internal/testing/tls/expired.crt", "internal/testing/tls/expired.key") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -220,11 +219,11 @@ func TestBrokenTLS_ClientHasExpiredCert(t *testing.T) { } func TestBrokenTLS_ServerHasExpiredCert(t *testing.T) { - serverCreds, err := ServerTransportCredentials("", "testing/tls/expired.crt", "testing/tls/expired.key", false) + serverCreds, err := ServerTransportCredentials("", "internal/testing/tls/expired.crt", "internal/testing/tls/expired.key", false) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "", "") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "", "") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -240,11 +239,11 @@ func TestBrokenTLS_ServerHasExpiredCert(t *testing.T) { } func TestBrokenTLS_ClientNotTrusted(t *testing.T) { - serverCreds, err := ServerTransportCredentials("testing/tls/ca.crt", "testing/tls/server.crt", "testing/tls/server.key", true) + serverCreds, err := ServerTransportCredentials("internal/testing/tls/ca.crt", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", true) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "testing/tls/wrong-client.crt", "testing/tls/wrong-client.key") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "internal/testing/tls/wrong-client.crt", "internal/testing/tls/wrong-client.key") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -260,11 +259,11 @@ func TestBrokenTLS_ClientNotTrusted(t *testing.T) { } func TestBrokenTLS_ServerNotTrusted(t *testing.T) { - serverCreds, err := ServerTransportCredentials("", "testing/tls/server.crt", "testing/tls/server.key", false) + serverCreds, err := ServerTransportCredentials("", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", false) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "", "testing/tls/client.crt", "testing/tls/client.key") + clientCreds, err := ClientTransportCredentials(false, "", "internal/testing/tls/client.crt", "internal/testing/tls/client.key") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -280,11 +279,11 @@ func TestBrokenTLS_ServerNotTrusted(t *testing.T) { } func TestBrokenTLS_RequireClientCertButNonePresented(t *testing.T) { - serverCreds, err := ServerTransportCredentials("testing/tls/ca.crt", "testing/tls/server.crt", "testing/tls/server.key", true) + serverCreds, err := ServerTransportCredentials("internal/testing/tls/ca.crt", "internal/testing/tls/server.crt", "internal/testing/tls/server.key", true) if err != nil { t.Fatalf("failed to create server creds: %v", err) } - clientCreds, err := ClientTransportCredentials(false, "testing/tls/ca.crt", "", "") + clientCreds, err := ClientTransportCredentials(false, "internal/testing/tls/ca.crt", "", "") if err != nil { t.Fatalf("failed to create server creds: %v", err) } @@ -300,10 +299,10 @@ func TestBrokenTLS_RequireClientCertButNonePresented(t *testing.T) { } func simpleTest(t *testing.T, cc *grpc.ClientConn) { - cl := grpc_testing.NewTestServiceClient(cc) + cl := grpcurl_testing.NewTestServiceClient(cc) ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second) defer cancel() - _, err := cl.UnaryCall(ctx, &grpc_testing.SimpleRequest{}, grpc.WaitForReady(true)) + _, err := cl.UnaryCall(ctx, &grpcurl_testing.SimpleRequest{}, grpc.WaitForReady(true)) if err != nil { t.Errorf("simple RPC failed: %v", err) } @@ -323,7 +322,7 @@ func createTestServerAndClient(serverCreds, clientCreds credentials.TransportCre svrOpts = []grpc.ServerOption{grpc.Creds(serverCreds)} } svr := grpc.NewServer(svrOpts...) - grpc_testing.RegisterTestServiceServer(svr, grpcurl_testing.TestServer{}) + grpcurl_testing.RegisterTestServiceServer(svr, grpcurl_testing.TestServer{}) l, err := net.Listen("tcp", "127.0.0.1:0") if err != nil { return e, err