(t *testing.T, tmpDir string, files []string)
| 387 | } |
| 388 | |
| 389 | func setUpZip(t *testing.T, tmpDir string, files []string) string { |
| 390 | zipName := fmt.Sprintf("%s.zip", uuid.New()) |
| 391 | zipPath := filepath.Join(tmpDir, zipName) |
| 392 | zipFile, err := os.Create(zipPath) |
| 393 | require.NoError(t, err, "error creating tar file") |
| 394 | defer zipFile.Close() |
| 395 | |
| 396 | zipWriter := zip.NewWriter(zipFile) |
| 397 | defer zipWriter.Close() |
| 398 | |
| 399 | for _, f := range files { |
| 400 | path := filepath.Join(tmpDir, f) |
| 401 | if _, err := os.Stat(filepath.Dir(path)); os.IsNotExist(err) { |
| 402 | os.MkdirAll(filepath.Dir(path), 0700) |
| 403 | } |
| 404 | |
| 405 | file, err := os.Create(path) |
| 406 | require.NoError(t, err, "error creating test file") |
| 407 | defer file.Close() |
| 408 | |
| 409 | info, err := file.Stat() |
| 410 | require.NoError(t, err) |
| 411 | |
| 412 | header, err := zip.FileInfoHeader(info) |
| 413 | require.NoError(t, err) |
| 414 | |
| 415 | header.Name = f |
| 416 | |
| 417 | writer, err := zipWriter.CreateHeader(header) |
| 418 | require.NoError(t, err, "error writing zip") |
| 419 | |
| 420 | _, err = io.Copy(writer, file) |
| 421 | |
| 422 | require.NoError(t, err, "error writing file to zip") |
| 423 | } |
| 424 | |
| 425 | return zipPath |
| 426 | } |
no test coverage detected