...

Source file src/edge-infra.dev/pkg/edge/datasync/internal/compressor/gzip_test.go

Documentation: edge-infra.dev/pkg/edge/datasync/internal/compressor

     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  	//t.Logf("file content after decompress: %v", string(result))
    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  	//t.Logf("file content after decompress: \n%v", string(result))
    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