Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Endpoint ¶
type Endpoint struct { FileName string `yaml:"-" json:"-"` // FileName is the name of the file that contains the definition FullPath string `yaml:"-" json:"-"` // FullPath is the full path of the file that contains the definition Name string `yaml:"name" json:"name" validate:"required"` // Name is the name of the endpoint IsEnabled bool `yaml:"enabled" json:"enabled"` // IsEnabled is a boolean that indicates if the endpoint is enabled (not contained in the definition) BaseUrl string `yaml:"base_url" json:"baseUrl" validate:"required"` // BaseUrl is the base path of the endpoint ExcludedValidators []string `yaml:"excluded_validators" json:"excludedValidators"` // ExcludedValidators is a list of validators that should not be used for this endpoint QueryParameters []query.Definition `yaml:"query_parameters" json:"queryParameters"` // QueryParameters are all the query parameters that should be added to the call Format string `yaml:"format" json:"format" validate:"required"` // Format is the response format of the Variables []Variable `yaml:"variables" json:"variables"` // Variables are all the variables that should be interpolated in the base url and the query parameters ResponseSchema []SchemaEntry `yaml:"response_schema" json:"responseSchema" validate:"required"` // ResponseSchema describes how the response should look like }
Endpoint is the definition of an endpoint to test with all its query parameters, variables and its result schema
type SchemaEntry ¶
type SchemaEntry struct { Name string `yaml:"name" json:"name" validate:"required"` // Name is the name of the field Type string `yaml:"type" json:"type" validate:"required"` // Type is the type of the field Minimum interface{} `yaml:"min" json:"min"` // Minimum is the minimum allowed value of the field Maximum interface{} `yaml:"max" json:"max"` // Maximum is the maximum allowed value of the field IsRequired bool `yaml:"required" json:"required" validate:"required"` // Required is true if the field is required (not null or not empty in case of an array) Fields []SchemaEntry `yaml:"fields" json:"fields" validate:"required"` // Fields describe the children of this field if the field is an object or array }
SchemaEntry is a field definition of the response
type Variable ¶
type Variable struct { Name string `yaml:"name" json:"name" validate:"required"` // Name is the name of the variable IsConstant bool `yaml:"constant" json:"constant" validate:"required"` // IsConstant is true if the value of the variable is constant or else false Values []string `yaml:"values" json:"values" validate:"required"` // Values are all the possible values of the variable (only 1 in case of a constant) }
Variable describes a variable that should be interpolated in the base url and the query parameters
type VariableMap ¶
VariableMap is a map of variables that will be generated from a collection of EndpointParameter and will be used when executing the go template
func (VariableMap) Env ¶
func (m VariableMap) Env(key string) string
Env is a function that returns the value of a given environment variable
func (VariableMap) Now ¶
func (m VariableMap) Now(format string) string
Now is a function that returns the current time in the given format (see Time.Format)
Click to show internal directories.
Click to hide internal directories.