filebrowser/audit/log_test.go
2023-03-12 20:32:49 +01:00

61 lines
1.2 KiB
Go

package audit
import (
"bytes"
"log"
"testing"
"github.com/filebrowser/filebrowser/v2/users"
)
func TestLogFileActivity(t *testing.T) {
resultBuffer := setupTestLogger()
info := ResourceActivity{
Event: "Deletion",
ResourcePath: "/srv/test.txt",
User: &users.User{
Username: "test",
ID: 42,
},
}
LogResourceActivity(info)
result := resultBuffer.String()
expectedResult := "Deletion of resource with path /srv/test.txt by user test (42)\n"
if result != expectedResult {
t.Errorf("Log entry should be \"%v\" but is \"%v\"", expectedResult, result)
}
}
func TestLogFileActivityDirectory(t *testing.T) {
resultBuffer := setupTestLogger()
info := ResourceActivity{
Event: "Creation",
ResourcePath: "/srv/test.txt",
User: &users.User{
Username: "test",
ID: 42,
},
}
LogResourceActivity(info)
result := resultBuffer.String()
expectedResult := "Creation of resource with path /srv/test.txt by user test (42)\n"
if result != expectedResult {
t.Errorf("Log entry should be \"%v\" but is \"%v\"", expectedResult, result)
}
}
func setupTestLogger() *bytes.Buffer {
var testBuffer bytes.Buffer
testLogger := log.New(&testBuffer, "", 0)
auditLogger = testLogger
return &testBuffer
}