]> git.giacomolli.uk - onechat/blob - backup_archive_helper_test.go
Back up the daemon and restore its data
[onechat] / backup_archive_helper_test.go
1 package main
2
3 import (
4         "archive/tar"
5         "compress/gzip"
6         "os"
7         "path/filepath"
8         "testing"
9
10         "github.com/stretchr/testify/require"
11 )
12
13 func backupTestArchive(t *testing.T, headers ...tar.Header) string {
14         t.Helper()
15
16         path := filepath.Join(t.TempDir(), "input.tar.gz")
17         file, err := os.Create(path)
18         require.NoError(t, err)
19
20         compressed := gzip.NewWriter(file)
21
22         archive := tar.NewWriter(compressed)
23         for _, header := range headers {
24                 require.NoError(t, archive.WriteHeader(&header))
25         }
26
27         require.NoError(t, archive.Close())
28         require.NoError(t, compressed.Close())
29         require.NoError(t, file.Close())
30
31         return path
32 }