[MM-64347] Enable System Console UI for AuditSettings by default (#31118)

Co-authored-by: Doug Lauder <wiggin77@warpmail.net>
Этот коммит содержится в:
Ben Schumacher
2025-06-19 20:18:46 +02:00
коммит произвёл GitHub
родитель f980a538c5
Коммит b69412d23f
7 изменённых файлов: 350 добавлений и 147 удалений

Просмотреть файл

@@ -1402,6 +1402,8 @@ func TestLdapSettingsIsValid(t *testing.T) {
}
func TestLogSettingsIsValid(t *testing.T) {
t.Parallel()
for name, test := range map[string]struct {
LogSettings LogSettings
ExpectError bool
@@ -2163,6 +2165,115 @@ func TestConfigDefaultConnectedWorkspacesSettings(t *testing.T) {
})
}
func TestExperimentalAuditSettingsIsValid(t *testing.T) {
t.Parallel()
for name, test := range map[string]struct {
ExperimentalAuditSettings ExperimentalAuditSettings
ExpectError bool
}{
"empty settings": {
ExperimentalAuditSettings: ExperimentalAuditSettings{},
ExpectError: false,
},
"file enabled with empty filename": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
FileEnabled: NewPointer(true),
FileName: NewPointer(""),
},
ExpectError: true,
},
"file enabled with valid filename": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
FileEnabled: NewPointer(true),
FileName: NewPointer("audit.log"),
FileMaxSizeMB: NewPointer(100),
FileMaxAgeDays: NewPointer(5),
FileMaxBackups: NewPointer(10),
FileMaxQueueSize: NewPointer(1000),
},
ExpectError: false,
},
"invalid file max size": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
FileEnabled: NewPointer(true),
FileName: NewPointer("audit.log"),
FileMaxSizeMB: NewPointer(0),
},
ExpectError: true,
},
"negative file max size": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
FileEnabled: NewPointer(true),
FileName: NewPointer("audit.log"),
FileMaxSizeMB: NewPointer(-10),
},
ExpectError: true,
},
"negative file max age": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
FileEnabled: NewPointer(true),
FileName: NewPointer("audit.log"),
FileMaxSizeMB: NewPointer(100),
FileMaxAgeDays: NewPointer(-5),
},
ExpectError: true,
},
"negative file max backups": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
FileEnabled: NewPointer(true),
FileName: NewPointer("audit.log"),
FileMaxSizeMB: NewPointer(100),
FileMaxAgeDays: NewPointer(5),
FileMaxBackups: NewPointer(-10),
},
ExpectError: true,
},
"zero file max queue size": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
FileEnabled: NewPointer(true),
FileName: NewPointer("audit.log"),
FileMaxSizeMB: NewPointer(100),
FileMaxAgeDays: NewPointer(5),
FileMaxBackups: NewPointer(10),
FileMaxQueueSize: NewPointer(0),
},
ExpectError: true,
},
"negative file max queue size": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
FileEnabled: NewPointer(true),
FileName: NewPointer("audit.log"),
FileMaxSizeMB: NewPointer(100),
FileMaxAgeDays: NewPointer(5),
FileMaxBackups: NewPointer(10),
FileMaxQueueSize: NewPointer(-1000),
},
ExpectError: true,
},
"AdvancedLoggingJSON has JSON error ": {
ExperimentalAuditSettings: ExperimentalAuditSettings{
AdvancedLoggingJSON: json.RawMessage(`
{
"foo": "bar",
`),
},
ExpectError: true,
},
} {
t.Run(name, func(t *testing.T) {
test.ExperimentalAuditSettings.SetDefaults()
appErr := test.ExperimentalAuditSettings.isValid()
if test.ExpectError {
require.NotNil(t, appErr)
} else {
require.Nil(t, appErr)
}
})
}
}
func TestFilterConfig(t *testing.T) {
t.Run("should clear default values", func(t *testing.T) {
cfg := &Config{}