stream_test.go 812 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package backends
  2. import (
  3. "bytes"
  4. "fmt"
  5. "github.com/flashmob/go-guerrilla/mail"
  6. "io"
  7. "testing"
  8. )
  9. func TestStream(t *testing.T) {
  10. var e = mail.Envelope{
  11. RcptTo: []mail.Address{{User: "test", Host: "example.com"}},
  12. Helo: "a.cool.host.com",
  13. RemoteIP: "6.6.4.4",
  14. }
  15. hc := HeaderConfig{"sharklasers.com"}
  16. var buf bytes.Buffer
  17. dc := newStreamDecompresser(&buf)
  18. comp := newStreamCompressor(dc)
  19. s := newStreamHeader(comp)
  20. s.addHeader(&e, hc)
  21. n, err := io.Copy(s, bytes.NewBufferString("testing123"))
  22. if err != nil {
  23. t.Error(err, n)
  24. }
  25. if wc, ok := comp.(io.WriteCloser); ok {
  26. err = wc.Close()
  27. fmt.Println("err1", err)
  28. }
  29. if wcec, ok := dc.(io.WriteCloser); ok {
  30. err = wcec.Close()
  31. fmt.Println("err2", err)
  32. }
  33. fmt.Println((buf.String()))
  34. //time.Sleep(time.Second * 10)
  35. }