Documentation ¶
Overview ¶
Test suite builders for each of the variants.
Index ¶
- func UpdateResults(current types.Results, variantResults types.VariantResults) types.Results
- type ADSBuilder
- type CDSBuilder
- type Cache
- type Channels
- type ClientConfig
- type Context
- type Delta
- type DeltaStream
- type EDSBuilder
- type LDSBuilder
- type RDSBuilder
- type Runner
- func (r *Runner) Ack(service *XDSService)
- func (r *Runner) ClientDoesAWildcardSubscriptionToService(service string) error
- func (r *Runner) ClientDoesNotReceiveAnyMessageFromService(service string) error
- func (r *Runner) ClientDoesNotReceiveResourceOfServiceAtVersion(resource, service, version string) error
- func (r *Runner) ClientReceivesNoticeThatResourceWasRemovedForService(resource, service string) error
- func (r *Runner) ClientReceivesOnlyTheResourceAndVersionForTheService(resource, version, service string) error
- func (r *Runner) ClientReceivesResourcesAndVersionForService(resources, version, service string) error
- func (r *Runner) ClientSubscribesToASubsetOfResourcesForService(subset, service string) error
- func (r *Runner) ClientSubscribesToServiceForResources(srv string, resources []string) error
- func (r *Runner) ClientUnsubscribesFromAllResourcesForService(service string) error
- func (r *Runner) ClientUnsubscribesFromResourceForService(resource, service string) error
- func (r *Runner) ClientUpdatesSubscriptionToAResourceForServiceWithVersion(resource, service, version string) error
- func (r *Runner) ConnectClient(server, address string) error
- func (r *Runner) DeltaStream(service *XDSService)
- func (r *Runner) LoadSteps(ctx *godog.ScenarioContext)
- func (r *Runner) NoOtherResourceHasSameNonce(service, resource string) error
- func (r *Runner) NoOtherResourceHasSameVersionOrNonce(service, resource string) error
- func (r *Runner) ResourceIsAddedToServiceWithVersion(resource, service, version string) error
- func (r *Runner) ResourceIsRemovedFromTheService(resource, service string) error
- func (r *Runner) ResourceOfServiceIsUpdatedToVersion(resource, service, version string) error
- func (r *Runner) ResourcesAndVersionForServiceCameInASingleResponse(resources, version, service string) error
- func (r *Runner) SotwStream(service *XDSService)
- func (r *Runner) Stream(service *XDSService)
- func (r *Runner) TargetSetupWithServiceResourcesAndVersion(services, resources, version string) error
- func (r *Runner) TheServiceNeverRespondsMoreThanNecessary() error
- type Sotw
- type SotwStream
- type Suite
- type Validate
- type ValidateResource
- type XDSService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UpdateResults ¶
Types ¶
type Cache ¶
type Cache struct { // StartState *pb.Snapshot // StateSnapshots []*pb.Snapshot FinalResponse *discovery.DiscoveryResponse }
type ClientConfig ¶
type ClientConfig struct { Port string Conn *grpc.ClientConn }
type Delta ¶
type Delta struct { Stream DeltaStream Context Context }
type DeltaStream ¶
type DeltaStream interface { Send(*discovery.DeltaDiscoveryRequest) error Recv() (*discovery.DeltaDiscoveryResponse, error) CloseSend() error }
type Runner ¶
type Runner struct { Adapter *ClientConfig Target *ClientConfig NodeID string Cache *Cache Aggregated bool Incremental bool Service *XDSService SubscribeRequest *any.Any Validate *Validate }
func FreshRunner ¶
func (*Runner) Ack ¶
func (r *Runner) Ack(service *XDSService)
func (*Runner) ClientDoesAWildcardSubscriptionToService ¶
Wrapper to start stream, without resources, for given service
func (*Runner) ClientDoesNotReceiveAnyMessageFromService ¶
func (*Runner) ClientDoesNotReceiveResourceOfServiceAtVersion ¶
func (*Runner) ClientReceivesNoticeThatResourceWasRemovedForService ¶
func (*Runner) ClientReceivesOnlyTheResourceAndVersionForTheService ¶
func (r *Runner) ClientReceivesOnlyTheResourceAndVersionForTheService(resource, version, service string) error
Loop again, but this time continuing if resource in cache has more than one entry. The test is itended for when you update a subscription to now only care about a single resource. The response you reeceive should only have a single entry in its resources, otherwise we fail. Won't work for LDS/CDS where it is conformant to pass along more than you need.
func (*Runner) ClientReceivesResourcesAndVersionForService ¶
func (r *Runner) ClientReceivesResourcesAndVersionForService(resources, version, service string) error
Loop through the service's response cache until we get the expected response or we reach the deadline for the service.
func (*Runner) ClientSubscribesToASubsetOfResourcesForService ¶
func (*Runner) ClientSubscribesToServiceForResources ¶
Takes service and creates a runner.Service with a fresh xDS stream for the given service. This is the heart of a test, as it sets up the request/response loops that verify the service is working properly.
func (*Runner) ClientUnsubscribesFromAllResourcesForService ¶
func (*Runner) ClientUnsubscribesFromResourceForService ¶
A delta specific test, as delta can explicitly unsubscribe, whereas sotw can only update their subscription set up a delta discovery request unsubscribing for given resource, and pass it along the channel.
func (*Runner) ClientUpdatesSubscriptionToAResourceForServiceWithVersion ¶
func (*Runner) ConnectClient ¶
func (*Runner) DeltaStream ¶
func (r *Runner) DeltaStream(service *XDSService)
Bidirectioinal stream between client and server. Listens for any responses from server and sends them along the response channel. Listens to new requests from the request channel and sends them along to the server.
func (*Runner) LoadSteps ¶
func (r *Runner) LoadSteps(ctx *godog.ScenarioContext)
func (*Runner) NoOtherResourceHasSameNonce ¶
func (*Runner) NoOtherResourceHasSameVersionOrNonce ¶
func (*Runner) ResourceIsAddedToServiceWithVersion ¶
func (*Runner) ResourceIsRemovedFromTheService ¶
func (*Runner) ResourceOfServiceIsUpdatedToVersion ¶
func (*Runner) ResourcesAndVersionForServiceCameInASingleResponse ¶
func (*Runner) SotwStream ¶
func (r *Runner) SotwStream(service *XDSService)
func (*Runner) Stream ¶
func (r *Runner) Stream(service *XDSService)
func (*Runner) TargetSetupWithServiceResourcesAndVersion ¶
func (r *Runner) TargetSetupWithServiceResourcesAndVersion(services, resources, version string) error
Creates a snapshot to be sent, via the adapter, to the target implementation, setting the state for the rest of the steps.
func (*Runner) TheServiceNeverRespondsMoreThanNecessary ¶
ctx.Step(`^the service never responds more than necessary$`, r.TheServiceNeverRespondsMoreThanNecessary)
type Sotw ¶
type Sotw struct { Stream SotwStream Context Context }
type SotwStream ¶
type SotwStream interface { Send(*discovery.DiscoveryRequest) error Recv() (*discovery.DiscoveryResponse, error) CloseSend() error }
type Suite ¶
type Suite struct { Variant types.Variant Runner *Runner Aggregated bool Incremental bool TestWriting bool Buffer bytes.Buffer Tags string TestSuite godog.TestSuite }
func NewSotwAggregatedSuite ¶
func (*Suite) ConfigureSuite ¶
func (s *Suite) ConfigureSuite()
func (*Suite) StartRunner ¶
type Validate ¶
type Validate struct { RequestCount int ResponseCount int Resources map[string]map[string]ValidateResource RemovedResources map[string]map[string]ValidateResource }
func NewValidate ¶
func NewValidate() *Validate