| Index: server/auth/xsrf/xsrf_test.go
|
| diff --git a/server/auth/xsrf/xsrf_test.go b/server/auth/xsrf/xsrf_test.go
|
| index fbda5788f4e6d1e68da6e44a757e93fa7999ee45..952872fbe7eb7a26bb2910fffde0fc07759c9748 100644
|
| --- a/server/auth/xsrf/xsrf_test.go
|
| +++ b/server/auth/xsrf/xsrf_test.go
|
| @@ -17,6 +17,7 @@ import (
|
| "golang.org/x/net/context"
|
|
|
| "github.com/luci/luci-go/common/clock/testclock"
|
| + "github.com/luci/luci-go/server/router"
|
| "github.com/luci/luci-go/server/secrets/testsecrets"
|
|
|
| . "github.com/smartystreets/goconvey/convey"
|
| @@ -42,26 +43,34 @@ func TestXsrf(t *testing.T) {
|
| c := makeContext()
|
| tok, _ := Token(c)
|
|
|
| - h := WithTokenCheck(func(c context.Context, rw http.ResponseWriter, r *http.Request, p httprouter.Params) {
|
| - rw.Write([]byte("hi"))
|
| - })
|
| + initialize := func(c context.Context, rw http.ResponseWriter, r *http.Request, p httprouter.Params) router.Handler {
|
| + return func(ctx *router.Context) {
|
| + ctx.Context = c
|
| + ctx.Writer = rw
|
| + ctx.Request = r
|
| + ctx.Params = p
|
| + }
|
| + }
|
| + handler := func(c *router.Context) {
|
| + c.Writer.Write([]byte("hi"))
|
| + }
|
|
|
| // Has token -> works.
|
| rec := httptest.NewRecorder()
|
| req := makeRequest(tok)
|
| - h(c, rec, req, nil)
|
| + router.ChainHandlers(initialize(c, rec, req, nil), WithTokenCheck(), handler)()
|
| So(rec.Code, ShouldEqual, 200)
|
|
|
| // No token.
|
| rec = httptest.NewRecorder()
|
| req = makeRequest("")
|
| - h(c, rec, req, nil)
|
| + router.ChainHandlers(initialize(c, rec, req, nil), WithTokenCheck(), handler)()
|
| So(rec.Code, ShouldEqual, 403)
|
|
|
| // Bad token.
|
| rec = httptest.NewRecorder()
|
| req = makeRequest("blah")
|
| - h(c, rec, req, nil)
|
| + router.ChainHandlers(initialize(c, rec, req, nil), WithTokenCheck(), handler)()
|
| So(rec.Code, ShouldEqual, 403)
|
| })
|
| }
|
|
|