UserStore migration (#15563)
* Migration completed * Fix tests * Fix tests * Fix tests * Suggestions * Trigger CI * Suggestions * Merge with master * Trigger CI Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Agniva De Sarker <agnivade@yahoo.co.in>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
d51d843fcd
Коммит
96f1739f8f
@@ -4470,8 +4470,8 @@ func testGetMemberCountsByGroup(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
DeleteAt: 0,
|
||||
}
|
||||
_, err = ss.User().Save(u1)
|
||||
require.Nil(t, err)
|
||||
_, nErr = ss.User().Save(u1)
|
||||
require.Nil(t, nErr)
|
||||
_, nErr = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
@@ -4541,8 +4541,8 @@ func testGetMemberCountsByGroup(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
DeleteAt: 0,
|
||||
}
|
||||
_, err = ss.User().Save(u)
|
||||
require.Nil(t, err)
|
||||
_, nErr = ss.User().Save(u)
|
||||
require.Nil(t, nErr)
|
||||
_, nErr = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u.Id}, -1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
@@ -4592,8 +4592,8 @@ func testGetMemberCountsByGroup(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
DeleteAt: 0,
|
||||
}
|
||||
_, err = ss.User().Save(u)
|
||||
require.Nil(t, err)
|
||||
_, nErr = ss.User().Save(u)
|
||||
require.Nil(t, nErr)
|
||||
_, nErr = ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u.Id}, -1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
|
||||
@@ -374,8 +374,8 @@ func testGroupStoreGetByUser(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
u1, err = ss.User().Save(u1)
|
||||
require.Nil(t, err)
|
||||
u1, nErr := ss.User().Save(u1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(g1.Id, u1.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -386,8 +386,8 @@ func testGroupStoreGetByUser(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
u2, err = ss.User().Save(u2)
|
||||
require.Nil(t, err)
|
||||
u2, nErr = ss.User().Save(u2)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(g2.Id, u2.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -571,8 +571,8 @@ func testGroupGetMemberUsers(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user1, err := ss.User().Save(u1)
|
||||
require.Nil(t, err)
|
||||
user1, nErr := ss.User().Save(u1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user1.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -581,8 +581,8 @@ func testGroupGetMemberUsers(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user2, err := ss.User().Save(u2)
|
||||
require.Nil(t, err)
|
||||
user2, nErr := ss.User().Save(u2)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user2.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -623,8 +623,8 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user1, err := ss.User().Save(u1)
|
||||
require.Nil(t, err)
|
||||
user1, nErr := ss.User().Save(u1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user1.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -633,8 +633,8 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user2, err := ss.User().Save(u2)
|
||||
require.Nil(t, err)
|
||||
user2, nErr := ss.User().Save(u2)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user2.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -643,8 +643,8 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user3, err := ss.User().Save(u3)
|
||||
require.Nil(t, err)
|
||||
user3, nErr := ss.User().Save(u3)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user3.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -923,8 +923,8 @@ func testUpsertMember(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user, err := ss.User().Save(u1)
|
||||
require.Nil(t, err)
|
||||
user, nErr := ss.User().Save(u1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// Happy path
|
||||
d2, err := ss.Group().UpsertMember(group.Id, user.Id)
|
||||
@@ -981,8 +981,8 @@ func testGroupDeleteMember(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user, err := ss.User().Save(u1)
|
||||
require.Nil(t, err)
|
||||
user, nErr := ss.User().Save(u1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// Create member
|
||||
d1, err := ss.Group().UpsertMember(group.Id, user.Id)
|
||||
@@ -1321,8 +1321,8 @@ func testTeamMembersToAdd(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user, err = ss.User().Save(user)
|
||||
require.Nil(t, err)
|
||||
user, nErr := ss.User().Save(user)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// Create GroupMember
|
||||
_, err = ss.Group().UpsertMember(group.Id, user.Id)
|
||||
@@ -1339,7 +1339,7 @@ func testTeamMembersToAdd(t *testing.T, ss store.Store) {
|
||||
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
|
||||
Type: model.TEAM_OPEN,
|
||||
}
|
||||
team, nErr := ss.Team().Save(team)
|
||||
team, nErr = ss.Team().Save(team)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// Create GroupTeam
|
||||
@@ -1490,22 +1490,22 @@ func testTeamMembersToAddSingleTeam(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user1, err = ss.User().Save(user1)
|
||||
require.Nil(t, err)
|
||||
user1, nErr := ss.User().Save(user1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
user2 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user2, err = ss.User().Save(user2)
|
||||
require.Nil(t, err)
|
||||
user2, nErr = ss.User().Save(user2)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
user3 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user3, err = ss.User().Save(user3)
|
||||
require.Nil(t, err)
|
||||
user3, nErr = ss.User().Save(user3)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
for _, user := range []*model.User{user1, user2} {
|
||||
_, err = ss.Group().UpsertMember(group1.Id, user.Id)
|
||||
@@ -1524,7 +1524,7 @@ func testTeamMembersToAddSingleTeam(t *testing.T, ss store.Store) {
|
||||
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
|
||||
Type: model.TEAM_OPEN,
|
||||
}
|
||||
team1, nErr := ss.Team().Save(team1)
|
||||
team1, nErr = ss.Team().Save(team1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
team2 := &model.Team{
|
||||
@@ -1574,8 +1574,8 @@ func testChannelMembersToAdd(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user, err = ss.User().Save(user)
|
||||
require.Nil(t, err)
|
||||
user, nErr := ss.User().Save(user)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// Create GroupMember
|
||||
_, err = ss.Group().UpsertMember(group.Id, user.Id)
|
||||
@@ -1588,7 +1588,7 @@ func testChannelMembersToAdd(t *testing.T, ss store.Store) {
|
||||
Name: model.NewId(),
|
||||
Type: model.CHANNEL_OPEN, // Query does not look at type so this shouldn't matter.
|
||||
}
|
||||
channel, nErr := ss.Channel().Save(channel, 9999)
|
||||
channel, nErr = ss.Channel().Save(channel, 9999)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// Create GroupChannel
|
||||
@@ -1749,22 +1749,22 @@ func testChannelMembersToAddSingleChannel(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user1, err = ss.User().Save(user1)
|
||||
require.Nil(t, err)
|
||||
user1, nErr := ss.User().Save(user1)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
user2 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user2, err = ss.User().Save(user2)
|
||||
require.Nil(t, err)
|
||||
user2, nErr = ss.User().Save(user2)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
user3 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
user3, err = ss.User().Save(user3)
|
||||
require.Nil(t, err)
|
||||
user3, nErr = ss.User().Save(user3)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
for _, user := range []*model.User{user1, user2} {
|
||||
_, err = ss.Group().UpsertMember(group1.Id, user.Id)
|
||||
@@ -1778,7 +1778,7 @@ func testChannelMembersToAddSingleChannel(t *testing.T, ss store.Store) {
|
||||
Name: "z-z-" + model.NewId() + "a",
|
||||
Type: model.CHANNEL_OPEN,
|
||||
}
|
||||
channel1, nErr := ss.Channel().Save(channel1, 999)
|
||||
channel1, nErr = ss.Channel().Save(channel1, 999)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
channel2 := &model.Channel{
|
||||
@@ -2131,24 +2131,24 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
userA, err = ss.User().Save(userA)
|
||||
require.Nil(t, err)
|
||||
userA, nErr := ss.User().Save(userA)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// userB will not get removed from the group
|
||||
userB := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
userB, err = ss.User().Save(userB)
|
||||
require.Nil(t, err)
|
||||
userB, nErr = ss.User().Save(userB)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// userC was never in the group
|
||||
userC := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
userC, err = ss.User().Save(userC)
|
||||
require.Nil(t, err)
|
||||
userC, nErr = ss.User().Save(userC)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
// add users to group (but not userC)
|
||||
_, err = ss.Group().UpsertMember(group.Id, userA.Id)
|
||||
@@ -2165,7 +2165,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
|
||||
Type: model.CHANNEL_PRIVATE,
|
||||
GroupConstrained: model.NewBool(true),
|
||||
}
|
||||
channelConstrained, nErr := ss.Channel().Save(channelConstrained, 9999)
|
||||
channelConstrained, nErr = ss.Channel().Save(channelConstrained, 9999)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
channelUnconstrained := &model.Channel{
|
||||
@@ -3747,14 +3747,14 @@ func groupTestGetMemberCount(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
var user *model.User
|
||||
|
||||
var nErr error
|
||||
for i := 0; i < 2; i++ {
|
||||
user = &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: fmt.Sprintf("%d_%s", i, model.NewId()),
|
||||
}
|
||||
user, err = ss.User().Save(user)
|
||||
require.Nil(t, err)
|
||||
user, nErr = ss.User().Save(user)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user.Id)
|
||||
require.Nil(t, err)
|
||||
@@ -3765,8 +3765,8 @@ func groupTestGetMemberCount(t *testing.T, ss store.Store) {
|
||||
require.Equal(t, int64(2), count)
|
||||
|
||||
user.DeleteAt = 1
|
||||
_, err = ss.User().Update(user, true)
|
||||
require.Nil(t, err)
|
||||
_, nErr = ss.User().Update(user, true)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
count, err = ss.Group().GetMemberCount(group.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
@@ -2785,17 +2785,17 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, int(totalMemberCount), maxUsersPerTeam, "should start with 5 team members, had %v instead", totalMemberCount)
|
||||
|
||||
user, err := ss.User().Save(&model.User{
|
||||
user, nErr := ss.User().Save(&model.User{
|
||||
Username: model.NewId(),
|
||||
Email: MakeEmail(),
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Nil(t, nErr)
|
||||
newUserId := user.Id
|
||||
defer func() {
|
||||
ss.User().PermanentDelete(newUserId)
|
||||
}()
|
||||
|
||||
_, nErr := ss.Team().SaveMember(&model.TeamMember{
|
||||
_, nErr = ss.Team().SaveMember(&model.TeamMember{
|
||||
TeamId: team.Id,
|
||||
UserId: newUserId,
|
||||
}, maxUsersPerTeam)
|
||||
@@ -2827,17 +2827,17 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
|
||||
require.Equal(t, maxUsersPerTeam, int(totalMemberCount), "should have 5 team members again, had %v instead", totalMemberCount)
|
||||
|
||||
// Deactivating a user should make them stop counting against max members
|
||||
user2, err := ss.User().Get(userIds[1])
|
||||
require.Nil(t, err)
|
||||
user2, nErr := ss.User().Get(userIds[1])
|
||||
require.Nil(t, nErr)
|
||||
user2.DeleteAt = 1234
|
||||
_, err = ss.User().Update(user2, true)
|
||||
require.Nil(t, err)
|
||||
_, nErr = ss.User().Update(user2, true)
|
||||
require.Nil(t, nErr)
|
||||
|
||||
user, err = ss.User().Save(&model.User{
|
||||
user, nErr = ss.User().Save(&model.User{
|
||||
Username: model.NewId(),
|
||||
Email: MakeEmail(),
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Nil(t, nErr)
|
||||
newUserId2 := user.Id
|
||||
_, nErr = ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId2}, maxUsersPerTeam)
|
||||
require.Nil(t, nErr, "should've been able to save new member after deleting one")
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
package storetest
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -1788,13 +1789,11 @@ func testUserStoreGetByEmail(t *testing.T, ss store.Store) {
|
||||
t.Run("get by empty email", func(t *testing.T) {
|
||||
_, err := ss.User().GetByEmail("")
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, store.MISSING_ACCOUNT_ERROR)
|
||||
})
|
||||
|
||||
t.Run("get by unknown", func(t *testing.T) {
|
||||
_, err := ss.User().GetByEmail("unknown")
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, store.MISSING_ACCOUNT_ERROR)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1857,21 +1856,24 @@ func testUserStoreGetByAuthData(t *testing.T, ss store.Store) {
|
||||
t.Run("get by u1 auth, unknown service", func(t *testing.T) {
|
||||
_, err := ss.User().GetByAuth(u1.AuthData, "unknown")
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, store.MISSING_AUTH_ACCOUNT_ERROR)
|
||||
var nfErr *store.ErrNotFound
|
||||
require.True(t, errors.As(err, &nfErr))
|
||||
})
|
||||
|
||||
t.Run("get by unknown auth, u1 service", func(t *testing.T) {
|
||||
unknownAuth := ""
|
||||
_, err := ss.User().GetByAuth(&unknownAuth, u1.AuthService)
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, store.MISSING_AUTH_ACCOUNT_ERROR)
|
||||
var invErr *store.ErrInvalidInput
|
||||
require.True(t, errors.As(err, &invErr))
|
||||
})
|
||||
|
||||
t.Run("get by unknown auth, unknown service", func(t *testing.T) {
|
||||
unknownAuth := ""
|
||||
_, err := ss.User().GetByAuth(&unknownAuth, "unknown")
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, store.MISSING_AUTH_ACCOUNT_ERROR)
|
||||
var invErr *store.ErrInvalidInput
|
||||
require.True(t, errors.As(err, &invErr))
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1934,13 +1936,15 @@ func testUserStoreGetByUsername(t *testing.T, ss store.Store) {
|
||||
t.Run("get by empty username", func(t *testing.T) {
|
||||
_, err := ss.User().GetByUsername("")
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "store.sql_user.get_by_username.app_error")
|
||||
var nfErr *store.ErrNotFound
|
||||
require.True(t, errors.As(err, &nfErr))
|
||||
})
|
||||
|
||||
t.Run("get by unknown", func(t *testing.T) {
|
||||
_, err := ss.User().GetByUsername("unknown")
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "store.sql_user.get_by_username.app_error")
|
||||
var nfErr *store.ErrNotFound
|
||||
require.True(t, errors.As(err, &nfErr))
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2007,7 +2011,7 @@ func testUserStoreGetForLogin(t *testing.T, ss store.Store) {
|
||||
t.Run("get u1 by username, allow only email", func(t *testing.T) {
|
||||
_, err := ss.User().GetForLogin(u1.Username, false, true)
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "store.sql_user.get_for_login.app_error")
|
||||
require.Equal(t, "user not found", err.Error())
|
||||
})
|
||||
|
||||
t.Run("get u1 by email, allow both", func(t *testing.T) {
|
||||
@@ -2025,7 +2029,7 @@ func testUserStoreGetForLogin(t *testing.T, ss store.Store) {
|
||||
t.Run("get u1 by email, allow only username", func(t *testing.T) {
|
||||
_, err := ss.User().GetForLogin(u1.Email, true, false)
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "store.sql_user.get_for_login.app_error")
|
||||
require.Equal(t, "user not found", err.Error())
|
||||
})
|
||||
|
||||
t.Run("get u2 by username, allow both", func(t *testing.T) {
|
||||
@@ -2043,7 +2047,7 @@ func testUserStoreGetForLogin(t *testing.T, ss store.Store) {
|
||||
t.Run("get u2 by username, allow neither", func(t *testing.T) {
|
||||
_, err := ss.User().GetForLogin(u2.Username, false, false)
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "store.sql_user.get_for_login.app_error")
|
||||
require.Equal(t, "sign in with username and email are disabled", err.Error())
|
||||
})
|
||||
}
|
||||
|
||||
@@ -3949,12 +3953,12 @@ func testUserStoreAnalyticsGetSystemAdminCount(t *testing.T, ss store.Store) {
|
||||
u2.Email = MakeEmail()
|
||||
u2.Username = model.NewId()
|
||||
|
||||
_, err = ss.User().Save(&u1)
|
||||
require.Nil(t, err, "couldn't save user")
|
||||
_, nErr := ss.User().Save(&u1)
|
||||
require.Nil(t, nErr, "couldn't save user")
|
||||
defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }()
|
||||
|
||||
_, err = ss.User().Save(&u2)
|
||||
require.Nil(t, err, "couldn't save user")
|
||||
_, nErr = ss.User().Save(&u2)
|
||||
require.Nil(t, nErr, "couldn't save user")
|
||||
|
||||
defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }()
|
||||
|
||||
@@ -3983,16 +3987,16 @@ func testUserStoreAnalyticsGetGuestCount(t *testing.T, ss store.Store) {
|
||||
u3.Username = model.NewId()
|
||||
u3.Roles = "system_guest"
|
||||
|
||||
_, err = ss.User().Save(&u1)
|
||||
require.Nil(t, err, "couldn't save user")
|
||||
_, nErr := ss.User().Save(&u1)
|
||||
require.Nil(t, nErr, "couldn't save user")
|
||||
defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }()
|
||||
|
||||
_, err = ss.User().Save(&u2)
|
||||
require.Nil(t, err, "couldn't save user")
|
||||
_, nErr = ss.User().Save(&u2)
|
||||
require.Nil(t, nErr, "couldn't save user")
|
||||
defer func() { require.Nil(t, ss.User().PermanentDelete(u2.Id)) }()
|
||||
|
||||
_, err = ss.User().Save(&u3)
|
||||
require.Nil(t, err, "couldn't save user")
|
||||
_, nErr = ss.User().Save(&u3)
|
||||
require.Nil(t, nErr, "couldn't save user")
|
||||
defer func() { require.Nil(t, ss.User().PermanentDelete(u3.Id)) }()
|
||||
|
||||
result, err := ss.User().AnalyticsGetGuestCount()
|
||||
|
||||
Ссылка в новой задаче
Block a user