summaryrefslogtreecommitdiffstats
path: root/model/config_test.go
diff options
context:
space:
mode:
authorJonathan <jonfritz@gmail.com>2017-12-01 09:25:14 -0500
committerGitHub <noreply@github.com>2017-12-01 09:25:14 -0500
commit9791c3e8d2e2ade6c593437ec7f59feb932998a9 (patch)
tree9a8fe8672925d5a288c23803e7c401b0adf2c270 /model/config_test.go
parentb51d9e8eabb3cfea17b81ebadcdc8199e09544bb (diff)
downloadchat-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.go95
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)
+}