58 lines
1.5 KiB
Go
58 lines
1.5 KiB
Go
package operation_setting
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestGetMonitorSetting_ChannelTestEnabledEnvOverridesEnabledConfig(t *testing.T) {
|
|
orig := monitorSetting
|
|
t.Cleanup(func() { monitorSetting = orig })
|
|
|
|
t.Setenv("CHANNEL_TEST_ENABLED", "false")
|
|
t.Setenv("CHANNEL_TEST_FREQUENCY", "5")
|
|
monitorSetting = MonitorSetting{
|
|
AutoTestChannelEnabled: true,
|
|
AutoTestChannelMinutes: 20,
|
|
}
|
|
|
|
setting := GetMonitorSetting()
|
|
|
|
require.NotNil(t, setting)
|
|
assert.False(t, setting.AutoTestChannelEnabled)
|
|
assert.Equal(t, float64(5), setting.AutoTestChannelMinutes)
|
|
}
|
|
|
|
func TestGetMonitorSetting_ChannelTestEnabledEnvCanEnableDisabledConfig(t *testing.T) {
|
|
orig := monitorSetting
|
|
t.Cleanup(func() { monitorSetting = orig })
|
|
|
|
t.Setenv("CHANNEL_TEST_ENABLED", "true")
|
|
monitorSetting = MonitorSetting{
|
|
AutoTestChannelEnabled: false,
|
|
AutoTestChannelMinutes: 12,
|
|
}
|
|
|
|
setting := GetMonitorSetting()
|
|
|
|
require.NotNil(t, setting)
|
|
assert.True(t, setting.AutoTestChannelEnabled)
|
|
assert.Equal(t, float64(12), setting.AutoTestChannelMinutes)
|
|
}
|
|
|
|
func TestGetMonitorSettingPreservesAutoBanOnlyMode(t *testing.T) {
|
|
orig := monitorSetting
|
|
t.Cleanup(func() { monitorSetting = orig })
|
|
|
|
t.Setenv("CHANNEL_TEST_ENABLED", "")
|
|
t.Setenv("CHANNEL_TEST_FREQUENCY", "")
|
|
monitorSetting = MonitorSetting{ChannelTestMode: ChannelTestModeAutoBanOnly}
|
|
|
|
setting := GetMonitorSetting()
|
|
|
|
require.NotNil(t, setting)
|
|
assert.Equal(t, ChannelTestModeAutoBanOnly, setting.ChannelTestMode)
|
|
}
|