MCPcopy
hub / github.com/gin-gonic/gin / TestSaveUploadedFileWithPermission

Function TestSaveUploadedFileWithPermission

context_test.go:235–257  ·  context_test.go::TestSaveUploadedFileWithPermission
(t *testing.T)

Source from the content-addressed store, hash-verified

233}
234
235func TestSaveUploadedFileWithPermission(t *testing.T) {
236 buf := new(bytes.Buffer)
237 mw := multipart.NewWriter(buf)
238 w, err := mw.CreateFormFile("file", "permission_test")
239 require.NoError(t, err)
240 _, err = w.Write([]byte("permission_test"))
241 require.NoError(t, err)
242 mw.Close()
243 c, _ := CreateTestContext(httptest.NewRecorder())
244 c.Request, _ = http.NewRequest(http.MethodPost, "/", buf)
245 c.Request.Header.Set("Content-Type", mw.FormDataContentType())
246 f, err := c.FormFile("file")
247 require.NoError(t, err)
248 assert.Equal(t, "permission_test", f.Filename)
249 var mode fs.FileMode = 0o755
250 require.NoError(t, c.SaveUploadedFile(f, "permission_test", mode))
251 t.Cleanup(func() {
252 assert.NoError(t, os.Remove("permission_test"))
253 })
254 info, err := os.Stat(filepath.Dir("permission_test"))
255 require.NoError(t, err)
256 assert.Equal(t, info.Mode().Perm(), mode)
257}
258
259func TestSaveUploadedFileWithPermissionFailed(t *testing.T) {
260 buf := new(bytes.Buffer)

Callers

nothing calls this directly

Calls 6

CreateTestContextFunction · 0.85
CloseMethod · 0.80
SetMethod · 0.80
FormFileMethod · 0.80
SaveUploadedFileMethod · 0.80
WriteMethod · 0.45

Tested by

no test coverage detected