scenario

package
v0.5.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2024 License: MPL-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnswLogConfig

type AnswLogConfig struct {
	Enabled bool   `config:"enabled"`
	Path    string `config:"path"`
	Filter  string `config:"filter" valid:"oneof=all warning error"`
}

type Call

type Call struct {
	Name           string
	Preprocessors  []Preprocessor
	Postprocessors []Postprocessor

	Tag      string            `json:"tag"`
	Call     string            `json:"call"`
	Metadata map[string]string `json:"metadata"`
	Payload  []byte            `json:"payload"`

	Sleep time.Duration `json:"sleep"`
}

type GrpcDialOptions

type GrpcDialOptions struct {
	Authority string        `config:"authority"`
	Timeout   time.Duration `config:"timeout"`
}

type Gun

type Gun struct {
	// contains filtered or unexported fields
}

func NewGun

func NewGun(conf GunConfig) *Gun

func (*Gun) Bind

func (g *Gun) Bind(aggr core.Aggregator, deps core.GunDeps) error

func (*Gun) Shoot

func (g *Gun) Shoot(am core.Ammo)

func (*Gun) WarmUp

func (g *Gun) WarmUp(opts *warmup.Options) (interface{}, error)

type GunConfig

type GunConfig struct {
	Target      string          `validate:"required"`
	ReflectPort int64           `config:"reflect_port"`
	Timeout     time.Duration   `config:"timeout"` // grpc request timeout
	TLS         bool            `config:"tls"`
	DialOptions GrpcDialOptions `config:"dial_options"`
	AnswLog     AnswLogConfig   `config:"answlog"`
}

func DefaultGunConfig

func DefaultGunConfig() GunConfig

type Postprocessor

type Postprocessor interface {
	Process(out proto.Message, code int) (map[string]any, error)
}

type Preprocessor

type Preprocessor interface {
	Process(call *Call, templateVars map[string]any) (newVars map[string]any, err error)
}

type Scenario

type Scenario struct {
	Calls           []Call
	Name            string
	MinWaitingTime  time.Duration
	VariableStorage SourceStorage
	// contains filtered or unexported fields
}

func (*Scenario) Clone added in v0.5.22

func (a *Scenario) Clone() scenario.ProvAmmo

func (*Scenario) SetID

func (a *Scenario) SetID(id uint64)

type SourceStorage

type SourceStorage interface {
	Variables() map[string]any
}

type Templater

type Templater interface {
	Apply(payload []byte, metadata map[string]string, variables map[string]any, scenarioName, stepName string) ([]byte, error)
}

func NewTextTemplater

func NewTextTemplater() Templater

type TextTemplater

type TextTemplater struct {
	// contains filtered or unexported fields
}

func (*TextTemplater) Apply

func (t *TextTemplater) Apply(payload []byte, metadata map[string]string, variables map[string]any, scenarioName, stepName string) ([]byte, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL