p_guerrilla_db_redis_test.go 763 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package backends
  2. import (
  3. "bytes"
  4. "compress/zlib"
  5. "fmt"
  6. "io"
  7. "strings"
  8. "testing"
  9. )
  10. func TestCompressedData(t *testing.T) {
  11. var b bytes.Buffer
  12. var out bytes.Buffer
  13. str := "Hello Hello Hello Hello Hello Hello Hello!"
  14. sbj := "Subject:hello\r\n"
  15. b.WriteString(str)
  16. cd := newCompressedData()
  17. cd.set([]byte(sbj), &b)
  18. // compress
  19. if _, err := fmt.Fprint(&out, cd); err != nil {
  20. t.Error(err)
  21. }
  22. // decompress
  23. var result bytes.Buffer
  24. zReader, _ := zlib.NewReader(bytes.NewReader(out.Bytes()))
  25. if _, err := io.Copy(&result, zReader); err != nil {
  26. t.Error(err)
  27. }
  28. expect := sbj + str
  29. if delta := strings.Compare(expect, result.String()); delta != 0 {
  30. t.Error(delta, "compression did match, expected", expect, "but got", result.String())
  31. }
  32. }