MCPcopy
hub / github.com/digitalocean/doctl / setUpZip

Function setUpZip

pkg/extract/extract_test.go:389–426  ·  view source on GitHub ↗
(t *testing.T, tmpDir string, files []string)

Source from the content-addressed store, hash-verified

387}
388
389func 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}

Callers 1

TestExtractZipFunction · 0.85

Calls 4

SprintfMethod · 0.80
CloseMethod · 0.80
CopyMethod · 0.80
CreateMethod · 0.65

Tested by

no test coverage detected