package compressor_test import ( "os" "testing" "github.com/stretchr/testify/require" "edge-infra.dev/pkg/edge/datasync/internal/compressor" ) func cleanup() { os.Remove("testdata/gzip-json.msg") os.Remove("testdata/test.txt") } func Test_GzipSimpleText(t *testing.T) { cleanup() original := "bird and frog" err := compressor.CompressToFile("testdata/gzip-json.msg", []byte(original)) require.Nil(t, err) _, err = compressor.ReadDecompressedContent("testdata/gzip-json.msg") require.Nil(t, err) //t.Logf("file content after decompress: %v", string(result)) cleanup() } func Test_GzipJson(t *testing.T) { cleanup() original, _ := os.ReadFile("testdata/tlog.json") err := compressor.CompressToFile("testdata/gzip-json.msg", original) require.Nil(t, err) _, err = compressor.ReadDecompressedContent("testdata/gzip-json.msg") require.Nil(t, err) //t.Logf("file content after decompress: \n%v", string(result)) cleanup() } func TestReadCompressedContent(t *testing.T) { cleanup() original := "bird and frog" err := compressor.CompressToFile("testdata/gzip-json.msg", []byte(original)) require.Nil(t, err) result, _ := compressor.ReadCompressedContent("testdata/gzip-json.msg") 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)) err = os.WriteFile("testdata/test.txt", result, 0644) require.Nil(t, err) decompressed, err := compressor.ReadDecompressedContent("testdata/test.txt") require.Nil(t, err) require.Equal(t, original, string(decompressed)) cleanup() } func BenchmarkCompressJsonToFile(b *testing.B) { cleanup() original, _ := os.ReadFile("testdata/tlog.json") for i := 0; i < b.N; i++ { _ = compressor.CompressToFile("testdata/gzip-json.msg", original) } cleanup() }