From 91340bbe2f6fb827da4eecd315ef9125a81afef4 Mon Sep 17 00:00:00 2001 From: Nicola Murino Date: Thu, 26 Dec 2024 09:36:58 +0100 Subject: [PATCH] config: reset invalid rename mode Signed-off-by: Nicola Murino --- internal/config/config.go | 6 ++++++ internal/config/config_test.go | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/internal/config/config.go b/internal/config/config.go index 137daee0..7fd8cb9e 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -813,6 +813,12 @@ func resetInvalidConfigs() { logger.WarnToConsole("Non-fatal configuration error: %v", warn) } } + if globalConf.Common.RenameMode < 0 || globalConf.Common.RenameMode > 1 { + warn := fmt.Sprintf("invalid rename mode %d, reset to 0", globalConf.Common.RenameMode) + globalConf.Common.RenameMode = 0 + logger.Warn(logSender, "", "Non-fatal configuration error: %v", warn) + logger.WarnToConsole("Non-fatal configuration error: %v", warn) + } } func loadBindingsFromEnv() { diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 5052bba3..a895c542 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -243,6 +243,26 @@ func TestInvalidInstallationHint(t *testing.T) { assert.NoError(t, err) } +func TestInvalidRenameMode(t *testing.T) { + reset() + + confName := tempConfigName + ".json" + configFilePath := filepath.Join(configDir, confName) + commonConfig := config.GetCommonConfig() + commonConfig.RenameMode = 10 + c := make(map[string]any) + c["common"] = commonConfig + jsonConf, err := json.Marshal(c) + assert.NoError(t, err) + err = os.WriteFile(configFilePath, jsonConf, os.ModePerm) + assert.NoError(t, err) + err = config.LoadConfig(configDir, confName) + assert.NoError(t, err) + assert.Equal(t, 0, config.GetCommonConfig().RenameMode) + err = os.Remove(configFilePath) + assert.NoError(t, err) +} + func TestDefenderProviderDriver(t *testing.T) { if config.GetProviderConf().Driver != dataprovider.SQLiteDataProviderName { t.Skip("this test is not supported with the current database provider")