Documentation ¶
Index ¶
- Constants
- Variables
- type AfterContentFunc
- type AfterJsonFunc
- type AfterTextFunc
- type ExpectFunc
- type Frisby
- func (F *Frisby) AddError(err_str string) *Frisby
- func (F *Frisby) AddFile(filename string) *Frisby
- func (F *Frisby) AddFileByKey(key, filename string) *Frisby
- func (F *Frisby) AfterContent(foo AfterContentFunc) *Frisby
- func (F *Frisby) AfterJson(foo AfterJsonFunc) *Frisby
- func (F *Frisby) AfterText(foo AfterTextFunc) *Frisby
- func (F *Frisby) BasicAuth(user, passwd string) *Frisby
- func (F *Frisby) Delete(url string) *Frisby
- func (F *Frisby) Error() error
- func (F *Frisby) Errors() []error
- func (F *Frisby) Expect(foo ExpectFunc) *Frisby
- func (F *Frisby) ExpectContent(content string) *Frisby
- func (F *Frisby) ExpectHeader(key, value string) *Frisby
- func (F *Frisby) ExpectJson(path string, value interface{}) *Frisby
- func (F *Frisby) ExpectJsonLength(path string, length int) *Frisby
- func (F *Frisby) ExpectJsonType(path string, val_type reflect.Kind) *Frisby
- func (F *Frisby) ExpectStatus(code int) *Frisby
- func (F *Frisby) Get(url string) *Frisby
- func (F *Frisby) Head(url string) *Frisby
- func (F *Frisby) Options(url string) *Frisby
- func (F *Frisby) Patch(url string) *Frisby
- func (F *Frisby) PauseTest(t time.Duration) *Frisby
- func (F *Frisby) Post(url string) *Frisby
- func (F *Frisby) PrintBody() *Frisby
- func (F *Frisby) PrintGoTestReport() *Frisby
- func (F *Frisby) PrintReport() *Frisby
- func (F *Frisby) Put(url string) *Frisby
- func (F *Frisby) Send() *Frisby
- func (F *Frisby) SetCookie(key, value string) *Frisby
- func (F *Frisby) SetCookies(cookies map[string]string) *Frisby
- func (F *Frisby) SetData(key, value string) *Frisby
- func (F *Frisby) SetDatas(datas map[string]string) *Frisby
- func (F *Frisby) SetHeader(key, value string) *Frisby
- func (F *Frisby) SetHeaders(headers map[string]string) *Frisby
- func (F *Frisby) SetJson(json interface{}) *Frisby
- func (F *Frisby) SetParam(key, value string) *Frisby
- func (F *Frisby) SetParams(params map[string]string) *Frisby
- func (F *Frisby) SetProxy(url string) *Frisby
Examples ¶
Constants ¶
const DefaultPathSeparator = "."
Variables ¶
var Global global_data
Functions ¶
This section is empty.
Types ¶
type AfterContentFunc ¶
function type used as argument to AfterContent()
type AfterJsonFunc ¶
function type used as argument to AfterJson()
type AfterTextFunc ¶
function type used as argument to AfterText()
type ExpectFunc ¶
ExpectFunc function type used as argument to Expect()
type Frisby ¶
type Frisby struct { Name string Url string Method string Req *request.Request Resp *request.Response Errs []error ExecutionTime float64 }
func Create ¶
Creates a new Frisby object with the given name.
The given name will be used if you call PrintReport()
func (*Frisby) AddFileByKey ¶
Add a file to the Form data for the coming request
func (*Frisby) AfterContent ¶
func (F *Frisby) AfterContent(foo AfterContentFunc) *Frisby
AfterContent allows you to write your own functions for inspecting the body of the response. You are also provided with the Frisby object.
The function signiture is AfterContentFunc
type AfterContentFunc func(F *Frisby, content []byte, err error)
func (*Frisby) AfterJson ¶
func (F *Frisby) AfterJson(foo AfterJsonFunc) *Frisby
AfterJson allows you to write your own functions for inspecting the body of the response. You are also provided with the Frisby object.
The function signiture is AfterJsonFunc
type AfterJsonFunc func(F *Frisby, json *simplejson.Json, err error)
simplejson docs: https://github.com/bitly/go-simplejson
Example ¶
frisby.Create("Test AfterJson"). Post("http://httpbin.org/post"). Send(). ExpectStatus(200). AfterJson(func(F *frisby.Frisby, json *simplejson.Json, err error) { val, _ := json.Get("url").String() fmt.Println("url =", val) })
Output: url = http://httpbin.org/post
func (*Frisby) AfterText ¶
func (F *Frisby) AfterText(foo AfterTextFunc) *Frisby
AfterText allows you to write your own functions for inspecting the body of the response. You are also provided with the Frisby object.
The function signiture is AfterTextFunc
type AfterTextFunc func(F *Frisby, text string, err error)
func (*Frisby) Error ¶
Get the most recent error for the Frisby object
This function should be called last
func (*Frisby) Expect ¶
func (F *Frisby) Expect(foo ExpectFunc) *Frisby
Expect Checks according to the given function, which allows you to describe any kind of assertion.
func (*Frisby) ExpectContent ¶
Checks the response body for the given string
func (*Frisby) ExpectHeader ¶
Checks for header and if values match
func (*Frisby) ExpectJson ¶
ExpectJson uses the reflect.DeepEqual to compare the response JSON and the supplied JSON for structural and value equality
path can be a dot joined field names. ex: 'path.to.subobject.field'
Example ¶
package main import ( "github.com/verdverm/frisby" ) func main() { frisby.Create("Test ExpectJson"). Post("http://httpbin.org/post"). Send(). ExpectStatus(200). ExpectJson("url", "http://httpbin.org/post"). ExpectJson("headers.Accept", "*/*"). PrintReport() }
Output: Pass [Test ExpectJson]
func (*Frisby) ExpectJsonLength ¶
ExpectJsonLength checks if the JSON at path is an array and has the correct length
path can be a dot joined field names. ex: 'path.to.subobject.field'
func (*Frisby) ExpectJsonType ¶
ExpectJsonType checks if the types of the response JSON and the supplied JSON match
path can be a dot joined field names. ex: 'path.to.subobject.field'
Example ¶
package main import ( "reflect" "github.com/verdverm/frisby" ) func main() { frisby.Create("Test ExpectJsonType"). Post("http://httpbin.org/post"). Send(). ExpectStatus(200). ExpectJsonType("url", reflect.String). PrintReport() }
Output: Pass [Test ExpectJsonType]
func (*Frisby) ExpectStatus ¶
Checks the response status code
func (*Frisby) Get ¶
Set the HTTP method to GET for the given URL
Example ¶
package main import ( "github.com/verdverm/frisby" ) func main() { frisby.Create("Test GET Go homepage"). Get("http://golang.org"). Send(). ExpectStatus(200). ExpectContent("The Go Programming Language"). PrintReport() }
Output: Pass [Test GET Go homepage]
func (*Frisby) Post ¶
Set the HTTP method to POST for the given URL
Example ¶
package main import ( "github.com/verdverm/frisby" ) func main() { frisby.Create("Test POST"). Post("http://httpbin.org/post"). SetData("test_key", "test_value"). Send(). ExpectStatus(200). PrintReport() }
Output: Pass [Test POST]
func (*Frisby) PrintGoTestReport ¶
Prints a report for the Frisby Object in go_test format
If there are any errors, they will all be printed as well
func (*Frisby) PrintReport ¶
Prints a report for the Frisby Object
If there are any errors, they will all be printed as well
Example ¶
package main import ( "github.com/verdverm/frisby" ) func main() { frisby.Create("Test GET Go homepage"). Get("http://golang.org"). Send(). ExpectStatus(400). ExpectContent("A string which won't be found"). AddError("Manually Added Error"). PrintReport() }
Output: FAIL [Test GET Go homepage] - Expected Status 400, but got 200: "200 OK" - Expected Body to contain "A string which won't be found", but it was missing - Manually Added Error
func (*Frisby) SetCookies ¶
Set several Cookie values for the coming request
func (*Frisby) SetHeaders ¶
Set several Headers for the coming request