mirror of
https://github.com/coder/coder.git
synced 2025-07-08 11:39:50 +00:00
feat: add audit exporting and filtering (#1314)
This commit is contained in:
46
coderd/audit/backends/slog_test.go
Normal file
46
coderd/audit/backends/slog_test.go
Normal file
@ -0,0 +1,46 @@
|
||||
package backends_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/fatih/structs"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"cdr.dev/slog"
|
||||
"github.com/coder/coder/coderd/audit/backends"
|
||||
)
|
||||
|
||||
func TestSlogBackend(t *testing.T) {
|
||||
t.Parallel()
|
||||
t.Run("OK", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
var (
|
||||
ctx, cancel = context.WithCancel(context.Background())
|
||||
|
||||
sink = &fakeSink{}
|
||||
logger = slog.Make(sink)
|
||||
backend = backends.NewSlog(logger)
|
||||
|
||||
alog = randomAuditLog()
|
||||
)
|
||||
defer cancel()
|
||||
|
||||
err := backend.Export(ctx, alog)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, sink.entries, 1)
|
||||
require.Equal(t, sink.entries[0].Message, "audit_log")
|
||||
require.Len(t, sink.entries[0].Fields, len(structs.Fields(alog)))
|
||||
})
|
||||
}
|
||||
|
||||
type fakeSink struct {
|
||||
entries []slog.SinkEntry
|
||||
}
|
||||
|
||||
func (s *fakeSink) LogEntry(_ context.Context, e slog.SinkEntry) {
|
||||
s.entries = append(s.entries, e)
|
||||
}
|
||||
|
||||
func (*fakeSink) Sync() {}
|
Reference in New Issue
Block a user