(t *testing.T)
| 320 | } |
| 321 | |
| 322 | func TestSaveMultipartFile(t *testing.T) { |
| 323 | t.Parallel() |
| 324 | |
| 325 | filea := "This is a test file." |
| 326 | fileb := strings.Repeat("test", 64) |
| 327 | |
| 328 | mr := multipart.NewReader(strings.NewReader(""+ |
| 329 | "--foo\r\n"+ |
| 330 | "Content-Disposition: form-data; name=\"filea\"; filename=\"filea.txt\"\r\n"+ |
| 331 | "Content-Type: text/plain\r\n"+ |
| 332 | "\r\n"+ |
| 333 | filea+"\r\n"+ |
| 334 | "--foo\r\n"+ |
| 335 | "Content-Disposition: form-data; name=\"fileb\"; filename=\"fileb.txt\"\r\n"+ |
| 336 | "Content-Type: text/plain\r\n"+ |
| 337 | "\r\n"+ |
| 338 | fileb+"\r\n"+ |
| 339 | "--foo--\r\n", |
| 340 | ), "foo") |
| 341 | |
| 342 | f, err := mr.ReadForm(64) |
| 343 | if err != nil { |
| 344 | t.Fatal(err) |
| 345 | } |
| 346 | |
| 347 | if err := SaveMultipartFile(f.File["filea"][0], "filea.txt"); err != nil { |
| 348 | t.Fatal(err) |
| 349 | } |
| 350 | defer os.Remove("filea.txt") |
| 351 | |
| 352 | if c, err := os.ReadFile("filea.txt"); err != nil { |
| 353 | t.Fatal(err) |
| 354 | } else if string(c) != filea { |
| 355 | t.Fatalf("filea changed expected %q got %q", filea, c) |
| 356 | } |
| 357 | |
| 358 | // Make sure fileb was saved to a file. |
| 359 | if ff, err := f.File["fileb"][0].Open(); err != nil { |
| 360 | t.Fatal("expected FileHeader.Open to work") |
| 361 | } else if _, ok := ff.(*os.File); !ok { |
| 362 | t.Fatal("expected fileb to be an os.File") |
| 363 | } else { |
| 364 | ff.Close() |
| 365 | } |
| 366 | |
| 367 | if err := SaveMultipartFile(f.File["fileb"][0], "fileb.txt"); err != nil { |
| 368 | t.Fatal(err) |
| 369 | } |
| 370 | defer os.Remove("fileb.txt") |
| 371 | |
| 372 | if c, err := os.ReadFile("fileb.txt"); err != nil { |
| 373 | t.Fatal(err) |
| 374 | } else if string(c) != fileb { |
| 375 | t.Fatalf("fileb changed expected %q got %q", fileb, c) |
| 376 | } |
| 377 | } |
| 378 | |
| 379 | func TestServerName(t *testing.T) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…