Documentation ¶
Index ¶
- Variables
- func FakeClientCerts(mocked ...[]byte) func() (*x509.CertPool, error)
- func FakeGRPCServer(srv testgrpc.TestServiceServer, keyFile, certFile []byte) (func(), error)
- func FakeTokenSource(token oauth2.TokenSource) ...
- func RegisterServiceServerOption(f func(grpc.ServiceRegistrar)) grpc.ServerOption
- type GRPCServer
- type IDTokenStub
- type StubServer
- func (ss *StubServer) EmptyCall(ctx context.Context, in *testgrpc.Empty) (*testgrpc.Empty, error)
- func (ss *StubServer) FullDuplexCall(stream testgrpc.TestService_FullDuplexCallServer) error
- func (ss *StubServer) NewServiceConfig(sc string)
- func (ss *StubServer) Start(sopts []grpc.ServerOption, dopts ...grpc.DialOption) error
- func (ss *StubServer) StartClient(dopts ...grpc.DialOption) error
- func (ss *StubServer) StartHandlerServer(sopts ...grpc.ServerOption) error
- func (ss *StubServer) StartServer(sopts ...grpc.ServerOption) error
- func (ss *StubServer) Stop()
- func (ss *StubServer) UnaryCall(ctx context.Context, in *testgrpc.SimpleRequest) (*testgrpc.SimpleResponse, error)
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func FakeGRPCServer ¶
func FakeGRPCServer(srv testgrpc.TestServiceServer, keyFile, certFile []byte) (func(), error)
func FakeTokenSource ¶
func FakeTokenSource( token oauth2.TokenSource, ) func(ctx context.Context, audience string, opts ...idtoken.ClientOption) (oauth2.TokenSource, error)
func RegisterServiceServerOption ¶
func RegisterServiceServerOption(f func(grpc.ServiceRegistrar)) grpc.ServerOption
RegisterServiceServerOption returns a ServerOption that will run f() in Start or StartServer with the grpc.Server created before serving. This allows other services to be registered on the test server (e.g. ORCA, health, or reflection).
Types ¶
type GRPCServer ¶
type GRPCServer interface { grpc.ServiceRegistrar Stop() GracefulStop() Serve(net.Listener) error }
GRPCServer is an interface that groups methods implemented by a grpc.Server or an xds.GRPCServer that are used by the StubServer.
type IDTokenStub ¶
type IDTokenStub struct {
oauth2.TokenSource
}
type StubServer ¶
type StubServer struct { // Guarantees we satisfy this interface; panics if unimplemented methods are called. testgrpc.TestServiceServer // Customizable implementations of server handlers. EmptyCallF func(ctx context.Context, in *testgrpc.Empty) (*testgrpc.Empty, error) UnaryCallF func(ctx context.Context, in *testgrpc.SimpleRequest) (*testgrpc.SimpleResponse, error) FullDuplexCallF func(stream testgrpc.TestService_FullDuplexCallServer) error // A client connected to this service the test may use. Created in Start(). Client testgrpc.TestServiceClient CC *grpc.ClientConn // Server to serve this service from. // // If nil, a new grpc.Server is created, listening on the provided Network // and Address fields, or listening using the provided Listener. S GRPCServer // Parameters for Listen and Dial. Defaults will be used if these are empty // before Start. Network string Address string Target string // Custom listener to use for serving. If unspecified, a new listener is // created on a local port. Listener net.Listener // Set automatically if Target == "" R *manual.Resolver // contains filtered or unexported fields }
StubServer is a server that is easy to customize within individual test cases.
func StartTestService ¶
func StartTestService(t *testing.T, server *StubServer, sopts ...grpc.ServerOption) *StubServer
StartTestService spins up a stub server exposing the TestService on a local port. If the passed in server is nil, a stub server that implements only the EmptyCall and UnaryCall RPCs is started.
func (*StubServer) FullDuplexCall ¶
func (ss *StubServer) FullDuplexCall(stream testgrpc.TestService_FullDuplexCallServer) error
FullDuplexCall is the handler for testgrpc.FullDuplexCall
func (*StubServer) NewServiceConfig ¶
func (ss *StubServer) NewServiceConfig(sc string)
NewServiceConfig applies sc to ss.Client using the resolver (if present).
func (*StubServer) Start ¶
func (ss *StubServer) Start(sopts []grpc.ServerOption, dopts ...grpc.DialOption) error
Start starts the server and creates a client connected to it.
func (*StubServer) StartClient ¶
func (ss *StubServer) StartClient(dopts ...grpc.DialOption) error
StartClient creates a client connected to this service that the test may use. The newly created client will be available in the Client field of StubServer.
func (*StubServer) StartHandlerServer ¶
func (ss *StubServer) StartHandlerServer(sopts ...grpc.ServerOption) error
StartHandlerServer only starts an HTTP server with a gRPC server as the handler. It does not create a client to it. Cannot be used in a StubServer that also used StartServer.
func (*StubServer) StartServer ¶
func (ss *StubServer) StartServer(sopts ...grpc.ServerOption) error
StartServer only starts the server. It does not create a client to it. Cannot be used in a StubServer that also used StartHandlerServer.
func (*StubServer) Stop ¶
func (ss *StubServer) Stop()
Stop stops ss and cleans up all resources it consumed.
func (*StubServer) UnaryCall ¶
func (ss *StubServer) UnaryCall(ctx context.Context, in *testgrpc.SimpleRequest) (*testgrpc.SimpleResponse, error)
UnaryCall is the handler for testgrpc.UnaryCall