Documentation
¶
Overview ¶
Package servertest provides methods and types to test server.Handler implementations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var CheckAnyErrorStatus = CheckerFun(func(t *testing.T, response *http.Response, request *server.Request) {
t.Helper()
if response.StatusCode < 400 {
t.Errorf("Wrong status code. Got %d. Expect at least 400.", response.StatusCode)
}
})
var (
Unimplemented = errors.New("Unimplemented")
)
Functions ¶
func Run ¶
Run executes all the given tests on the given Handler.
The same handler is used for all tests. The tests are executed in the given order. The requests received by the handler are as if the handler had been registered for the pattern "/a/test".
Each test is executed inside testing.T.Run, hence calling t.Fatal in the checker abort only the current test.
Types ¶
type CheckError ¶ added in v0.0.4
CheckError checks the statusCode and error message of a response.
func (CheckError) Before ¶ added in v0.0.5
func (self CheckError) Before(t *testing.T)
type CheckJSON ¶ added in v0.0.4
type CheckJSON struct {
Code int // If zero, http.StatusOK is used instead.
Body interface{}
Partial bool // If true, Body may lack some field of the response.
}
CheckJSON checks that the response body is similar to the JSON marshaling of a given value.
type CheckStatus ¶ added in v0.0.4
type CheckStatus struct {
Code int
}
CheckStatus checks only the statusCode of a response.
func (CheckStatus) Before ¶ added in v0.0.5
func (self CheckStatus) Before(t *testing.T)
type Checker ¶
type Checker interface {
// Before is called at the beginning of each test, before the handler is called, but after the
// Update function.
Before(t *testing.T)
// Check is called at the end of each test, after the handler has been called. This method must
// check that the handler has done its job correctly.
Check(t *testing.T, response *http.Response, request *server.Request)
}
Checker checks that a given response is as expected.
type CheckerFun ¶ added in v0.0.4
func (CheckerFun) Before ¶ added in v0.0.5
func (self CheckerFun) Before(t *testing.T)
type ClientStore ¶
type ClientStore struct {
Codecs []securecookie.Codec
}
ClientStore is a sessions.Store that store sessions in client requests.
func NewClientStore ¶
func NewClientStore(keys ...[]byte) *ClientStore
func (*ClientStore) Save ¶
func (self *ClientStore) Save(r *http.Request, w http.ResponseWriter, session *sessions.Session) error
type MockResponse ¶ added in v0.0.5
type MockResponse struct {
T *testing.T
JsonFct func(*testing.T, context.Context, interface{})
ErrorFct func(*testing.T, context.Context, error)
LoginFct func(*testing.T, context.Context, server.User, *server.Request)
}
func (MockResponse) SendError ¶ added in v0.0.5
func (self MockResponse) SendError(ctx context.Context, err error)
func (MockResponse) SendJSON ¶ added in v0.0.5
func (self MockResponse) SendJSON(ctx context.Context, data interface{})