diff options
author | Joram Wilander <jwawilander@gmail.com> | 2016-12-22 15:00:05 -0500 |
---|---|---|
committer | enahum <nahumhbl@gmail.com> | 2016-12-22 17:00:05 -0300 |
commit | a793eb865151b27f10fd8ff743e229535cc63865 (patch) | |
tree | 01137bd5c7e0b030cd5b80e8c31071b554a5d855 /api/admin_test.go | |
parent | 768fe6bec344cf4154a39767000c04ce1a5b5a71 (diff) | |
download | chat-a793eb865151b27f10fd8ff743e229535cc63865.tar.gz chat-a793eb865151b27f10fd8ff743e229535cc63865.tar.bz2 chat-a793eb865151b27f10fd8ff743e229535cc63865.zip |
Skip intensive stat DB queries when more than a set number of users on the system (#4876)
Diffstat (limited to 'api/admin_test.go')
-rw-r--r-- | api/admin_test.go | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/api/admin_test.go b/api/admin_test.go index e11835380..3af45892d 100644 --- a/api/admin_test.go +++ b/api/admin_test.go @@ -192,6 +192,12 @@ func TestGetTeamAnalyticsStandard(t *testing.T) { t.Fatal("Shouldn't have permissions") } + maxUsersForStats := *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics + defer func() { + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = maxUsersForStats + }() + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = 1000000 + if result, err := th.SystemAdminClient.GetTeamAnalytics(th.BasicTeam.Id, "standard"); err != nil { t.Fatal(err) } else { @@ -303,6 +309,24 @@ func TestGetTeamAnalyticsStandard(t *testing.T) { t.Fatal() } } + + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = 1 + + if result, err := th.SystemAdminClient.GetSystemAnalytics("standard"); err != nil { + t.Fatal(err) + } else { + rows := result.Data.(model.AnalyticsRows) + + if rows[2].Name != "post_count" { + t.Log(rows.ToJson()) + t.Fatal() + } + + if rows[2].Value != -1 { + t.Log(rows.ToJson()) + t.Fatal() + } + } } func TestGetPostCount(t *testing.T) { @@ -316,6 +340,12 @@ func TestGetPostCount(t *testing.T) { t.Fatal("Shouldn't have permissions") } + maxUsersForStats := *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics + defer func() { + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = maxUsersForStats + }() + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = 1000000 + if result, err := th.SystemAdminClient.GetTeamAnalytics(th.BasicTeam.Id, "post_counts_day"); err != nil { t.Fatal(err) } else { @@ -326,6 +356,19 @@ func TestGetPostCount(t *testing.T) { t.Fatal() } } + + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = 1 + + if result, err := th.SystemAdminClient.GetTeamAnalytics(th.BasicTeam.Id, "post_counts_day"); err != nil { + t.Fatal(err) + } else { + rows := result.Data.(model.AnalyticsRows) + + if rows[0].Value != -1 { + t.Log(rows.ToJson()) + t.Fatal() + } + } } func TestUserCountsWithPostsByDay(t *testing.T) { @@ -339,6 +382,12 @@ func TestUserCountsWithPostsByDay(t *testing.T) { t.Fatal("Shouldn't have permissions") } + maxUsersForStats := *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics + defer func() { + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = maxUsersForStats + }() + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = 1000000 + if result, err := th.SystemAdminClient.GetTeamAnalytics(th.BasicTeam.Id, "user_counts_with_posts_day"); err != nil { t.Fatal(err) } else { @@ -349,6 +398,19 @@ func TestUserCountsWithPostsByDay(t *testing.T) { t.Fatal() } } + + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = 1 + + if result, err := th.SystemAdminClient.GetTeamAnalytics(th.BasicTeam.Id, "user_counts_with_posts_day"); err != nil { + t.Fatal(err) + } else { + rows := result.Data.(model.AnalyticsRows) + + if rows[0].Value != -1 { + t.Log(rows.ToJson()) + t.Fatal() + } + } } func TestGetTeamAnalyticsExtra(t *testing.T) { @@ -360,6 +422,12 @@ func TestGetTeamAnalyticsExtra(t *testing.T) { t.Fatal("Shouldn't have permissions") } + maxUsersForStats := *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics + defer func() { + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = maxUsersForStats + }() + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = 1000000 + if result, err := th.SystemAdminClient.GetTeamAnalytics(th.BasicTeam.Id, "extra_counts"); err != nil { t.Fatal(err) } else { @@ -461,6 +529,24 @@ func TestGetTeamAnalyticsExtra(t *testing.T) { t.Fatal() } } + + *utils.Cfg.AnalyticsSettings.MaxUsersForStatistics = 1 + + if result, err := th.SystemAdminClient.GetSystemAnalytics("extra_counts"); err != nil { + t.Fatal(err) + } else { + rows := result.Data.(model.AnalyticsRows) + + if rows[0].Value != -1 { + t.Log(rows.ToJson()) + t.Fatal() + } + + if rows[1].Value != -1 { + t.Log(rows.ToJson()) + t.Fatal() + } + } } func TestAdminResetMfa(t *testing.T) { |