access_test.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package log
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "testing"
  6. "time"
  7. "github.com/v2ray/v2ray-core/common/serial"
  8. v2testing "github.com/v2ray/v2ray-core/testing"
  9. "github.com/v2ray/v2ray-core/testing/assert"
  10. )
  11. func TestAccessLog(t *testing.T) {
  12. v2testing.Current(t)
  13. filename := "/tmp/test_access_log.log"
  14. InitAccessLogger(filename)
  15. _, err := os.Stat(filename)
  16. assert.Error(err).IsNil()
  17. Access(serial.StringLiteral("test_from"), serial.StringLiteral("test_to"), AccessAccepted, serial.StringLiteral("test_reason"))
  18. <-time.After(2 * time.Second)
  19. accessLoggerInstance.(*fileLogWriter).close()
  20. accessLoggerInstance = &noOpLogWriter{}
  21. content, err := ioutil.ReadFile(filename)
  22. assert.Error(err).IsNil()
  23. contentStr := serial.StringLiteral(content)
  24. assert.String(contentStr).Contains(serial.StringLiteral("test_from"))
  25. assert.String(contentStr).Contains(serial.StringLiteral("test_to"))
  26. assert.String(contentStr).Contains(serial.StringLiteral("test_reason"))
  27. assert.String(contentStr).Contains(serial.StringLiteral("accepted"))
  28. }