Skip to content

Commit 9428b34

Browse files
authored
test: cover CSRF skipper behavior for non-HTMX POST (#20)
1 parent d603113 commit 9428b34

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

internal/middleware/csrf_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,21 @@ func TestCSRFMiddlewareRejectsPostWithoutToken(t *testing.T) {
2727
assert.Equal(t, http.StatusBadRequest, rec.Code)
2828
}
2929

30+
func TestCSRFMiddlewareSkipsNonHTMXPostWithoutToken(t *testing.T) {
31+
e := echo.New()
32+
e.Use(CSRF())
33+
e.POST("/submit", func(c echo.Context) error {
34+
return c.String(http.StatusOK, "ok")
35+
})
36+
37+
req := httptest.NewRequest(http.MethodPost, "/submit", strings.NewReader("x=1"))
38+
req.Header.Set(echo.HeaderContentType, echo.MIMEApplicationForm)
39+
rec := httptest.NewRecorder()
40+
e.ServeHTTP(rec, req)
41+
42+
assert.Equal(t, http.StatusOK, rec.Code)
43+
}
44+
3045
func TestCSRFMiddlewareAllowsPostWithTokenHeaderAndCookie(t *testing.T) {
3146
e := echo.New()
3247
e.Use(CSRF())

0 commit comments

Comments
 (0)