...
1 package compressor_test
2
3 import (
4 "os"
5 "testing"
6
7 "github.com/stretchr/testify/require"
8
9 "edge-infra.dev/pkg/edge/datasync/internal/compressor"
10 )
11
12 func cleanup() {
13 os.Remove("testdata/gzip-json.msg")
14 os.Remove("testdata/test.txt")
15 }
16 func Test_GzipSimpleText(t *testing.T) {
17 cleanup()
18
19 original := "bird and frog"
20
21 err := compressor.CompressToFile("testdata/gzip-json.msg", []byte(original))
22 require.Nil(t, err)
23 _, err = compressor.ReadDecompressedContent("testdata/gzip-json.msg")
24 require.Nil(t, err)
25
26
27 cleanup()
28 }
29
30 func Test_GzipJson(t *testing.T) {
31 cleanup()
32
33 original, _ := os.ReadFile("testdata/tlog.json")
34
35 err := compressor.CompressToFile("testdata/gzip-json.msg", original)
36 require.Nil(t, err)
37
38 _, err = compressor.ReadDecompressedContent("testdata/gzip-json.msg")
39 require.Nil(t, err)
40
41
42 cleanup()
43 }
44
45 func TestReadCompressedContent(t *testing.T) {
46 cleanup()
47
48 original := "bird and frog"
49
50 err := compressor.CompressToFile("testdata/gzip-json.msg", []byte(original))
51 require.Nil(t, err)
52
53 result, _ := compressor.ReadCompressedContent("testdata/gzip-json.msg")
54
55 require.Equal(t, "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xffJ\xca,JQH\xccKQH+\xcaO\a\x04\x00\x00\xff\xff2\xd0t\xc5\r\x00\x00\x00", string(result))
56
57 err = os.WriteFile("testdata/test.txt", result, 0644)
58 require.Nil(t, err)
59
60 decompressed, err := compressor.ReadDecompressedContent("testdata/test.txt")
61 require.Nil(t, err)
62 require.Equal(t, original, string(decompressed))
63
64 cleanup()
65 }
66
67 func BenchmarkCompressJsonToFile(b *testing.B) {
68 cleanup()
69
70 original, _ := os.ReadFile("testdata/tlog.json")
71
72 for i := 0; i < b.N; i++ {
73 _ = compressor.CompressToFile("testdata/gzip-json.msg", original)
74 }
75
76 cleanup()
77 }
78
View as plain text