MCPcopy
hub / github.com/pocketbase/pocketbase / TestFileSystemUploadMultipart

Function TestFileSystemUploadMultipart

tools/filesystem/filesystem_test.go:221–269  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

219}
220
221func TestFileSystemUploadMultipart(t *testing.T) {
222 dir := createTestDir(t)
223 defer os.RemoveAll(dir)
224
225 // create multipart form file
226 body := new(bytes.Buffer)
227 mp := multipart.NewWriter(body)
228 w, err := mp.CreateFormFile("test", "test")
229 if err != nil {
230 t.Fatalf("Failed creating form file: %v", err)
231 }
232 w.Write([]byte("demo"))
233 mp.Close()
234
235 req := httptest.NewRequest(http.MethodPost, "/", body)
236 req.Header.Add("Content-Type", mp.FormDataContentType())
237
238 file, fh, err := req.FormFile("test")
239 if err != nil {
240 t.Fatalf("Failed to fetch form file: %v", err)
241 }
242 defer file.Close()
243 // ---
244
245 fsys, err := filesystem.NewLocal(dir)
246 if err != nil {
247 t.Fatal(err)
248 }
249 defer fsys.Close()
250
251 fileKey := "newdir/newkey.txt"
252
253 uploadErr := fsys.UploadMultipart(fh, fileKey)
254 if uploadErr != nil {
255 t.Fatal(uploadErr)
256 }
257
258 if exists, _ := fsys.Exists(fileKey); !exists {
259 t.Fatalf("Expected %q to exist", fileKey)
260 }
261
262 attrs, err := fsys.Attributes(fileKey)
263 if err != nil {
264 t.Fatalf("Failed to fetch file attributes: %v", err)
265 }
266 if name, ok := attrs.Metadata["original-filename"]; !ok || name != "test" {
267 t.Fatalf("Expected original-filename to be %q, got %q", "test", name)
268 }
269}
270
271func TestFileSystemUploadFile(t *testing.T) {
272 dir := createTestDir(t)

Callers

nothing calls this directly

Calls 11

CloseMethod · 0.95
NewLocalFunction · 0.92
NewWriterMethod · 0.80
UploadMultipartMethod · 0.80
createTestDirFunction · 0.70
CloseMethod · 0.65
AttributesMethod · 0.65
RemoveAllMethod · 0.45
WriteMethod · 0.45
AddMethod · 0.45
ExistsMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…