testutil

package
v2.1.21 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterResponseHandler

func RegisterResponseHandler(mime string, handler ResponseHandler)

Types

type CompletedRequest

type CompletedRequest struct {
	Recorder *httptest.ResponseRecorder

	// When set to true, decoders will be more strict. In the default JSON
	// recorder, unknown fields will cause errors.
	Strict bool
}

This is the result of calling Go() on the request builder. We're wrapping the ResponseRecorder with some nice helper functions.

func (*CompletedRequest) Code

func (c *CompletedRequest) Code() int

Shortcut for response code

func (*CompletedRequest) DisallowUnknownFields

func (c *CompletedRequest) DisallowUnknownFields()

func (*CompletedRequest) UnmarshalBodyToObject

func (c *CompletedRequest) UnmarshalBodyToObject(obj interface{}) error

This function takes a destination object as input, and unmarshals the object in the response based on the Content-Type header.

func (*CompletedRequest) UnmarshalJsonToObject

func (c *CompletedRequest) UnmarshalJsonToObject(obj interface{}) error

This function assumes that the response contains JSON and unmarshals it into the specified object.

type RequestBuilder

type RequestBuilder struct {
	Method  string
	Path    string
	Headers map[string]string
	Body    []byte
	Error   error
	Cookies []*http.Cookie
}

This structure caches request settings as we build up the request.

func NewRequest

func NewRequest() *RequestBuilder

func (*RequestBuilder) Delete

func (r *RequestBuilder) Delete(path string) *RequestBuilder

func (*RequestBuilder) Get

func (r *RequestBuilder) Get(path string) *RequestBuilder

func (*RequestBuilder) Go

func (r *RequestBuilder) Go(t *testing.T, e *echo.Echo) *CompletedRequest

Go performs the request, it takes a pointer to a testing context to print messages, and a pointer to an echo context for request handling.

func (*RequestBuilder) GoWithHTTPHandler

func (r *RequestBuilder) GoWithHTTPHandler(t *testing.T, handler http.Handler) *CompletedRequest

GoWithHTTPHandler performs the request, it takes a pointer to a testing context to print messages, and a http handler for request handling.

func (*RequestBuilder) Patch

func (r *RequestBuilder) Patch(path string) *RequestBuilder

func (*RequestBuilder) Post

func (r *RequestBuilder) Post(path string) *RequestBuilder

func (*RequestBuilder) Put

func (r *RequestBuilder) Put(path string) *RequestBuilder

func (*RequestBuilder) WithAccept

func (r *RequestBuilder) WithAccept(value string) *RequestBuilder

func (*RequestBuilder) WithAcceptJson

func (r *RequestBuilder) WithAcceptJson() *RequestBuilder

func (*RequestBuilder) WithBody

func (r *RequestBuilder) WithBody(body []byte) *RequestBuilder

func (*RequestBuilder) WithContentType

func (r *RequestBuilder) WithContentType(value string) *RequestBuilder

func (*RequestBuilder) WithCookie

func (r *RequestBuilder) WithCookie(c *http.Cookie) *RequestBuilder

Cookie operations

func (*RequestBuilder) WithCookieNameValue

func (r *RequestBuilder) WithCookieNameValue(name, value string) *RequestBuilder

func (*RequestBuilder) WithHeader

func (r *RequestBuilder) WithHeader(header, value string) *RequestBuilder

Header operations

func (*RequestBuilder) WithHost

func (r *RequestBuilder) WithHost(value string) *RequestBuilder

func (*RequestBuilder) WithJWSAuth

func (r *RequestBuilder) WithJWSAuth(jws string) *RequestBuilder

func (*RequestBuilder) WithJsonBody

func (r *RequestBuilder) WithJsonBody(obj interface{}) *RequestBuilder

This function takes an object as input, marshals it to JSON, and sends it as the body with Content-Type: application/json

func (*RequestBuilder) WithJsonContentType

func (r *RequestBuilder) WithJsonContentType() *RequestBuilder

func (*RequestBuilder) WithMethod

func (r *RequestBuilder) WithMethod(method string, path string) *RequestBuilder

Path operations

type ResponseHandler

type ResponseHandler func(contentType string, raw io.Reader, obj interface{}, strict bool) error

Jump to

Keyboard shortcuts

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