Lots more changes
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"scratchbox/internal/config"
|
||||
)
|
||||
|
||||
func TestNewAccessLogWriterDisabled(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
cfg := config.Default()
|
||||
cfg.Server.AccessLog.Enabled = false
|
||||
writer, closeFn, err := newAccessLogWriter(cfg)
|
||||
if err != nil {
|
||||
t.Fatalf("newAccessLogWriter() error = %v", err)
|
||||
}
|
||||
if writer == nil {
|
||||
t.Fatalf("newAccessLogWriter() writer = nil")
|
||||
}
|
||||
if err := closeFn(); err != nil {
|
||||
t.Fatalf("closeFn() error = %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRollingFileWriterRotatesAndKeepsBackups(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
logPath := filepath.Join(t.TempDir(), "access.log")
|
||||
w, err := newRollingFileWriter(logPath, 10, 2)
|
||||
if err != nil {
|
||||
t.Fatalf("newRollingFileWriter() error = %v", err)
|
||||
}
|
||||
defer w.Close()
|
||||
|
||||
_, _ = w.Write([]byte("12345"))
|
||||
_, _ = w.Write([]byte("67890"))
|
||||
_, _ = w.Write([]byte("abc"))
|
||||
_, _ = w.Write([]byte("defghijkl"))
|
||||
|
||||
if err := w.Close(); err != nil {
|
||||
t.Fatalf("Close() error = %v", err)
|
||||
}
|
||||
|
||||
current, err := os.ReadFile(logPath)
|
||||
if err != nil {
|
||||
t.Fatalf("ReadFile(current) error = %v", err)
|
||||
}
|
||||
backup1, err := os.ReadFile(logPath + ".1")
|
||||
if err != nil {
|
||||
t.Fatalf("ReadFile(backup1) error = %v", err)
|
||||
}
|
||||
backup2, err := os.ReadFile(logPath + ".2")
|
||||
if err != nil {
|
||||
t.Fatalf("ReadFile(backup2) error = %v", err)
|
||||
}
|
||||
if !bytes.Equal(current, []byte("defghijkl")) {
|
||||
t.Fatalf("current log = %q, want %q", string(current), "defghijkl")
|
||||
}
|
||||
if !bytes.Equal(backup1, []byte("abc")) {
|
||||
t.Fatalf("backup1 log = %q, want %q", string(backup1), "abc")
|
||||
}
|
||||
if !bytes.Equal(backup2, []byte("1234567890")) {
|
||||
t.Fatalf("backup2 log = %q, want %q", string(backup2), "1234567890")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user