Documentation
¶
Index ¶
- type Scenario
- func (s *Scenario) IGenerateARandomFloatInTheRangeToAndSaveItAs(from, to int, cacheKey string) error
- func (s *Scenario) IGenerateARandomIntInTheRangeToAndSaveItAs(from, to int, cacheKey string) error
- func (s *Scenario) IGenerateARandomStringOfLengthWithUnicodeCharactersAndSaveItAs(strLength int, cacheKey string) error
- func (s *Scenario) IGenerateARandomStringOfLengthWithoutUnicodeCharactersAndSaveItAs(strLength int, cacheKey string) error
- func (s Scenario) IPrepareNewRequestToAndSaveItAs(method, urlTemplate, cacheKey string) error
- func (s *Scenario) IPrintLastResponseBody() error
- func (s *Scenario) ISaveFromTheLastResponseJSONNodeAs(expr, cacheKey string) error
- func (s Scenario) ISendRequest(cacheKey string) error
- func (s *Scenario) ISendRequestToWithBodyAndHeaders(method, urlTemplate string, reqBody *godog.DocString) error
- func (s Scenario) ISetFollowingBodyForPreparedRequest(cacheKey string, bodyTemplate *godog.DocString) error
- func (s Scenario) ISetFollowingHeadersForPreparedRequest(cacheKey string, headersTemplate *godog.DocString) error
- func (s *Scenario) IStartDebugMode() error
- func (s *Scenario) IStopDebugMode() error
- func (s *Scenario) IValidateLastResponseBodyWithSchema(schemaPath string) error
- func (s *Scenario) IWait(timeInterval string) error
- func (s *Scenario) TheJSONNodeShouldBe(expr, goType string) error
- func (s *Scenario) TheJSONNodeShouldBeOfValue(expr, dataType, dataValue string) error
- func (s *Scenario) TheJSONNodeShouldBeSliceOfLength(expr string, length int) error
- func (s *Scenario) TheJSONNodeShouldNotBe(expr, goType string) error
- func (s *Scenario) TheJSONResponseShouldHaveNode(expr string) error
- func (s *Scenario) TheJSONResponseShouldHaveNodes(nodesExpr string) error
- func (s *Scenario) TheResponseBodyShouldHaveType(dataType string) error
- func (s *Scenario) TheResponseShouldHaveHeader(name string) error
- func (s *Scenario) TheResponseShouldHaveHeaderOfValue(name, value string) error
- func (s *Scenario) TheResponseStatusCodeShouldBe(code int) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Scenario ¶
type Scenario struct {
//State is responsible for data flow inside one scenario
State *gdutils.State
}
Scenario represents Scenario unit in context of godog framework
func (*Scenario) IGenerateARandomFloatInTheRangeToAndSaveItAs ¶
func (s *Scenario) IGenerateARandomFloatInTheRangeToAndSaveItAs(from, to int, cacheKey string) error
IGenerateARandomFloatInTheRangeToAndSaveItAs generates random float from provided range and preserve it under given name in cache
func (*Scenario) IGenerateARandomIntInTheRangeToAndSaveItAs ¶
IGenerateARandomIntInTheRangeToAndSaveItAs generates random integer from provided range and preserve it under given name in cache
func (*Scenario) IGenerateARandomStringOfLengthWithUnicodeCharactersAndSaveItAs ¶
func (s *Scenario) IGenerateARandomStringOfLengthWithUnicodeCharactersAndSaveItAs(strLength int, cacheKey string) error
IGenerateARandomStringOfLengthWithUnicodeCharactersAndSaveItAs generates random string of given length with unicode characters
func (*Scenario) IGenerateARandomStringOfLengthWithoutUnicodeCharactersAndSaveItAs ¶
func (s *Scenario) IGenerateARandomStringOfLengthWithoutUnicodeCharactersAndSaveItAs(strLength int, cacheKey string) error
IGenerateARandomStringOfLengthWithoutUnicodeCharactersAndSaveItAs generates random string of given length without unicode characters
func (Scenario) IPrepareNewRequestToAndSaveItAs ¶
IPrepareNewRequestToAndSaveItAs prepares new request and saves it in cache under cacheKey
func (*Scenario) IPrintLastResponseBody ¶
IPrintLastResponseBody prints response body from last scenario request
func (*Scenario) ISaveFromTheLastResponseJSONNodeAs ¶
ISaveFromTheLastResponseJSONNodeAs saves from last response json node under given cache key.
func (Scenario) ISendRequest ¶
ISendRequest sends previously prepared HTTP(s) request
func (*Scenario) ISendRequestToWithBodyAndHeaders ¶
func (s *Scenario) ISendRequestToWithBodyAndHeaders(method, urlTemplate string, reqBody *godog.DocString) error
ISendRequestToWithBodyAndHeaders sends HTTP(s) request with provided body and headers. Argument method indices HTTP(s) request method for example: "POST", "GET" etc. Argument urlTemplate should be full url path. May include template values. Argument bodyTemplate should be slice of bytes marshallable on bodyHeaders struct. May include template values
func (Scenario) ISetFollowingBodyForPreparedRequest ¶
func (s Scenario) ISetFollowingBodyForPreparedRequest(cacheKey string, bodyTemplate *godog.DocString) error
ISetFollowingBodyForPreparedRequest sets body for previously prepared request bodyTemplate may be in any format and accepts template values
func (Scenario) ISetFollowingHeadersForPreparedRequest ¶
func (s Scenario) ISetFollowingHeadersForPreparedRequest(cacheKey string, headersTemplate *godog.DocString) error
ISetFollowingHeadersForPreparedRequest sets provided headers for previously prepared request
func (*Scenario) IStartDebugMode ¶
IStartDebugMode starts debugging mode
func (*Scenario) IStopDebugMode ¶
IStopDebugMode stops debugging mode
func (*Scenario) IValidateLastResponseBodyWithSchema ¶ added in v1.0.1
IValidateLastResponseBodyWithSchema validates last response body against JSON schema as provided in schemaPath
func (*Scenario) IWait ¶
IWait waits for provided time interval amount of time timeInterval should be string valid for time.ParseDuration func
func (*Scenario) TheJSONNodeShouldBe ¶
TheJSONNodeShouldBe checks whether JSON node from last response body is of provided type goType may be one of: nil, string, int, float, bool, map, slice node should be expression acceptable by qjson package against JSON node from last response body
func (*Scenario) TheJSONNodeShouldBeOfValue ¶
TheJSONNodeShouldBeOfValue finds JSON node from provided expression and compares it to expected by user value of given by user type available data types are listed in switch section in each case directive
func (*Scenario) TheJSONNodeShouldBeSliceOfLength ¶
TheJSONNodeShouldBeSliceOfLength finds JSON node from provided expression and checks whether given JSON node is slice and has given length
func (*Scenario) TheJSONNodeShouldNotBe ¶
TheJSONNodeShouldNotBe checks whether JSON node from last response body is not of provided type goType may be one of: nil, string, int, float, bool, map, slice node should be expression acceptable by qjson package against JSON node from last response body
func (*Scenario) TheJSONResponseShouldHaveNode ¶
TheJSONResponseShouldHaveNode checks whether last response body contains given JSON node
func (*Scenario) TheJSONResponseShouldHaveNodes ¶
TheJSONResponseShouldHaveNodes checks whether last request body has keys defined in string separated by comma nodeExpr should be valid according to qjson library expressions separated by comma (,)
func (*Scenario) TheResponseBodyShouldHaveType ¶
TheResponseBodyShouldHaveType checks whether last response body has given data type available data types are listed as package constants
func (*Scenario) TheResponseShouldHaveHeader ¶
TheResponseShouldHaveHeader checks whether last HTTP response has given header
func (*Scenario) TheResponseShouldHaveHeaderOfValue ¶
TheResponseShouldHaveHeaderOfValue checks whether last HTTP response has given header with provided value
func (*Scenario) TheResponseStatusCodeShouldBe ¶
TheResponseStatusCodeShouldBe checks last response status code