Documentation ¶
Overview ¶
Package fakeserver provides a fake implementation of the management server.
This package is recommended only for scenarios which cannot be tested using the xDS management server (which uses envoy-go-control-plane) provided by the `internal/testutils/xds/e2e` package.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Request ¶
Request wraps the request protobuf (xds/LRS) and error received by the Server in a call to stream.Recv().
type Response ¶
Response wraps the response protobuf (xds/LRS) and error that the Server should send out to the client through a call to stream.Send()
type Server ¶
type Server struct { // XDSRequestChan is a channel on which received xDS requests are made // available to the users of this Server. XDSRequestChan *testutils.Channel // XDSResponseChan is a channel on which the Server accepts xDS responses // to be sent to the client. XDSResponseChan chan *Response // LRSRequestChan is a channel on which received LRS requests are made // available to the users of this Server. LRSRequestChan *testutils.Channel // LRSResponseChan is a channel on which the Server accepts the LRS // response to be sent to the client. LRSResponseChan chan *Response // LRSStreamOpenChan is a channel on which the Server sends notifications // when a new LRS stream is created. LRSStreamOpenChan *testutils.Channel // LRSStreamCloseChan is a channel on which the Server sends notifications // when an existing LRS stream is closed. LRSStreamCloseChan *testutils.Channel // NewConnChan is a channel on which the fake server notifies receipt of new // connection attempts. Tests can gate on this event before proceeding to // other actions which depend on a connection to the fake server being up. NewConnChan *testutils.Channel // Address is the host:port on which the Server is listening for requests. Address string // contains filtered or unexported fields }
Server is a fake implementation of xDS and LRS protocols. It listens on the same port for both services and exposes a bunch of channels to send/receive messages.
This server is recommended only for scenarios which cannot be tested using the xDS management server (which uses envoy-go-control-plane) provided by the `internal/testutils/xds/e2e` package.
func StartServer ¶
StartServer makes a new Server and gets it to start listening on a local port for gRPC requests. The returned cancel function should be invoked by the caller upon completion of the test.