Documentation
¶
Index ¶
- type Scenario
- func (s *Scenario) IGenerateARandomNumberInTheRangeFromToAndSaveItAs(numberType string, from, to int, cacheKey string) error
- func (s *Scenario) IGenerateARandomRunesOfLengthWithCharactersAndSaveItAs(from, to int, charset string, cacheKey string) error
- func (s *Scenario) IGenerateARandomSentenceInTheRangeFromToWordsAndSaveItAs(minWordLength, maxWordLength int) func(from, to int, charset string, cacheKey string) error
- func (s *Scenario) IGenerateCurrentTimeAndTravelByAndSaveItAs(timeDirection, timeDuration, cacheKey string) error
- func (s *Scenario) IGenerateRandomBoolValueAndSaveItAs(cacheKey string) error
- func (s Scenario) IPrepareNewRequestToAndSaveItAs(method, urlTemplate, cacheKey string) error
- func (s *Scenario) IPrintLastResponseBody() error
- func (s *Scenario) ISaveAs(value, cacheKey string) error
- func (s *Scenario) ISaveFromTheLastResponseNodeAs(dataFormat, 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) ISetFollowingCookiesForPreparedRequest(cacheKey string, cookies *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) IStopScenarioExecution() error
- func (s *Scenario) IValidateLastResponseBodyWithFollowingSchema(schemaBytes *godog.DocString) error
- func (s *Scenario) IValidateLastResponseBodyWithSchema(reference string) error
- func (s *Scenario) IValidateNodeWithSchemaReference(dataFormat, expr, reference string) error
- func (s *Scenario) IValidateNodeWithSchemaString(dataFormat, expr string, jsonSchema *godog.DocString) error
- func (s *Scenario) IWait(timeInterval string) error
- func (s *Scenario) TheNodeShouldBe(dataFormat, expr, goType string) error
- func (s *Scenario) TheNodeShouldBeOfValue(dataFormat, expr, dataType, dataValue string) error
- func (s *Scenario) TheNodeShouldBeSliceOfLength(dataFormat, expr string, length int) error
- func (s *Scenario) TheNodeShouldMatchRegExp(dataFormat, expr, regExpTemplate string) error
- func (s *Scenario) TheNodeShouldNotBe(dataFormat, expr, goType string) error
- func (s *Scenario) TheResponseBodyShouldHaveFormat(dataFormat string) error
- func (s *Scenario) TheResponseShouldHaveCookie(name string) error
- func (s *Scenario) TheResponseShouldHaveCookieOfValue(name, valueTemplate string) error
- func (s *Scenario) TheResponseShouldHaveHeader(name string) error
- func (s *Scenario) TheResponseShouldHaveHeaderOfValue(name, value string) error
- func (s *Scenario) TheResponseShouldHaveNode(dataFormat, expr string) error
- func (s *Scenario) TheResponseShouldHaveNodes(dataFormat, nodesExpr string) error
- func (s *Scenario) TheResponseStatusCodeShouldBe(code int) error
- func (s *Scenario) TimeBetweenLastHTTPRequestResponseShouldBeLessThanOrEqualTo(timeInterval string) 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) IGenerateARandomNumberInTheRangeFromToAndSaveItAs ¶ added in v1.0.12
func (s *Scenario) IGenerateARandomNumberInTheRangeFromToAndSaveItAs(numberType string, from, to int, cacheKey string) error
IGenerateARandomNumberInTheRangeFromToAndSaveItAs generates random number from provided range and preserve it in scenario cache under provided cacheKey.
func (*Scenario) IGenerateARandomRunesOfLengthWithCharactersAndSaveItAs ¶ added in v1.0.11
func (s *Scenario) IGenerateARandomRunesOfLengthWithCharactersAndSaveItAs(from, to int, charset string, cacheKey string) error
IGenerateARandomRunesOfLengthWithCharactersAndSaveItAs creates random runes generator func using provided charset. Returned func creates runes from provided range and preserve it under given cacheKey in scenario cache.
func (*Scenario) IGenerateARandomSentenceInTheRangeFromToWordsAndSaveItAs ¶ added in v1.0.8
func (s *Scenario) IGenerateARandomSentenceInTheRangeFromToWordsAndSaveItAs(minWordLength, maxWordLength int) func(from, to int, charset string, cacheKey string) error
IGenerateARandomSentenceInTheRangeFromToWordsAndSaveItAs creates generator func for creating random sentences. Each sentence has length from - to as provided in params and is saved in scenario cache under provided cacheKey.
func (*Scenario) IGenerateCurrentTimeAndTravelByAndSaveItAs ¶ added in v1.0.12
func (s *Scenario) IGenerateCurrentTimeAndTravelByAndSaveItAs(timeDirection, timeDuration, cacheKey string) error
IGenerateCurrentTimeAndTravelByAndSaveItAs creates current time object, move timeDuration in time and save it in cache under given cacheKey.
func (*Scenario) IGenerateRandomBoolValueAndSaveItAs ¶ added in v1.0.15
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) ISaveFromTheLastResponseNodeAs ¶ added in v1.0.16
ISaveFromTheLastResponseNodeAs 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
ISendRequestToWithFormatBodyAndHeaders sends HTTP(s) requests with provided body and headers. Argument "method" indices HTTP request method for example: "POST", "GET" etc. Argument "urlTemplate" should be full valid URL. May include template values. Argument "bodyTemplate" should contain data (may include template values) in JSON or YAML format with keys "body" and "headers".
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) ISetFollowingCookiesForPreparedRequest ¶ added in v1.0.14
func (s Scenario) ISetFollowingCookiesForPreparedRequest(cacheKey string, cookies *godog.DocString) error
ISetFollowingCookiesForPreparedRequest sets cookies for previously prepared request cookies template should be YAML or JSON deserializable on []http.Cookie
func (Scenario) ISetFollowingHeadersForPreparedRequest ¶
func (s Scenario) ISetFollowingHeadersForPreparedRequest(cacheKey string, headersTemplate *godog.DocString) error
ISetFollowingHeadersForPreparedRequest sets provided headers for previously prepared request. incoming data should be in format acceptable by injected s.State.Deserializer
func (*Scenario) IStartDebugMode ¶
IStartDebugMode starts debugging mode
func (*Scenario) IStopDebugMode ¶
IStopDebugMode stops debugging mode
func (*Scenario) IStopScenarioExecution ¶ added in v1.0.12
IStopScenarioExecution stops scenario execution
func (*Scenario) IValidateLastResponseBodyWithFollowingSchema ¶ added in v1.0.8
IValidateLastResponseBodyWithFollowingSchema validates last response body against JSON schema provided by user.
func (*Scenario) IValidateLastResponseBodyWithSchema ¶ added in v1.0.1
IValidateLastResponseBodyWithSchema validates last response body against JSON schema under provided reference. reference may be:
- full OS path to JSON schema
- relative path from JSON schema's dir which was passed in main_test to initialize *Scenario struct instance,
- URL
func (*Scenario) IValidateNodeWithSchemaReference ¶ added in v1.0.16
IValidateNodeWithSchemaReference validates last response body node against schema as provided in reference
func (*Scenario) IValidateNodeWithSchemaString ¶ added in v1.0.16
func (s *Scenario) IValidateNodeWithSchemaString(dataFormat, expr string, jsonSchema *godog.DocString) error
IValidateNodeWithSchemaString validates last response body JSON node against schema
func (*Scenario) IWait ¶
IWait waits for provided time interval amount of time timeInterval should be string valid for time.ParseDuration func, for example: 3s, 1h, 30ms
func (*Scenario) TheNodeShouldBe ¶ added in v1.0.16
TheNodeShouldBe checks whether node from last response body is of provided type goType may be one of: nil, string, int, float, bool, map, slice expr should be valid according to injected PathResolver
func (*Scenario) TheNodeShouldBeOfValue ¶ added in v1.0.16
TheNodeShouldBeOfValue compares json node value from expression to expected by user dataValue of given by user dataType Available data types are listed in switch section in each case directive. expr should be valid according to injected PathFinder for provided dataFormat.
func (*Scenario) TheNodeShouldBeSliceOfLength ¶ added in v1.0.16
TheNodeShouldBeSliceOfLength checks whether given key is slice and has given length expr should be valid according to injected PathFinder for provided dataFormat
func (*Scenario) TheNodeShouldMatchRegExp ¶ added in v1.0.16
TheNodeShouldMatchRegExp checks whether last response body node matches provided regExp.
func (*Scenario) TheNodeShouldNotBe ¶ added in v1.0.16
TheNodeShouldNotBe checks whether node from last response body is not of provided type. goType may be one of: nil, string, int, float, bool, map, slice, expr should be valid according to injected PathFinder for given data format.
func (*Scenario) TheResponseBodyShouldHaveFormat ¶ added in v1.0.12
TheResponseBodyShouldHaveFormat checks whether last response body has given data format. Available data formats are listed in format package.
func (*Scenario) TheResponseShouldHaveCookie ¶ added in v1.0.14
TheResponseShouldHaveCookie checks whether last HTTP(s) response has cookie of given name.
func (*Scenario) TheResponseShouldHaveCookieOfValue ¶ added in v1.0.14
TheResponseShouldHaveCookieOfValue checks whether last HTTP(s) response has cookie of given name and value.
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) TheResponseShouldHaveNode ¶ added in v1.0.16
TheResponseShouldHaveNode checks whether last response body contains given node. expr should be valid according to injected PathFinder for given data format
func (*Scenario) TheResponseShouldHaveNodes ¶ added in v1.0.16
TheResponseShouldHaveNodes checks whether last request body has keys defined in string separated by comma nodeExprs should be valid according to injected PathFinder expressions separated by comma (,)
func (*Scenario) TheResponseStatusCodeShouldBe ¶
TheResponseStatusCodeShouldBe checks last response status code.
func (*Scenario) TimeBetweenLastHTTPRequestResponseShouldBeLessThanOrEqualTo ¶ added in v1.0.12
func (s *Scenario) TimeBetweenLastHTTPRequestResponseShouldBeLessThanOrEqualTo(timeInterval string) error
TimeBetweenLastHTTPRequestResponseShouldBeLessThanOrEqualTo asserts that last HTTP request-response time is <= than expected timeInterval. timeInterval should be string acceptable by time.ParseDuration func