read_content_test.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package smtp_server
  2. import (
  3. "bytes"
  4. log "github.com/sirupsen/logrus"
  5. "io/fs"
  6. "net"
  7. "net/netip"
  8. "os"
  9. "path/filepath"
  10. "pmail/config"
  11. parsemail2 "pmail/dto/parsemail"
  12. "pmail/mysql"
  13. "pmail/session"
  14. "testing"
  15. "time"
  16. )
  17. func testInit() {
  18. // 设置日志格式为json格式
  19. //log.SetFormatter(&log.JSONFormatter{})
  20. log.SetReportCaller(true)
  21. log.SetFormatter(&log.TextFormatter{
  22. //以下设置只是为了使输出更美观
  23. DisableColors: true,
  24. TimestampFormat: "2006-01-02 15:03:04",
  25. })
  26. // 设置将日志输出到标准输出(默认的输出为stderr,标准错误)
  27. // 日志消息输出可以是任意的io.writer类型
  28. log.SetOutput(os.Stdout)
  29. // 设置日志级别为warn以上
  30. log.SetLevel(log.TraceLevel)
  31. var cst, _ = time.LoadLocation("Asia/Shanghai")
  32. time.Local = cst
  33. config.Init()
  34. parsemail2.Init()
  35. mysql.Init()
  36. session.Init()
  37. }
  38. func TestSession_Data(t *testing.T) {
  39. testInit()
  40. s := Session{
  41. RemoteAddress: net.TCPAddrFromAddrPort(netip.AddrPortFrom(netip.AddrFrom4([4]byte{}), 25)),
  42. }
  43. filepath.WalkDir("docs", func(path string, d fs.DirEntry, err error) error {
  44. if !d.IsDir() {
  45. data, _ := os.ReadFile(path)
  46. s.Data(bytes.NewReader(data))
  47. }
  48. return nil
  49. })
  50. }
  51. func TestSession_DataGmail(t *testing.T) {
  52. testInit()
  53. s := Session{
  54. RemoteAddress: net.TCPAddrFromAddrPort(netip.AddrPortFrom(netip.AddrFrom4([4]byte{}), 25)),
  55. }
  56. data, _ := os.ReadFile("docs/gmail/带附件带图片.txt")
  57. s.Data(bytes.NewReader(data))
  58. }