Documentation ¶
Overview ¶
Package schema provides the test scenario data schema for scenarigo.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bind ¶
type Bind struct {
Vars map[string]interface{} `yaml:"vars"`
}
Bind represents bindings of variables.
type Config ¶ added in v0.7.0
type Config struct { SchemaVersion string `yaml:"schemaVersion,omitempty"` Scenarios []string `yaml:"scenarios,omitempty"` PluginDirectory string `yaml:"pluginDirectory,omitempty"` Plugins map[string]PluginConfig `yaml:"plugins,omitempty"` Output OutputConfig `yaml:"output,omitempty"` // absolute path to the configuration file Root string `yaml:"-"` }
Config represents a configuration.
type Expect ¶
type Expect struct { protocol.AssertionBuilder // contains filtered or unexported fields }
Expect represents a expect response.
func (*Expect) UnmarshalYAML ¶
UnmarshalYAML implements yaml.Unmarshaler interface.
type JSONReportConfig ¶ added in v0.7.0
type JSONReportConfig struct {
Filename string `yaml:"filename,omitempty"`
}
JSONReportConfig represents a JSON report configuration.
type JUnitReportConfig ¶ added in v0.7.0
type JUnitReportConfig struct {
Filename string `yaml:"filename,omitempty"`
}
JUnitReportConfig represents a JUnit report configuration.
type OutputConfig ¶ added in v0.7.0
type OutputConfig struct { Verbose bool `yaml:"verbose,omitempty"` Colored *bool `yaml:"colored,omitempty"` Report ReportConfig `yaml:"report,omitempty"` }
OutputConfig represents a output configuration.
type PluginConfig ¶ added in v0.9.0
type PluginConfig struct {
Src string `yaml:"src,omitempty"`
}
PluginConfig represents a plugin configuration.
type ReportConfig ¶ added in v0.7.0
type ReportConfig struct { JSON JSONReportConfig `yaml:"json,omitempty"` JUnit JUnitReportConfig `yaml:"junit,omitempty"` }
ReportConfig represents a report configuration.
type Request ¶
Request represents a request.
func (*Request) UnmarshalYAML ¶
UnmarshalYAML implements yaml.Unmarshaler interface.
type RetryPolicy ¶
type RetryPolicy struct { Constant *RetryPolicyConstant `yaml:"constant"` Exponential *RetryPolicyExponential `yaml:"exponential"` }
RetryPolicy represents a retry policy.
type RetryPolicyConstant ¶
type RetryPolicyConstant struct { Interval string `yaml:"interval"` MaxElapsedTime *string `yaml:"maxElapsedTime"` MaxRetries *int `yaml:"maxRetries"` }
RetryPolicyConstant represents a constant retry policy.
type RetryPolicyExponential ¶
type RetryPolicyExponential struct { InitialInterval *string `yaml:"initialInterval"` Factor *float64 `yaml:"factor"` JitterFactor *float64 `yaml:"jitterFactor"` MaxInterval *string `yaml:"maxInterval"` MaxElapsedTime *string `yaml:"maxElapsedTime"` MaxRetries *int `yaml:"maxRetries"` }
RetryPolicyExponential represents a exponential retry policy.
type Scenario ¶
type Scenario struct { Title string `yaml:"title"` Description string `yaml:"description"` Plugins map[string]string `yaml:"plugins"` Vars map[string]interface{} `yaml:"vars"` Steps []*Step `yaml:"steps"` // The strict YAML decoder fails to decode if finds an unknown field. // Anchors is the field for enabling to define YAML anchors by avoiding the error. // This field doesn't need to hold some data because anchors expand by the decoder. Anchors anchors `yaml:"anchors"` Node ast.Node // contains filtered or unexported fields }
Scenario represents a test scenario.
func LoadScenarios ¶
LoadScenarios loads test scenarios from path.
func LoadScenariosFromReader ¶ added in v0.6.0
LoadScenariosFromReader loads test scenarios with io.Reader.
type Step ¶
type Step struct { Title string `yaml:"title"` Description string `yaml:"description"` Vars map[string]interface{} `yaml:"vars"` Protocol string `yaml:"protocol"` Request Request `yaml:"request"` Expect Expect `yaml:"expect"` Include string `yaml:"include"` Ref string `yaml:"ref"` Bind Bind `yaml:"bind"` Retry *RetryPolicy `yaml:"retry"` }
Step represents a step of scenario.
func (*Step) UnmarshalYAML ¶
UnmarshalYAML implements yaml.Unmarshaler interface.