package e2e
import "google.golang.org/grpc/xds/internal/testutils/e2e"
Package e2e provides utilities for end2end testing of xDS functionality.
Index ¶
- func DefaultCluster(clusterName, edsServiceName string) *v3clusterpb.Cluster
- func DefaultEndpoint(clusterName string, host string, port uint32) *v3endpointpb.ClusterLoadAssignment
- func DefaultFileWatcherConfig(certPath, keyPath, caPath string) map[string]json.RawMessage
- func DefaultListener(target, routeName string) *v3listenerpb.Listener
- func DefaultRouteConfig(routeName, ldsTarget, clusterName string) *v3routepb.RouteConfiguration
- func HTTPFilter(name string, config proto.Message) *v3httppb.HttpFilter
- type ManagementServer
- func StartManagementServer() (*ManagementServer, error)
- func (s *ManagementServer) Stop()
- func (s *ManagementServer) Update(opts UpdateOptions) error
- type UpdateOptions
Functions ¶
func DefaultCluster ¶
func DefaultCluster(clusterName, edsServiceName string) *v3clusterpb.Cluster
DefaultCluster returns a basic xds Cluster resource.
func DefaultEndpoint ¶
func DefaultEndpoint(clusterName string, host string, port uint32) *v3endpointpb.ClusterLoadAssignment
DefaultEndpoint returns a basic xds Endpoint resource.
func DefaultFileWatcherConfig ¶
func DefaultFileWatcherConfig(certPath, keyPath, caPath string) map[string]json.RawMessage
DefaultFileWatcherConfig is a helper function to create a default certificate provider plugin configuration. The test is expected to have setup the files appropriately before this configuration is used to instantiate providers.
func DefaultListener ¶
func DefaultListener(target, routeName string) *v3listenerpb.Listener
DefaultListener returns a basic xds Listener resource.
func DefaultRouteConfig ¶
func DefaultRouteConfig(routeName, ldsTarget, clusterName string) *v3routepb.RouteConfiguration
DefaultRouteConfig returns a basic xds RouteConfig resource.
func HTTPFilter ¶
func HTTPFilter(name string, config proto.Message) *v3httppb.HttpFilter
HTTPFilter constructs an xds HttpFilter with the provided name and config.
Types ¶
type ManagementServer ¶
type ManagementServer struct { // Address is the host:port on which the management server is listening for // new connections. Address string // contains filtered or unexported fields }
ManagementServer is a thin wrapper around the xDS control plane implementation provided by envoyproxy/go-control-plane.
func StartManagementServer ¶
func StartManagementServer() (*ManagementServer, error)
StartManagementServer initializes a management server which implements the AggregatedDiscoveryService endpoint. The management server is initialized with no resources. Tests should call the Update() method to change the resource snapshot held by the management server, as required by the test logic. When the test is done, it should call the Stop() method to cleanup resources allocated by the management server.
func (*ManagementServer) Stop ¶
func (s *ManagementServer) Stop()
Stop stops the management server.
func (*ManagementServer) Update ¶
func (s *ManagementServer) Update(opts UpdateOptions) error
Update changes the resource snapshot held by the management server, which updates connected clients as required.
type UpdateOptions ¶
type UpdateOptions struct { // NodeID is the id of the client to which this update is to be pushed. NodeID string // Endpoints, Clusters, Routes, and Listeners are the updated list of xds // resources for the server. All must be provided with each Update. Endpoints []*v3endpointpb.ClusterLoadAssignment Clusters []*v3clusterpb.Cluster Routes []*v3routepb.RouteConfiguration Listeners []*v3listenerpb.Listener // SkipValidation indicates whether we want to skip validation (by not // calling snapshot.Consistent()). It can be useful for negative tests, // where we send updates that the client will NACK. SkipValidation bool }
UpdateOptions wraps parameters to be passed to the Update() method.
func DefaultClientResources ¶
func DefaultClientResources(target, nodeID, host string, port uint32) UpdateOptions
DefaultClientResources returns a set of resources (LDS, RDS, CDS, EDS) for a client to generically connect to one server.
Source Files ¶
bootstrap.go clientresources.go server.go
- Version
- v1.37.1
- Published
- May 11, 2021
- Platform
- linux/amd64
- Imports
- 24 packages
- Last checked
- 6 hours ago –
Tools for package owners.