12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package sshlog
- import (
- "log"
- "os"
- "path/filepath"
- "strings"
- "testing"
- "time"
- "github.com/cloudflare/cloudflared/logger"
- )
- const logFileName = "test-logger.log"
- func createLogger(t *testing.T) *Logger {
- os.Remove(logFileName)
- l := logger.NewOutputWriter(logger.NewMockWriteManager())
- logger, err := NewLogger(logFileName, l, time.Millisecond, 1024)
- if err != nil {
- t.Fatal("couldn't create the logger!", err)
- }
- return logger
- }
- // AUTH-2115 TODO: fix this test
- //func TestWrite(t *testing.T) {
- // testStr := "hi"
- // logger := createLogger(t)
- // defer func() {
- // logger.Close()
- // os.Remove(logFileName)
- // }()
- //
- // logger.Write([]byte(testStr))
- // time.DelayBeforeReconnect(2 * time.Millisecond)
- // data, err := ioutil.ReadFile(logFileName)
- // if err != nil {
- // t.Fatal("couldn't read the log file!", err)
- // }
- // checkStr := string(data)
- // if checkStr != testStr {
- // t.Fatal("file data doesn't match!")
- // }
- //}
- func TestFilenameRotation(t *testing.T) {
- newName := rotationName("dir/bob/acoolloggername.log")
- dir := filepath.Dir(newName)
- if dir != "dir/bob" {
- t.Fatal("rotation name doesn't respect the directory filepath:", newName)
- }
- filename := filepath.Base(newName)
- if !strings.HasPrefix(filename, "acoolloggername") {
- t.Fatal("rotation filename is wrong:", filename)
- }
- ext := filepath.Ext(newName)
- if ext != ".log" {
- t.Fatal("rotation file extension is wrong:", ext)
- }
- }
- func TestRotation(t *testing.T) {
- logger := createLogger(t)
- for i := 0; i < 2000; i++ {
- logger.Write([]byte("a string for testing rotation\n"))
- }
- logger.Close()
- count := 0
- filepath.Walk(".", func(path string, info os.FileInfo, err error) error {
- if err != nil || info.IsDir() {
- return nil
- }
- if strings.HasPrefix(info.Name(), "test-logger") {
- log.Println("deleting: ", path)
- os.Remove(path)
- count++
- }
- return nil
- })
- if count < 2 {
- t.Fatal("rotation didn't roll files:", count)
- }
- }
|