MCPcopy
hub / github.com/gofiber/fiber / Test_App_MethodNotAllowed

Function Test_App_MethodNotAllowed

app_test.go:183–233  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

181}
182
183func Test_App_MethodNotAllowed(t *testing.T) {
184 t.Parallel()
185 app := New()
186
187 app.Use(func(c Ctx) error {
188 return c.Next()
189 })
190
191 app.Post("/", testEmptyHandler)
192
193 app.Options("/", testEmptyHandler)
194
195 resp, err := app.Test(httptest.NewRequest(MethodPost, "/", http.NoBody))
196 require.NoError(t, err)
197 require.Equal(t, 200, resp.StatusCode)
198 require.Empty(t, resp.Header.Get(HeaderAllow))
199
200 resp, err = app.Test(httptest.NewRequest(MethodGet, "/", http.NoBody))
201 require.NoError(t, err)
202 require.Equal(t, 405, resp.StatusCode)
203 require.Equal(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow))
204
205 resp, err = app.Test(httptest.NewRequest(MethodPatch, "/", http.NoBody))
206 require.NoError(t, err)
207 require.Equal(t, 405, resp.StatusCode)
208 require.Equal(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow))
209
210 resp, err = app.Test(httptest.NewRequest(MethodPut, "/", http.NoBody))
211 require.NoError(t, err)
212 require.Equal(t, 405, resp.StatusCode)
213 require.Equal(t, "POST, OPTIONS", resp.Header.Get(HeaderAllow))
214
215 app.Get("/", testEmptyHandler)
216
217 resp, err = app.Test(httptest.NewRequest(MethodTrace, "/", http.NoBody))
218 require.NoError(t, err)
219 require.Equal(t, 405, resp.StatusCode)
220 require.Equal(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow))
221
222 resp, err = app.Test(httptest.NewRequest(MethodPatch, "/", http.NoBody))
223 require.NoError(t, err)
224 require.Equal(t, 405, resp.StatusCode)
225 require.Equal(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow))
226
227 app.Head("/", testEmptyHandler)
228
229 resp, err = app.Test(httptest.NewRequest(MethodPut, "/", http.NoBody))
230 require.NoError(t, err)
231 require.Equal(t, 405, resp.StatusCode)
232 require.Equal(t, "GET, HEAD, POST, OPTIONS", resp.Header.Get(HeaderAllow))
233}
234
235func Test_App_QueryMethod_AllowHeader(t *testing.T) {
236 t.Parallel()

Callers

nothing calls this directly

Calls 8

TestMethod · 0.80
NewFunction · 0.70
UseMethod · 0.65
NextMethod · 0.65
PostMethod · 0.65
OptionsMethod · 0.65
GetMethod · 0.65
HeadMethod · 0.65

Tested by

no test coverage detected