Files
mattermost/server/config/logger_test.go
Agniva De Sarker b200a07881 v8.0 module release (#22975)
https://mattermost.atlassian.net/browse/MM-52079

```release-note
We upgrade the module version to 8.0. The new module path is github.com/mattermost-server/server/v8.
```


Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
2023-04-18 11:05:28 +05:30

54 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/server/v8/model"
"github.com/mattermost/mattermost-server/server/v8/platform/shared/mlog"
)
func TestMloggerConfigFromAuditConfig(t *testing.T) {
auditSettings := model.ExperimentalAuditSettings{
FileEnabled: model.NewBool(true),
FileName: model.NewString("audit.log"),
FileMaxSizeMB: model.NewInt(20),
FileMaxAgeDays: model.NewInt(1),
FileMaxBackups: model.NewInt(5),
FileCompress: model.NewBool(true),
FileMaxQueueSize: model.NewInt(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)
})
}