diff options
author | Jonathan <jonfritz@gmail.com> | 2017-12-01 09:25:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-01 09:25:14 -0500 |
commit | 9791c3e8d2e2ade6c593437ec7f59feb932998a9 (patch) | |
tree | 9a8fe8672925d5a288c23803e7c401b0adf2c270 /model/config_test.go | |
parent | b51d9e8eabb3cfea17b81ebadcdc8199e09544bb (diff) | |
download | chat-9791c3e8d2e2ade6c593437ec7f59feb932998a9.tar.gz chat-9791c3e8d2e2ade6c593437ec7f59feb932998a9.tar.bz2 chat-9791c3e8d2e2ade6c593437ec7f59feb932998a9.zip |
Changed config behaviour such that exportFromTimestamp is set/unset when message export is enabled/disabled (#7925)
Diffstat (limited to 'model/config_test.go')
-rw-r--r-- | model/config_test.go | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/model/config_test.go b/model/config_test.go index 58f690165..217751252 100644 --- a/model/config_test.go +++ b/model/config_test.go @@ -143,3 +143,98 @@ func TestMessageExportSettingsIsValid(t *testing.T) { // should pass because everything is valid require.Nil(t, mes.isValid(*fs)) } + +func TestMessageExportSetDefaults(t *testing.T) { + mes := &MessageExportSettings{} + mes.SetDefaults() + + require.False(t, *mes.EnableExport) + require.Equal(t, "export", *mes.FileLocation) + require.Equal(t, "01:00", *mes.DailyRunTime) + require.Equal(t, int64(0), *mes.ExportFromTimestamp) + require.Equal(t, 10000, *mes.BatchSize) +} + +func TestMessageExportSetDefaultsExportEnabledExportFromTimestampNil(t *testing.T) { + mes := &MessageExportSettings{ + EnableExport: NewBool(true), + } + mes.SetDefaults() + + require.True(t, *mes.EnableExport) + require.Equal(t, "export", *mes.FileLocation) + require.Equal(t, "01:00", *mes.DailyRunTime) + require.NotEqual(t, int64(0), *mes.ExportFromTimestamp) + require.True(t, *mes.ExportFromTimestamp <= GetMillis()) + require.Equal(t, 10000, *mes.BatchSize) +} + +func TestMessageExportSetDefaultsExportEnabledExportFromTimestampZero(t *testing.T) { + mes := &MessageExportSettings{ + EnableExport: NewBool(true), + ExportFromTimestamp: NewInt64(0), + } + mes.SetDefaults() + + require.True(t, *mes.EnableExport) + require.Equal(t, "export", *mes.FileLocation) + require.Equal(t, "01:00", *mes.DailyRunTime) + require.NotEqual(t, int64(0), *mes.ExportFromTimestamp) + require.True(t, *mes.ExportFromTimestamp <= GetMillis()) + require.Equal(t, 10000, *mes.BatchSize) +} + +func TestMessageExportSetDefaultsExportEnabledExportFromTimestampNonZero(t *testing.T) { + mes := &MessageExportSettings{ + EnableExport: NewBool(true), + ExportFromTimestamp: NewInt64(12345), + } + mes.SetDefaults() + + require.True(t, *mes.EnableExport) + require.Equal(t, "export", *mes.FileLocation) + require.Equal(t, "01:00", *mes.DailyRunTime) + require.Equal(t, int64(12345), *mes.ExportFromTimestamp) + require.Equal(t, 10000, *mes.BatchSize) +} + +func TestMessageExportSetDefaultsExportDisabledExportFromTimestampNil(t *testing.T) { + mes := &MessageExportSettings{ + EnableExport: NewBool(false), + } + mes.SetDefaults() + + require.False(t, *mes.EnableExport) + require.Equal(t, "export", *mes.FileLocation) + require.Equal(t, "01:00", *mes.DailyRunTime) + require.Equal(t, int64(0), *mes.ExportFromTimestamp) + require.Equal(t, 10000, *mes.BatchSize) +} + +func TestMessageExportSetDefaultsExportDisabledExportFromTimestampZero(t *testing.T) { + mes := &MessageExportSettings{ + EnableExport: NewBool(false), + ExportFromTimestamp: NewInt64(0), + } + mes.SetDefaults() + + require.False(t, *mes.EnableExport) + require.Equal(t, "export", *mes.FileLocation) + require.Equal(t, "01:00", *mes.DailyRunTime) + require.Equal(t, int64(0), *mes.ExportFromTimestamp) + require.Equal(t, 10000, *mes.BatchSize) +} + +func TestMessageExportSetDefaultsExportDisabledExportFromTimestampNonZero(t *testing.T) { + mes := &MessageExportSettings{ + EnableExport: NewBool(false), + ExportFromTimestamp: NewInt64(12345), + } + mes.SetDefaults() + + require.False(t, *mes.EnableExport) + require.Equal(t, "export", *mes.FileLocation) + require.Equal(t, "01:00", *mes.DailyRunTime) + require.Equal(t, int64(0), *mes.ExportFromTimestamp) + require.Equal(t, 10000, *mes.BatchSize) +} |