httptester

package module
v0.0.0-...-ba29091 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2020 License: MIT Imports: 11 Imported by: 0

README

httptester

Go HTTP testing DSL

Example

GET("/").Do().Status(409).Contains("Already exists")

result := &SearchResult{}
GET("/search").Q("query", "test").Do().Status(200).JSON(&result)

newArticle := &Article{}
POST("/articles/").JSON(&Article{
  Title: "Test",
  Content: "Lorem ipsum",
}).Do().Status(201).JSON(&newArticle)

See request_test.go for more info.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ReqBuilder

type ReqBuilder struct {
	// contains filtered or unexported fields
}

func NewReqBuilder

func NewReqBuilder(baseURL string, client *http.Client, onError func(error)) *ReqBuilder

func (*ReqBuilder) AfterRequest

func (b *ReqBuilder) AfterRequest(f func(req *http.Request, res *http.Response, err error)) *ReqBuilder

func (*ReqBuilder) Auth

func (b *ReqBuilder) Auth(auth string) *ReqBuilder

func (*ReqBuilder) Basic

func (b *ReqBuilder) Basic(username string, password string) *ReqBuilder

func (*ReqBuilder) Bearer

func (b *ReqBuilder) Bearer(bearer string) *ReqBuilder

func (*ReqBuilder) BeforeRequest

func (b *ReqBuilder) BeforeRequest(f func(req *http.Request)) *ReqBuilder

func (*ReqBuilder) BeforeWithRequest

func (b *ReqBuilder) BeforeWithRequest(f func(req *http.Request) *http.Request) *ReqBuilder

func (*ReqBuilder) Body

func (b *ReqBuilder) Body(reader io.Reader) *ReqBuilder

func (*ReqBuilder) DELETE

func (b *ReqBuilder) DELETE(url string) *ReqBuilder

func (*ReqBuilder) Do

func (b *ReqBuilder) Do() *Response

func (*ReqBuilder) File

func (b *ReqBuilder) File(fieldName string, fileName string, reader io.Reader, extra map[string]string) *ReqBuilder

func (*ReqBuilder) Form

func (b *ReqBuilder) Form(args ...string) *ReqBuilder

func (*ReqBuilder) GET

func (b *ReqBuilder) GET(url string) *ReqBuilder

func (*ReqBuilder) Header

func (b *ReqBuilder) Header(args ...string) *ReqBuilder

func (*ReqBuilder) JSON

func (b *ReqBuilder) JSON(j interface{}) *ReqBuilder

func (*ReqBuilder) Method

func (b *ReqBuilder) Method(method string, url string) *ReqBuilder

func (*ReqBuilder) NoFollow

func (b *ReqBuilder) NoFollow() *ReqBuilder

func (*ReqBuilder) OnError

func (b *ReqBuilder) OnError(f func(error)) *ReqBuilder

func (*ReqBuilder) POST

func (b *ReqBuilder) POST(url string) *ReqBuilder

func (*ReqBuilder) PUT

func (b *ReqBuilder) PUT(url string) *ReqBuilder

func (*ReqBuilder) Q

func (b *ReqBuilder) Q(args ...string) *ReqBuilder

type Response

type Response struct {
	*http.Response

	Body []byte
	URL  *url.URL
	// contains filtered or unexported fields
}

func NewResponse

func NewResponse(res *http.Response, req *http.Request, onError func(error)) *Response

func (*Response) BodyStr

func (r *Response) BodyStr() string

func (*Response) Contains

func (r *Response) Contains(substr string) *Response

func (*Response) Eq

func (r *Response) Eq(substr string) *Response

func (*Response) HeaderEq

func (r *Response) HeaderEq(key string, value string) *Response

func (*Response) JSON

func (r *Response) JSON(j interface{}) interface{}

func (*Response) Status

func (r *Response) Status(statuses ...int) *Response

func (*Response) XML

func (r *Response) XML(j interface{}) interface{}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL