Skip intensive stat DB queries when more than a set number of users on the system (#4876)

Этот коммит содержится в:
Joram Wilander
2016-12-22 15:00:05 -05:00
коммит произвёл enahum
родитель 768fe6bec3
Коммит a793eb8651
4 изменённых файлов: 174 добавлений и 21 удалений

Просмотреть файл

@@ -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) {