MM-60415 ignore deactivated bots (#28184)
* ignore bot accounts when counting deactivated users * moved query to squirrel Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com> * set is null right * Run a different query depending on driver due to performance reasons. --------- Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com> Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
9b368b9214
Коммит
dfa1d1027b
@@ -46,6 +46,7 @@ func TestUserStore(t *testing.T, rctx request.CTX, ss store.Store, s SqlStore) {
|
||||
t.Run("AnalyticsActiveCount", func(t *testing.T) { testUserStoreAnalyticsActiveCount(t, rctx, ss, s) })
|
||||
t.Run("AnalyticsActiveCountForPeriod", func(t *testing.T) { testUserStoreAnalyticsActiveCountForPeriod(t, rctx, ss, s) })
|
||||
t.Run("AnalyticsGetInactiveUsersCount", func(t *testing.T) { testUserStoreAnalyticsGetInactiveUsersCount(t, rctx, ss) })
|
||||
t.Run("AnalyticsGetInactiveUsersCountIgnoreBots", func(t *testing.T) { testUserStoreAnalyticsGetInactiveUsersCountIgnoreBots(t, rctx, ss) })
|
||||
t.Run("AnalyticsGetSystemAdminCount", func(t *testing.T) { testUserStoreAnalyticsGetSystemAdminCount(t, rctx, ss) })
|
||||
t.Run("AnalyticsGetGuestCount", func(t *testing.T) { testUserStoreAnalyticsGetGuestCount(t, rctx, ss) })
|
||||
t.Run("AnalyticsGetExternalUsers", func(t *testing.T) { testUserStoreAnalyticsGetExternalUsers(t, rctx, ss) })
|
||||
@@ -4472,7 +4473,30 @@ func testUserStoreAnalyticsGetInactiveUsersCount(t *testing.T, rctx request.CTX,
|
||||
u1.Email = MakeEmail()
|
||||
_, err := ss.User().Save(rctx, u1)
|
||||
require.NoError(t, err)
|
||||
defer func() { require.NoError(t, ss.User().PermanentDelete(rctx, u1.Id)) }()
|
||||
t.Cleanup(func() { require.NoError(t, ss.User().PermanentDelete(rctx, u1.Id)) })
|
||||
|
||||
count, err := ss.User().AnalyticsGetInactiveUsersCount()
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, count, int64(0), "No users should have been inactive yet")
|
||||
|
||||
u2 := &model.User{}
|
||||
u2.Email = MakeEmail()
|
||||
u2.DeleteAt = model.GetMillis()
|
||||
_, err = ss.User().Save(rctx, u2)
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { require.NoError(t, ss.User().PermanentDelete(rctx, u2.Id)) })
|
||||
|
||||
newCount, err := ss.User().AnalyticsGetInactiveUsersCount()
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, count, newCount-1, "Expected 1 more inactive users but found otherwise.")
|
||||
}
|
||||
|
||||
func testUserStoreAnalyticsGetInactiveUsersCountIgnoreBots(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
u1 := &model.User{}
|
||||
u1.Email = MakeEmail()
|
||||
_, err := ss.User().Save(rctx, u1)
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { require.NoError(t, ss.User().PermanentDelete(rctx, u1.Id)) })
|
||||
|
||||
count, err := ss.User().AnalyticsGetInactiveUsersCount()
|
||||
require.NoError(t, err)
|
||||
@@ -4482,11 +4506,22 @@ func testUserStoreAnalyticsGetInactiveUsersCount(t *testing.T, rctx request.CTX,
|
||||
u2.DeleteAt = model.GetMillis()
|
||||
_, err = ss.User().Save(rctx, u2)
|
||||
require.NoError(t, err)
|
||||
defer func() { require.NoError(t, ss.User().PermanentDelete(rctx, u2.Id)) }()
|
||||
|
||||
t.Cleanup(func() { require.NoError(t, ss.User().PermanentDelete(rctx, u2.Id)) })
|
||||
|
||||
_, nErr := ss.Bot().Save(&model.Bot{
|
||||
UserId: u2.Id,
|
||||
Username: u2.Username,
|
||||
OwnerId: u2.Id,
|
||||
})
|
||||
require.NoError(t, nErr)
|
||||
u2.IsBot = true
|
||||
|
||||
t.Cleanup(func() { require.NoError(t, ss.Bot().PermanentDelete(u2.Id)) })
|
||||
|
||||
newCount, err := ss.User().AnalyticsGetInactiveUsersCount()
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, count, newCount-1, "Expected 1 more inactive users but found otherwise.")
|
||||
require.Equal(t, count, newCount, "Expected same inactive users but found otherwise.")
|
||||
}
|
||||
|
||||
func testUserStoreAnalyticsGetSystemAdminCount(t *testing.T, rctx request.CTX, ss store.Store) {
|
||||
|
||||
Ссылка в новой задаче
Block a user