mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-03 20:40:00 -05:00
52 lines
1.7 KiB
Go
52 lines
1.7 KiB
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
package config
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/mattermost/mattermost/server/public/model"
|
|
"github.com/mattermost/mattermost/server/public/shared/mlog"
|
|
)
|
|
|
|
func TestMloggerConfigFromAuditConfig(t *testing.T) {
|
|
auditSettings := model.ExperimentalAuditSettings{
|
|
FileEnabled: model.NewPointer(true),
|
|
FileName: model.NewPointer("audit.log"),
|
|
FileMaxSizeMB: model.NewPointer(20),
|
|
FileMaxAgeDays: model.NewPointer(1),
|
|
FileMaxBackups: model.NewPointer(5),
|
|
FileCompress: model.NewPointer(true),
|
|
FileMaxQueueSize: model.NewPointer(5000),
|
|
}
|
|
|
|
t.Run("validate default audit settings", func(t *testing.T) {
|
|
cfg, err := MloggerConfigFromAuditConfig(auditSettings, nil)
|
|
require.NoError(t, err, "audit config should not error")
|
|
require.Len(t, cfg, 1, "default audit config should have one target")
|
|
|
|
targetCfg := cfg["_defAudit"]
|
|
|
|
// check general
|
|
assert.Equal(t, targetCfg.Type, "file")
|
|
assert.Equal(t, targetCfg.Format, "json")
|
|
assert.ElementsMatch(t, targetCfg.Levels, []mlog.Level{mlog.LvlAuditAPI, mlog.LvlAuditContent, mlog.LvlAuditPerms, mlog.LvlAuditCLI})
|
|
|
|
// check format options
|
|
optionsExpected := map[string]any{
|
|
"disable_timestamp": false,
|
|
"disable_msg": true,
|
|
"disable_stacktrace": true,
|
|
"disable_level": true,
|
|
}
|
|
var optionsReceived map[string]any
|
|
err = json.Unmarshal(targetCfg.FormatOptions, &optionsReceived)
|
|
require.NoError(t, err, "unmarshal should not fail")
|
|
assert.Equal(t, optionsExpected, optionsReceived)
|
|
})
|
|
}
|