Migrate User.Save to Sync by default (#11482)

* Migrate User.Save to Sync by default

* Make error testing more explicit

* Factor out else

* Fix some merge-related bugs

* Add some missing nil err test requirements

* Improve function signature

* Remove unused time import

* More test fixups
Этот коммит содержится в:
Alexander Redinger
2019-07-08 15:19:21 -04:00
коммит произвёл Gabe Jackson
родитель d15c2c4e69
Коммит 15c3c5f9e6
16 изменённых файлов: 659 добавлений и 480 удалений

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

@@ -16,11 +16,11 @@ import (
// CreateBot creates the given bot and corresponding user. // CreateBot creates the given bot and corresponding user.
func (a *App) CreateBot(bot *model.Bot) (*model.Bot, *model.AppError) { func (a *App) CreateBot(bot *model.Bot) (*model.Bot, *model.AppError) {
result := <-a.Srv.Store.User().Save(model.UserFromBot(bot)) user, err := a.Srv.Store.User().Save(model.UserFromBot(bot))
if result.Err != nil { if err != nil {
return nil, result.Err return nil, err
} }
bot.UserId = result.Data.(*model.User).Id bot.UserId = user.Id
savedBot, err := a.Srv.Store.Bot().Save(bot) savedBot, err := a.Srv.Store.Bot().Save(bot)
if err != nil { if err != nil {

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

@@ -788,18 +788,17 @@ func (a *App) OldImportUser(team *model.Team, user *model.User) *model.User {
user.Roles = model.SYSTEM_USER_ROLE_ID user.Roles = model.SYSTEM_USER_ROLE_ID
result := <-a.Srv.Store.User().Save(user) ruser, err := a.Srv.Store.User().Save(user)
if result.Err != nil { if err != nil {
mlog.Error(fmt.Sprintf("Error saving user. err=%v", result.Err)) mlog.Error(fmt.Sprintf("Error saving user. err=%v", err))
return nil return nil
} }
ruser := result.Data.(*model.User)
if _, err := a.Srv.Store.User().VerifyEmail(ruser.Id, ruser.Email); err != nil { if _, err = a.Srv.Store.User().VerifyEmail(ruser.Id, ruser.Email); err != nil {
mlog.Error(fmt.Sprintf("Failed to set email verified err=%v", err)) mlog.Error(fmt.Sprintf("Failed to set email verified err=%v", err))
} }
if err := a.JoinUserToTeam(team, user, ""); err != nil { if err = a.JoinUserToTeam(team, user, ""); err != nil {
mlog.Error(fmt.Sprintf("Failed to join team when importing err=%v", err)) mlog.Error(fmt.Sprintf("Failed to join team when importing err=%v", err))
} }

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

@@ -293,12 +293,11 @@ func (a *App) createUser(user *model.User) (*model.User, *model.AppError) {
return nil, err return nil, err
} }
result := <-a.Srv.Store.User().Save(user) ruser, err := a.Srv.Store.User().Save(user)
if result.Err != nil { if err != nil {
mlog.Error(fmt.Sprintf("Couldn't save the user err=%v", result.Err)) mlog.Error(fmt.Sprintf("Couldn't save the user err=%v", err))
return nil, result.Err return nil, err
} }
ruser := result.Data.(*model.User)
if user.EmailVerified { if user.EmailVerified {
if err := a.VerifyUserEmail(ruser.Id, user.Email); err != nil { if err := a.VerifyUserEmail(ruser.Id, user.Email); err != nil {

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

@@ -118,30 +118,27 @@ func (us SqlUserStore) CreateIndexesIfNotExists() {
us.CreateFullTextIndexIfNotExists("idx_users_names_no_full_name_txt", "Users", strings.Join(USER_SEARCH_TYPE_NAMES_NO_FULL_NAME, ", ")) us.CreateFullTextIndexIfNotExists("idx_users_names_no_full_name_txt", "Users", strings.Join(USER_SEARCH_TYPE_NAMES_NO_FULL_NAME, ", "))
} }
func (us SqlUserStore) Save(user *model.User) store.StoreChannel { func (us SqlUserStore) Save(user *model.User) (*model.User, *model.AppError) {
return store.Do(func(result *store.StoreResult) { if len(user.Id) > 0 {
if len(user.Id) > 0 { return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.existing.app_error", nil, "user_id="+user.Id, http.StatusBadRequest)
result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.existing.app_error", nil, "user_id="+user.Id, http.StatusBadRequest) }
return
}
user.PreSave() user.PreSave()
if result.Err = user.IsValid(); result.Err != nil { if err := user.IsValid(); err != nil {
return return nil, err
} }
if err := us.GetMaster().Insert(user); err != nil { if err := us.GetMaster().Insert(user); err != nil {
if IsUniqueConstraintError(err, []string{"Email", "users_email_key", "idx_users_email_unique"}) { if IsUniqueConstraintError(err, []string{"Email", "users_email_key", "idx_users_email_unique"}) {
result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.email_exists.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.email_exists.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest)
} else if IsUniqueConstraintError(err, []string{"Username", "users_username_key", "idx_users_username_unique"}) {
result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.username_exists.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest)
} else {
result.Err = model.NewAppError("SqlUserStore.Save", "store.sql_user.save.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusInternalServerError)
}
} else {
result.Data = user
} }
}) if IsUniqueConstraintError(err, []string{"Username", "users_username_key", "idx_users_username_unique"}) {
return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.username_exists.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest)
}
return nil, model.NewAppError("SqlUserStore.Save", "store.sql_user.save.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusInternalServerError)
}
return user, nil
} }
func (us SqlUserStore) Update(user *model.User, trustedUpdateData bool) (*model.UserUpdate, *model.AppError) { func (us SqlUserStore) Update(user *model.User, trustedUpdateData bool) (*model.UserUpdate, *model.AppError) {
@@ -197,7 +194,8 @@ func (us SqlUserStore) Update(user *model.User, trustedUpdateData bool) (*model.
if err != nil { if err != nil {
if IsUniqueConstraintError(err, []string{"Email", "users_email_key", "idx_users_email_unique"}) { if IsUniqueConstraintError(err, []string{"Email", "users_email_key", "idx_users_email_unique"}) {
return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.email_taken.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.email_taken.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest)
} else if IsUniqueConstraintError(err, []string{"Username", "users_username_key", "idx_users_username_unique"}) { }
if IsUniqueConstraintError(err, []string{"Username", "users_username_key", "idx_users_username_unique"}) {
return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.username_taken.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest) return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.username_taken.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusBadRequest)
} }
return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.updating.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusInternalServerError) return nil, model.NewAppError("SqlUserStore.Update", "store.sql_user.update.updating.app_error", nil, "user_id="+user.Id+", "+err.Error(), http.StatusInternalServerError)

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

@@ -249,7 +249,7 @@ type PostStore interface {
} }
type UserStore interface { type UserStore interface {
Save(user *model.User) StoreChannel Save(user *model.User) (*model.User, *model.AppError)
Update(user *model.User, allowRoleUpdate bool) (*model.UserUpdate, *model.AppError) Update(user *model.User, allowRoleUpdate bool) (*model.UserUpdate, *model.AppError)
UpdateLastPictureUpdate(userId string) *model.AppError UpdateLastPictureUpdate(userId string) *model.AppError
ResetLastPictureUpdate(userId string) *model.AppError ResetLastPictureUpdate(userId string) *model.AppError

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

@@ -6,7 +6,6 @@ package storetest
import ( import (
"net/http" "net/http"
"testing" "testing"
"time"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
@@ -14,15 +13,13 @@ import (
"github.com/mattermost/mattermost-server/store" "github.com/mattermost/mattermost-server/store"
) )
func makeBotWithUser(ss store.Store, bot *model.Bot) (*model.Bot, *model.User) { func makeBotWithUser(t *testing.T, ss store.Store, bot *model.Bot) (*model.Bot, *model.User) {
user := store.Must(ss.User().Save(model.UserFromBot(bot))).(*model.User) user, err := ss.User().Save(model.UserFromBot(bot))
require.Nil(t, err)
bot.UserId = user.Id bot.UserId = user.Id
bot, err := ss.Bot().Save(bot) bot, err = ss.Bot().Save(bot)
if err != nil { require.Nil(t, err)
time.Sleep(time.Second)
panic(err)
}
return bot, user return bot, user
} }
@@ -36,7 +33,7 @@ func TestBotStore(t *testing.T, ss store.Store) {
} }
func testBotStoreGet(t *testing.T, ss store.Store) { func testBotStoreGet(t *testing.T, ss store.Store) {
deletedBot, _ := makeBotWithUser(ss, &model.Bot{ deletedBot, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "deleted_bot", Username: "deleted_bot",
Description: "A deleted bot", Description: "A deleted bot",
OwnerId: model.NewId(), OwnerId: model.NewId(),
@@ -47,7 +44,7 @@ func testBotStoreGet(t *testing.T, ss store.Store) {
defer func() { require.Nil(t, ss.Bot().PermanentDelete(deletedBot.UserId)) }() defer func() { require.Nil(t, ss.Bot().PermanentDelete(deletedBot.UserId)) }()
defer func() { require.Nil(t, ss.User().PermanentDelete(deletedBot.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(deletedBot.UserId)) }()
permanentlyDeletedBot, _ := makeBotWithUser(ss, &model.Bot{ permanentlyDeletedBot, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "permanently_deleted_bot", Username: "permanently_deleted_bot",
Description: "A permanently deleted bot", Description: "A permanently deleted bot",
OwnerId: model.NewId(), OwnerId: model.NewId(),
@@ -56,7 +53,7 @@ func testBotStoreGet(t *testing.T, ss store.Store) {
require.Nil(t, ss.Bot().PermanentDelete(permanentlyDeletedBot.UserId)) require.Nil(t, ss.Bot().PermanentDelete(permanentlyDeletedBot.UserId))
defer func() { require.Nil(t, ss.User().PermanentDelete(permanentlyDeletedBot.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(permanentlyDeletedBot.UserId)) }()
b1, _ := makeBotWithUser(ss, &model.Bot{ b1, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "b1", Username: "b1",
Description: "The first bot", Description: "The first bot",
OwnerId: model.NewId(), OwnerId: model.NewId(),
@@ -64,7 +61,7 @@ func testBotStoreGet(t *testing.T, ss store.Store) {
defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }()
defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }()
b2, _ := makeBotWithUser(ss, &model.Bot{ b2, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "b2", Username: "b2",
Description: "The second bot", Description: "The second bot",
OwnerId: model.NewId(), OwnerId: model.NewId(),
@@ -113,7 +110,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) {
OwnerId1 := model.NewId() OwnerId1 := model.NewId()
OwnerId2 := model.NewId() OwnerId2 := model.NewId()
deletedBot, _ := makeBotWithUser(ss, &model.Bot{ deletedBot, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "deleted_bot", Username: "deleted_bot",
Description: "A deleted bot", Description: "A deleted bot",
OwnerId: OwnerId1, OwnerId: OwnerId1,
@@ -124,7 +121,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) {
defer func() { require.Nil(t, ss.Bot().PermanentDelete(deletedBot.UserId)) }() defer func() { require.Nil(t, ss.Bot().PermanentDelete(deletedBot.UserId)) }()
defer func() { require.Nil(t, ss.User().PermanentDelete(deletedBot.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(deletedBot.UserId)) }()
permanentlyDeletedBot, _ := makeBotWithUser(ss, &model.Bot{ permanentlyDeletedBot, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "permanently_deleted_bot", Username: "permanently_deleted_bot",
Description: "A permanently deleted bot", Description: "A permanently deleted bot",
OwnerId: OwnerId1, OwnerId: OwnerId1,
@@ -133,7 +130,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) {
require.Nil(t, ss.Bot().PermanentDelete(permanentlyDeletedBot.UserId)) require.Nil(t, ss.Bot().PermanentDelete(permanentlyDeletedBot.UserId))
defer func() { require.Nil(t, ss.User().PermanentDelete(permanentlyDeletedBot.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(permanentlyDeletedBot.UserId)) }()
b1, _ := makeBotWithUser(ss, &model.Bot{ b1, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "b1", Username: "b1",
Description: "The first bot", Description: "The first bot",
OwnerId: OwnerId1, OwnerId: OwnerId1,
@@ -141,7 +138,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) {
defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }()
defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }()
b2, _ := makeBotWithUser(ss, &model.Bot{ b2, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "b2", Username: "b2",
Description: "The second bot", Description: "The second bot",
OwnerId: OwnerId1, OwnerId: OwnerId1,
@@ -158,7 +155,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) {
}, bot) }, bot)
}) })
b3, _ := makeBotWithUser(ss, &model.Bot{ b3, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "b3", Username: "b3",
Description: "The third bot", Description: "The third bot",
OwnerId: OwnerId1, OwnerId: OwnerId1,
@@ -166,7 +163,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) {
defer func() { require.Nil(t, ss.Bot().PermanentDelete(b3.UserId)) }() defer func() { require.Nil(t, ss.Bot().PermanentDelete(b3.UserId)) }()
defer func() { require.Nil(t, ss.User().PermanentDelete(b3.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(b3.UserId)) }()
b4, _ := makeBotWithUser(ss, &model.Bot{ b4, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "b4", Username: "b4",
Description: "The fourth bot", Description: "The fourth bot",
OwnerId: OwnerId2, OwnerId: OwnerId2,
@@ -178,7 +175,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
if err := (<-ss.User().Save(&deletedUser)).Err; err != nil { if _, err := ss.User().Save(&deletedUser); err != nil {
t.Fatal("couldn't save user", err) t.Fatal("couldn't save user", err)
} }
deletedUser.DeleteAt = model.GetMillis() deletedUser.DeleteAt = model.GetMillis()
@@ -186,7 +183,7 @@ func testBotStoreGetAll(t *testing.T, ss store.Store) {
t.Fatal("couldn't delete user", err) t.Fatal("couldn't delete user", err)
} }
defer func() { require.Nil(t, ss.User().PermanentDelete(deletedUser.Id)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(deletedUser.Id)) }()
ob5, _ := makeBotWithUser(ss, &model.Bot{ ob5, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "ob5", Username: "ob5",
Description: "Orphaned bot 5", Description: "Orphaned bot 5",
OwnerId: deletedUser.Id, OwnerId: deletedUser.Id,
@@ -314,7 +311,8 @@ func testBotStoreSave(t *testing.T, ss store.Store) {
OwnerId: model.NewId(), OwnerId: model.NewId(),
} }
user := store.Must(ss.User().Save(model.UserFromBot(bot))).(*model.User) user, err := ss.User().Save(model.UserFromBot(bot))
require.Nil(t, err)
defer func() { require.Nil(t, ss.User().PermanentDelete(user.Id)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(user.Id)) }()
bot.UserId = user.Id bot.UserId = user.Id
@@ -341,7 +339,7 @@ func testBotStoreSave(t *testing.T, ss store.Store) {
func testBotStoreUpdate(t *testing.T, ss store.Store) { func testBotStoreUpdate(t *testing.T, ss store.Store) {
t.Run("invalid bot should fail to update", func(t *testing.T) { t.Run("invalid bot should fail to update", func(t *testing.T) {
existingBot, _ := makeBotWithUser(ss, &model.Bot{ existingBot, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "existing_bot", Username: "existing_bot",
OwnerId: model.NewId(), OwnerId: model.NewId(),
}) })
@@ -356,7 +354,7 @@ func testBotStoreUpdate(t *testing.T, ss store.Store) {
}) })
t.Run("existing bot should update", func(t *testing.T) { t.Run("existing bot should update", func(t *testing.T) {
existingBot, _ := makeBotWithUser(ss, &model.Bot{ existingBot, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "existing_bot", Username: "existing_bot",
OwnerId: model.NewId(), OwnerId: model.NewId(),
}) })
@@ -388,7 +386,7 @@ func testBotStoreUpdate(t *testing.T, ss store.Store) {
}) })
t.Run("deleted bot should update, restoring", func(t *testing.T) { t.Run("deleted bot should update, restoring", func(t *testing.T) {
existingBot, _ := makeBotWithUser(ss, &model.Bot{ existingBot, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "existing_bot", Username: "existing_bot",
OwnerId: model.NewId(), OwnerId: model.NewId(),
}) })
@@ -417,14 +415,14 @@ func testBotStoreUpdate(t *testing.T, ss store.Store) {
} }
func testBotStorePermanentDelete(t *testing.T, ss store.Store) { func testBotStorePermanentDelete(t *testing.T, ss store.Store) {
b1, _ := makeBotWithUser(ss, &model.Bot{ b1, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "b1", Username: "b1",
OwnerId: model.NewId(), OwnerId: model.NewId(),
}) })
defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.Bot().PermanentDelete(b1.UserId)) }()
defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }() defer func() { require.Nil(t, ss.User().PermanentDelete(b1.UserId)) }()
b2, _ := makeBotWithUser(ss, &model.Bot{ b2, _ := makeBotWithUser(t, ss, &model.Bot{
Username: "b2", Username: "b2",
OwnerId: model.NewId(), OwnerId: model.NewId(),
}) })

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

@@ -39,7 +39,9 @@ func testLogJoinEvent(t *testing.T, ss store.Store) {
Nickname: model.NewId(), Nickname: model.NewId(),
Username: model.NewId(), Username: model.NewId(),
} }
user = *store.Must(ss.User().Save(&user)).(*model.User) userPtr, err := ss.User().Save(&user)
require.Nil(t, err)
user = *userPtr
// log a join event // log a join event
err = ss.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis()) err = ss.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis())
@@ -63,7 +65,9 @@ func testLogLeaveEvent(t *testing.T, ss store.Store) {
Nickname: model.NewId(), Nickname: model.NewId(),
Username: model.NewId(), Username: model.NewId(),
} }
user = *store.Must(ss.User().Save(&user)).(*model.User) userPtr, err := ss.User().Save(&user)
require.Nil(t, err)
user = *userPtr
// log a join event, followed by a leave event // log a join event, followed by a leave event
err = ss.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis()) err = ss.ChannelMemberHistory().LogJoinEvent(user.Id, channel.Id, model.GetMillis())
@@ -90,7 +94,9 @@ func testGetUsersInChannelAtChannelMemberHistory(t *testing.T, ss store.Store) {
Nickname: model.NewId(), Nickname: model.NewId(),
Username: model.NewId(), Username: model.NewId(),
} }
user = *store.Must(ss.User().Save(&user)).(*model.User) userPtr, err := ss.User().Save(&user)
require.Nil(t, err)
user = *userPtr
// the user was previously in the channel a long time ago, before the export period starts // the user was previously in the channel a long time ago, before the export period starts
// the existence of this record makes it look like the MessageExport feature has been active for awhile, and prevents // the existence of this record makes it look like the MessageExport feature has been active for awhile, and prevents
@@ -184,7 +190,9 @@ func testGetUsersInChannelAtChannelMembers(t *testing.T, ss store.Store) {
Nickname: model.NewId(), Nickname: model.NewId(),
Username: model.NewId(), Username: model.NewId(),
} }
user = *store.Must(ss.User().Save(&user)).(*model.User) userPtr, err := ss.User().Save(&user)
require.Nil(t, err)
user = *userPtr
// clear any existing ChannelMemberHistory data that might interfere with our test // clear any existing ChannelMemberHistory data that might interfere with our test
var tableDataTruncated = false var tableDataTruncated = false
@@ -292,14 +300,18 @@ func testPermanentDeleteBatch(t *testing.T, ss store.Store) {
Nickname: model.NewId(), Nickname: model.NewId(),
Username: model.NewId(), Username: model.NewId(),
} }
user = *store.Must(ss.User().Save(&user)).(*model.User) userPtr, err := ss.User().Save(&user)
require.Nil(t, err)
user = *userPtr
user2 := model.User{ user2 := model.User{
Email: MakeEmail(), Email: MakeEmail(),
Nickname: model.NewId(), Nickname: model.NewId(),
Username: model.NewId(), Username: model.NewId(),
} }
user2 = *store.Must(ss.User().Save(&user2)).(*model.User) user2Ptr, err := ss.User().Save(&user2)
require.Nil(t, err)
user2 = *user2Ptr
// user1 joins and leaves the channel // user1 joins and leaves the channel
leaveTime := model.GetMillis() leaveTime := model.GetMillis()

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

@@ -130,13 +130,15 @@ func testChannelStoreSaveDirectChannel(t *testing.T, ss store.Store, s SqlSuppli
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
@@ -149,7 +151,7 @@ func testChannelStoreSaveDirectChannel(t *testing.T, ss store.Store, s SqlSuppli
m2.UserId = u2.Id m2.UserId = u2.Id
m2.NotifyProps = model.GetDefaultChannelNotifyProps() m2.NotifyProps = model.GetDefaultChannelNotifyProps()
if _, err := ss.Channel().SaveDirectChannel(&o1, &m1, &m2); err != nil { if _, err = ss.Channel().SaveDirectChannel(&o1, &m1, &m2); err != nil {
t.Fatal("couldn't save direct channel", err) t.Fatal("couldn't save direct channel", err)
} }
@@ -211,13 +213,15 @@ func testChannelStoreCreateDirectChannel(t *testing.T, ss store.Store) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
c1, err := ss.Channel().CreateDirectChannel(u1.Id, u2.Id) c1, err := ss.Channel().CreateDirectChannel(u1.Id, u2.Id)
@@ -382,13 +386,15 @@ func testChannelStoreGet(t *testing.T, ss store.Store, s SqlSupplier) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err = ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := model.User{} u2 := model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(&u2)) _, err = ss.User().Save(&u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
o2 := model.Channel{} o2 := model.Channel{}
@@ -457,13 +463,15 @@ func testChannelStoreGetChannelsByIds(t *testing.T, ss store.Store) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err = ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := model.User{} u2 := model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(&u2)) _, err = ss.User().Save(&u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
o2 := model.Channel{} o2 := model.Channel{}
@@ -864,13 +872,15 @@ func testChannelMemberStore(t *testing.T, ss store.Store) {
u1 := model.User{} u1 := model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err = ss.User().Save(&u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := model.User{} u2 := model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(&u2)) _, err = ss.User().Save(&u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
o1 := model.ChannelMember{} o1 := model.ChannelMember{}
@@ -954,13 +964,15 @@ func testChannelDeleteMemberStore(t *testing.T, ss store.Store) {
u1 := model.User{} u1 := model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err = ss.User().Save(&u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := model.User{} u2 := model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(&u2)) _, err = ss.User().Save(&u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
o1 := model.ChannelMember{} o1 := model.ChannelMember{}
@@ -1917,7 +1929,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
DeleteAt: 0, DeleteAt: 0,
} }
store.Must(ss.User().Save(u1)) _, err = ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u1.Id}, -1))
m1 := model.ChannelMember{ m1 := model.ChannelMember{
@@ -1927,8 +1940,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
} }
store.Must(ss.Channel().SaveMember(&m1)) store.Must(ss.Channel().SaveMember(&m1))
if count, err := ss.Channel().GetMemberCount(c1.Id, false); err != nil { if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
t.Fatalf("failed to get member count: %v", err) t.Fatalf("failed to get member count: %v", channelErr)
} else if count != 1 { } else if count != 1 {
t.Fatalf("got incorrect member count %v", count) t.Fatalf("got incorrect member count %v", count)
} }
@@ -1937,7 +1950,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
DeleteAt: 0, DeleteAt: 0,
} }
store.Must(ss.User().Save(&u2)) _, err = ss.User().Save(&u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u2.Id}, -1))
m2 := model.ChannelMember{ m2 := model.ChannelMember{
@@ -1947,8 +1961,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
} }
store.Must(ss.Channel().SaveMember(&m2)) store.Must(ss.Channel().SaveMember(&m2))
if count, err := ss.Channel().GetMemberCount(c1.Id, false); err != nil { if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
t.Fatalf("failed to get member count: %v", err) t.Fatalf("failed to get member count: %v", channelErr)
} else if count != 2 { } else if count != 2 {
t.Fatalf("got incorrect member count %v", count) t.Fatalf("got incorrect member count %v", count)
} }
@@ -1958,7 +1972,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
DeleteAt: 0, DeleteAt: 0,
} }
store.Must(ss.User().Save(&u3)) _, err = ss.User().Save(&u3)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u3.Id}, -1))
m3 := model.ChannelMember{ m3 := model.ChannelMember{
@@ -1968,8 +1983,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
} }
store.Must(ss.Channel().SaveMember(&m3)) store.Must(ss.Channel().SaveMember(&m3))
if count, err := ss.Channel().GetMemberCount(c1.Id, false); err != nil { if count, channelErr := ss.Channel().GetMemberCount(c1.Id, false); channelErr != nil {
t.Fatalf("failed to get member count: %v", err) t.Fatalf("failed to get member count: %v", channelErr)
} else if count != 2 { } else if count != 2 {
t.Fatalf("got incorrect member count %v", count) t.Fatalf("got incorrect member count %v", count)
} }
@@ -1979,7 +1994,8 @@ func testGetMemberCount(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
DeleteAt: 10000, DeleteAt: 10000,
} }
store.Must(ss.User().Save(u4)) _, err = ss.User().Save(u4)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: teamId, UserId: u4.Id}, -1))
m4 := model.ChannelMember{ m4 := model.ChannelMember{
@@ -2564,32 +2580,36 @@ func testChannelStoreAutocompleteInTeamForSearch(t *testing.T, ss store.Store, s
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Username = "user1" + model.NewId() u1.Username = "user1" + model.NewId()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Username = "user2" + model.NewId() u2.Username = "user2" + model.NewId()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
u3 := &model.User{} u3 := &model.User{}
u3.Email = MakeEmail() u3.Email = MakeEmail()
u3.Username = "user3" + model.NewId() u3.Username = "user3" + model.NewId()
u3.Nickname = model.NewId() u3.Nickname = model.NewId()
store.Must(ss.User().Save(u3)) _, err = ss.User().Save(u3)
require.Nil(t, err)
u4 := &model.User{} u4 := &model.User{}
u4.Email = MakeEmail() u4.Email = MakeEmail()
u4.Username = "user4" + model.NewId() u4.Username = "user4" + model.NewId()
u4.Nickname = model.NewId() u4.Nickname = model.NewId()
store.Must(ss.User().Save(u4)) _, err = ss.User().Save(u4)
require.Nil(t, err)
o1 := model.Channel{} o1 := model.Channel{}
o1.TeamId = model.NewId() o1.TeamId = model.NewId()
o1.DisplayName = "ChannelA" o1.DisplayName = "ChannelA"
o1.Name = "zz" + model.NewId() + "b" o1.Name = "zz" + model.NewId() + "b"
o1.Type = model.CHANNEL_OPEN o1.Type = model.CHANNEL_OPEN
_, err := ss.Channel().Save(&o1, -1) _, err = ss.Channel().Save(&o1, -1)
require.Nil(t, err) require.Nil(t, err)
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
@@ -2732,25 +2752,29 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) {
u1.Username = "user.one" u1.Username = "user.one"
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
u2 := &model.User{} u2 := &model.User{}
u2.Username = "user.two" u2.Username = "user.two"
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
u3 := &model.User{} u3 := &model.User{}
u3.Username = "user.three" u3.Username = "user.three"
u3.Email = MakeEmail() u3.Email = MakeEmail()
u3.Nickname = model.NewId() u3.Nickname = model.NewId()
store.Must(ss.User().Save(u3)) _, err = ss.User().Save(u3)
require.Nil(t, err)
u4 := &model.User{} u4 := &model.User{}
u4.Username = "user.four" u4.Username = "user.four"
u4.Email = MakeEmail() u4.Email = MakeEmail()
u4.Nickname = model.NewId() u4.Nickname = model.NewId()
store.Must(ss.User().Save(u4)) _, err = ss.User().Save(u4)
require.Nil(t, err)
// Group channels // Group channels
userIds := []string{u1.Id, u2.Id, u3.Id} userIds := []string{u1.Id, u2.Id, u3.Id}
@@ -2758,7 +2782,7 @@ func testChannelStoreSearchGroupChannels(t *testing.T, ss store.Store) {
gc1.Name = model.GetGroupNameFromUserIds(userIds) gc1.Name = model.GetGroupNameFromUserIds(userIds)
gc1.DisplayName = "GroupChannel" + model.NewId() gc1.DisplayName = "GroupChannel" + model.NewId()
gc1.Type = model.CHANNEL_GROUP gc1.Type = model.CHANNEL_GROUP
_, err := ss.Channel().Save(&gc1, -1) _, err = ss.Channel().Save(&gc1, -1)
require.Nil(t, err) require.Nil(t, err)
for _, userId := range userIds { for _, userId := range userIds {
@@ -2901,12 +2925,14 @@ func testChannelStoreAnalyticsDeletedTypeCount(t *testing.T, ss store.Store) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err = ss.User().Save(u1)
require.Nil(t, err)
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
d4, err := ss.Channel().CreateDirectChannel(u1.Id, u2.Id) d4, err := ss.Channel().CreateDirectChannel(u1.Id, u2.Id)
if err != nil { if err != nil {
@@ -3482,7 +3508,8 @@ func testChannelStoreGetChannelMembersForExport(t *testing.T, ss store.Store) {
u1 := model.User{} u1 := model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err = ss.User().Save(&u1)
require.Nil(t, err)
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
m1.ChannelId = c1.Id m1.ChannelId = c1.Id
@@ -3528,17 +3555,20 @@ func testChannelStoreRemoveAllDeactivatedMembers(t *testing.T, ss store.Store) {
u1 := model.User{} u1 := model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err = ss.User().Save(&u1)
require.Nil(t, err)
u2 := model.User{} u2 := model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(&u2)) _, err = ss.User().Save(&u2)
require.Nil(t, err)
u3 := model.User{} u3 := model.User{}
u3.Email = MakeEmail() u3.Email = MakeEmail()
u3.Nickname = model.NewId() u3.Nickname = model.NewId()
store.Must(ss.User().Save(&u3)) _, err = ss.User().Save(&u3)
require.Nil(t, err)
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
m1.ChannelId = c1.Id m1.ChannelId = c1.Id
@@ -3603,13 +3633,15 @@ func testChannelStoreExportAllDirectChannels(t *testing.T, ss store.Store, s Sql
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err = ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
@@ -3662,13 +3694,15 @@ func testChannelStoreExportAllDirectChannelsExcludePrivateAndPublic(t *testing.T
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err = ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
@@ -3704,13 +3738,15 @@ func testChannelStoreExportAllDirectChannelsDeletedChannel(t *testing.T, ss stor
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
@@ -3726,7 +3762,7 @@ func testChannelStoreExportAllDirectChannelsDeletedChannel(t *testing.T, ss stor
ss.Channel().SaveDirectChannel(&o1, &m1, &m2) ss.Channel().SaveDirectChannel(&o1, &m1, &m2)
o1.DeleteAt = 1 o1.DeleteAt = 1
err := ss.Channel().SetDeleteAt(o1.Id, 1, 1) err = ss.Channel().SetDeleteAt(o1.Id, 1, 1)
require.Nil(t, err, "channel should have been deleted") require.Nil(t, err, "channel should have been deleted")
d1, err := ss.Channel().GetAllDirectChannelsForExportAfter(10000, strings.Repeat("0", 26)) d1, err := ss.Channel().GetAllDirectChannelsForExportAfter(10000, strings.Repeat("0", 26))

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

@@ -76,13 +76,15 @@ func testComplianceExport(t *testing.T, ss store.Store) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Username = model.NewId() u1.Username = model.NewId()
u1 = store.Must(ss.User().Save(u1)).(*model.User) u1, err = ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Username = model.NewId() u2.Username = model.NewId()
u2 = store.Must(ss.User().Save(u2)).(*model.User) u2, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1))
c1 := &model.Channel{} c1 := &model.Channel{}
@@ -181,13 +183,15 @@ func testComplianceExportDirectMessages(t *testing.T, ss store.Store) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Username = model.NewId() u1.Username = model.NewId()
u1 = store.Must(ss.User().Save(u1)).(*model.User) u1, err = ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Username = model.NewId() u2.Username = model.NewId()
u2 = store.Must(ss.User().Save(u2)).(*model.User) u2, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: t1.Id, UserId: u2.Id}, -1))
c1 := &model.Channel{} c1 := &model.Channel{}
@@ -272,7 +276,8 @@ func testMessageExportPublicChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user1 = store.Must(ss.User().Save(user1)).(*model.User) user1, err = ss.User().Save(user1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user1.Id, UserId: user1.Id,
@@ -282,7 +287,8 @@ func testMessageExportPublicChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user2 = store.Must(ss.User().Save(user2)).(*model.User) user2, err = ss.User().Save(user2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user2.Id, UserId: user2.Id,
@@ -370,7 +376,8 @@ func testMessageExportPrivateChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user1 = store.Must(ss.User().Save(user1)).(*model.User) user1, err = ss.User().Save(user1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user1.Id, UserId: user1.Id,
@@ -380,7 +387,8 @@ func testMessageExportPrivateChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user2 = store.Must(ss.User().Save(user2)).(*model.User) user2, err = ss.User().Save(user2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user2.Id, UserId: user2.Id,
@@ -470,7 +478,8 @@ func testMessageExportDirectMessageChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user1 = store.Must(ss.User().Save(user1)).(*model.User) user1, err = ss.User().Save(user1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user1.Id, UserId: user1.Id,
@@ -480,7 +489,8 @@ func testMessageExportDirectMessageChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user2 = store.Must(ss.User().Save(user2)).(*model.User) user2, err = ss.User().Save(user2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user2.Id, UserId: user2.Id,
@@ -545,7 +555,8 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user1 = store.Must(ss.User().Save(user1)).(*model.User) user1, err = ss.User().Save(user1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user1.Id, UserId: user1.Id,
@@ -555,7 +566,8 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user2 = store.Must(ss.User().Save(user2)).(*model.User) user2, err = ss.User().Save(user2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user2.Id, UserId: user2.Id,
@@ -565,7 +577,8 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
user3 = store.Must(ss.User().Save(user3)).(*model.User) user3, err = ss.User().Save(user3)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{ store.Must(ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user3.Id, UserId: user3.Id,

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

@@ -442,9 +442,8 @@ func testGroupGetMemberUsers(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(u1) user1, err := ss.User().Save(u1)
require.Nil(t, res.Err) require.Nil(t, err)
user1 := res.Data.(*model.User)
_, err = ss.Group().UpsertMember(group.Id, user1.Id) _, err = ss.Group().UpsertMember(group.Id, user1.Id)
require.Nil(t, err) require.Nil(t, err)
@@ -453,9 +452,8 @@ func testGroupGetMemberUsers(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res = <-ss.User().Save(u2) user2, err := ss.User().Save(u2)
require.Nil(t, res.Err) require.Nil(t, err)
user2 := res.Data.(*model.User)
_, err = ss.Group().UpsertMember(group.Id, user2.Id) _, err = ss.Group().UpsertMember(group.Id, user2.Id)
require.Nil(t, err) require.Nil(t, err)
@@ -496,9 +494,8 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(u1) user1, err := ss.User().Save(u1)
require.Nil(t, res.Err) require.Nil(t, err)
user1 := res.Data.(*model.User)
_, err = ss.Group().UpsertMember(group.Id, user1.Id) _, err = ss.Group().UpsertMember(group.Id, user1.Id)
require.Nil(t, err) require.Nil(t, err)
@@ -507,9 +504,8 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res = <-ss.User().Save(u2) user2, err := ss.User().Save(u2)
require.Nil(t, res.Err) require.Nil(t, err)
user2 := res.Data.(*model.User)
_, err = ss.Group().UpsertMember(group.Id, user2.Id) _, err = ss.Group().UpsertMember(group.Id, user2.Id)
require.Nil(t, err) require.Nil(t, err)
@@ -562,9 +558,8 @@ func testUpsertMember(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res2 := <-ss.User().Save(u1) user, err := ss.User().Save(u1)
require.Nil(t, res2.Err) require.Nil(t, err)
user := res2.Data.(*model.User)
// Happy path // Happy path
d2, err := ss.Group().UpsertMember(group.Id, user.Id) d2, err := ss.Group().UpsertMember(group.Id, user.Id)
@@ -617,9 +612,8 @@ func testGroupDeleteMember(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res2 := <-ss.User().Save(u1) user, err := ss.User().Save(u1)
require.Nil(t, res2.Err) require.Nil(t, err)
user := res2.Data.(*model.User)
// Create member // Create member
d1, err := ss.Group().UpsertMember(group.Id, user.Id) d1, err := ss.Group().UpsertMember(group.Id, user.Id)
@@ -919,9 +913,8 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(user) user, err = ss.User().Save(user)
require.Nil(t, res.Err) require.Nil(t, err)
user = res.Data.(*model.User)
// Create GroupMember // Create GroupMember
_, err = ss.Group().UpsertMember(group.Id, user.Id) _, err = ss.Group().UpsertMember(group.Id, user.Id)
@@ -1058,7 +1051,7 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) {
require.Len(t, teamMembers, 1) require.Len(t, teamMembers, 1)
// adding team membership stops returning result // adding team membership stops returning result
res = <-ss.Team().SaveMember(&model.TeamMember{ res := <-ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: user.Id, UserId: user.Id,
}, 999) }, 999)
@@ -1083,13 +1076,12 @@ func testPendingAutoAddChannelMembers(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(user) user, err = ss.User().Save(user)
require.Nil(t, res.Err) require.Nil(t, err)
user = res.Data.(*model.User)
// Create GroupMember // Create GroupMember
_, err = ss.Group().UpsertMember(group.Id, user.Id) _, err = ss.Group().UpsertMember(group.Id, user.Id)
require.Nil(t, res.Err) require.Nil(t, err)
// Create Channel // Create Channel
channel := &model.Channel{ channel := &model.Channel{
@@ -1415,27 +1407,24 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(userA) userA, err = ss.User().Save(userA)
require.Nil(t, res.Err) require.Nil(t, err)
userA = res.Data.(*model.User)
// userB will not get removed from the group // userB will not get removed from the group
userB := &model.User{ userB := &model.User{
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res = <-ss.User().Save(userB) userB, err = ss.User().Save(userB)
require.Nil(t, res.Err) require.Nil(t, err)
userB = res.Data.(*model.User)
// userC was never in the group // userC was never in the group
userC := &model.User{ userC := &model.User{
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res = <-ss.User().Save(userC) userC, err = ss.User().Save(userC)
require.Nil(t, res.Err) require.Nil(t, err)
userC = res.Data.(*model.User)
// add users to group (but not userC) // add users to group (but not userC)
_, err = ss.Group().UpsertMember(group.Id, userA.Id) _, err = ss.Group().UpsertMember(group.Id, userA.Id)
@@ -1517,7 +1506,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
} }
for _, item := range userIDTeamIDs { for _, item := range userIDTeamIDs {
res = <-ss.Team().SaveMember(&model.TeamMember{ res := <-ss.Team().SaveMember(&model.TeamMember{
UserId: item[0], UserId: item[0],
TeamId: item[1], TeamId: item[1],
}, 99) }, 99)
@@ -1535,7 +1524,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
} }
for _, item := range userIDChannelIDs { for _, item := range userIDChannelIDs {
res = <-ss.Channel().SaveMember(&model.ChannelMember{ res := <-ss.Channel().SaveMember(&model.ChannelMember{
UserId: item[0], UserId: item[0],
ChannelId: item[1], ChannelId: item[1],
NotifyProps: model.GetDefaultChannelNotifyProps(), NotifyProps: model.GetDefaultChannelNotifyProps(),
@@ -1627,9 +1616,8 @@ func testGetGroupsByChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(u1) user1, err := ss.User().Save(u1)
require.Nil(t, res.Err) require.Nil(t, err)
user1 := res.Data.(*model.User)
_, err = ss.Group().UpsertMember(group1.Id, user1.Id) _, err = ss.Group().UpsertMember(group1.Id, user1.Id)
require.Nil(t, err) require.Nil(t, err)
@@ -1827,9 +1815,8 @@ func testGetGroupsByTeam(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(u1) user1, err := ss.User().Save(u1)
require.Nil(t, res.Err) require.Nil(t, err)
user1 := res.Data.(*model.User)
_, err = ss.Group().UpsertMember(group1.Id, user1.Id) _, err = ss.Group().UpsertMember(group1.Id, user1.Id)
require.Nil(t, err) require.Nil(t, err)
@@ -2068,9 +2055,8 @@ func testGetGroups(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(u1) user1, err := ss.User().Save(u1)
require.Nil(t, res.Err) require.Nil(t, err)
user1 := res.Data.(*model.User)
_, err = ss.Group().UpsertMember(group1.Id, user1.Id) _, err = ss.Group().UpsertMember(group1.Id, user1.Id)
require.Nil(t, err) require.Nil(t, err)
@@ -2245,13 +2231,12 @@ func testTeamMembersMinusGroupMembers(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(user) user, err = ss.User().Save(user)
require.Nil(t, res.Err) require.Nil(t, err)
user = res.Data.(*model.User)
users = append(users, user) users = append(users, user)
trueOrFalse := int(math.Mod(float64(i), 2)) == 0 trueOrFalse := int(math.Mod(float64(i), 2)) == 0
res = <-ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: user.Id, SchemeUser: trueOrFalse, SchemeAdmin: !trueOrFalse}, 999) res := <-ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: user.Id, SchemeUser: trueOrFalse, SchemeAdmin: !trueOrFalse}, 999)
require.Nil(t, res.Err) require.Nil(t, res.Err)
} }
@@ -2392,13 +2377,12 @@ func testChannelMembersMinusGroupMembers(t *testing.T, ss store.Store) {
Email: MakeEmail(), Email: MakeEmail(),
Username: model.NewId(), Username: model.NewId(),
} }
res := <-ss.User().Save(user) user, err = ss.User().Save(user)
require.Nil(t, res.Err) require.Nil(t, err)
user = res.Data.(*model.User)
users = append(users, user) users = append(users, user)
trueOrFalse := int(math.Mod(float64(i), 2)) == 0 trueOrFalse := int(math.Mod(float64(i), 2)) == 0
res = <-ss.Channel().SaveMember(&model.ChannelMember{ res := <-ss.Channel().SaveMember(&model.ChannelMember{
ChannelId: channel.Id, ChannelId: channel.Id,
UserId: user.Id, UserId: user.Id,
SchemeUser: trueOrFalse, SchemeUser: trueOrFalse,

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

@@ -888,19 +888,28 @@ func (_m *UserStore) ResetLastPictureUpdate(userId string) *model.AppError {
} }
// Save provides a mock function with given fields: user // Save provides a mock function with given fields: user
func (_m *UserStore) Save(user *model.User) store.StoreChannel { func (_m *UserStore) Save(user *model.User) (*model.User, *model.AppError) {
ret := _m.Called(user) ret := _m.Called(user)
var r0 store.StoreChannel var r0 *model.User
if rf, ok := ret.Get(0).(func(*model.User) store.StoreChannel); ok { if rf, ok := ret.Get(0).(func(*model.User) *model.User); ok {
r0 = rf(user) r0 = rf(user)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel) r0 = ret.Get(0).(*model.User)
} }
} }
return r0 var r1 *model.AppError
if rf, ok := ret.Get(1).(func(*model.User) *model.AppError); ok {
r1 = rf(user)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
} }
// Search provides a mock function with given fields: teamId, term, options // Search provides a mock function with given fields: teamId, term, options

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

@@ -2360,7 +2360,8 @@ func testPostStoreGetParentsForExportAfter(t *testing.T, ss store.Store) {
u1.Username = model.NewId() u1.Username = model.NewId()
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err = ss.User().Save(&u1)
require.Nil(t, err)
p1 := &model.Post{} p1 := &model.Post{}
p1.ChannelId = c1.Id p1.ChannelId = c1.Id
@@ -2407,7 +2408,8 @@ func testPostStoreGetRepliesForExport(t *testing.T, ss store.Store) {
u1 := model.User{} u1 := model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err = ss.User().Save(&u1)
require.Nil(t, err)
p1 := &model.Post{} p1 := &model.Post{}
p1.ChannelId = c1.Id p1.ChannelId = c1.Id
@@ -2466,13 +2468,15 @@ func testPostStoreGetDirectPostParentsForExportAfter(t *testing.T, ss store.Stor
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
@@ -2492,7 +2496,7 @@ func testPostStoreGetDirectPostParentsForExportAfter(t *testing.T, ss store.Stor
p1.UserId = u1.Id p1.UserId = u1.Id
p1.Message = "zz" + model.NewId() + "AAAAAAAAAAA" p1.Message = "zz" + model.NewId() + "AAAAAAAAAAA"
p1.CreateAt = 1000 p1.CreateAt = 1000
p1, err := ss.Post().Save(p1) p1, err = ss.Post().Save(p1)
require.Nil(t, err) require.Nil(t, err)
r1, err := ss.Post().GetDirectPostParentsForExportAfter(10000, strings.Repeat("0", 26)) r1, err := ss.Post().GetDirectPostParentsForExportAfter(10000, strings.Repeat("0", 26))
@@ -2517,14 +2521,16 @@ func testPostStoreGetDirectPostParentsForExportAfterDeleted(t *testing.T, ss sto
u1.DeleteAt = 1 u1.DeleteAt = 1
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.DeleteAt = 1 u2.DeleteAt = 1
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
@@ -2540,7 +2546,7 @@ func testPostStoreGetDirectPostParentsForExportAfterDeleted(t *testing.T, ss sto
ss.Channel().SaveDirectChannel(&o1, &m1, &m2) ss.Channel().SaveDirectChannel(&o1, &m1, &m2)
o1.DeleteAt = 1 o1.DeleteAt = 1
err := ss.Channel().SetDeleteAt(o1.Id, 1, 1) err = ss.Channel().SetDeleteAt(o1.Id, 1, 1)
assert.Nil(t, err) assert.Nil(t, err)
p1 := &model.Post{} p1 := &model.Post{}
@@ -2582,13 +2588,15 @@ func testPostStoreGetDirectPostParentsForExportAfterBatched(t *testing.T, ss sto
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1)) store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u2.Id}, -1))
m1 := model.ChannelMember{} m1 := model.ChannelMember{}
@@ -2608,7 +2616,7 @@ func testPostStoreGetDirectPostParentsForExportAfterBatched(t *testing.T, ss sto
p1.UserId = u1.Id p1.UserId = u1.Id
p1.Message = "zz" + model.NewId() + "AAAAAAAAAAA" p1.Message = "zz" + model.NewId() + "AAAAAAAAAAA"
p1.CreateAt = 1000 p1.CreateAt = 1000
p1, err := ss.Post().Save(p1) p1, err = ss.Post().Save(p1)
require.Nil(t, err) require.Nil(t, err)
postIds = append(postIds, p1.Id) postIds = append(postIds, p1.Id)
} }

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

@@ -922,10 +922,12 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
userIds := make([]string, maxUsersPerTeam) userIds := make([]string, maxUsersPerTeam)
for i := 0; i < maxUsersPerTeam; i++ { for i := 0; i < maxUsersPerTeam; i++ {
userIds[i] = store.Must(ss.User().Save(&model.User{ user, err := ss.User().Save(&model.User{
Username: model.NewId(), Username: model.NewId(),
Email: MakeEmail(), Email: MakeEmail(),
})).(*model.User).Id })
require.Nil(t, err)
userIds[i] = user.Id
defer func(userId string) { defer func(userId string) {
ss.User().PermanentDelete(userId) ss.User().PermanentDelete(userId)
@@ -947,10 +949,12 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
t.Fatalf("should start with 5 team members, had %v instead", totalMemberCount) t.Fatalf("should start with 5 team members, had %v instead", totalMemberCount)
} }
newUserId := store.Must(ss.User().Save(&model.User{ user, err := ss.User().Save(&model.User{
Username: model.NewId(), Username: model.NewId(),
Email: MakeEmail(), Email: MakeEmail(),
})).(*model.User).Id })
require.Nil(t, err)
newUserId := user.Id
defer func() { defer func() {
ss.User().PermanentDelete(newUserId) ss.User().PermanentDelete(newUserId)
}() }()
@@ -962,23 +966,23 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
t.Fatal("shouldn't be able to save member when at maximum members per team") t.Fatal("shouldn't be able to save member when at maximum members per team")
} }
if totalMemberCount, err := ss.Team().GetTotalMemberCount(team.Id); err != nil { if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id); teamErr != nil {
t.Fatal(err) t.Fatal(teamErr)
} else if int(totalMemberCount) != maxUsersPerTeam { } else if int(totalMemberCount) != maxUsersPerTeam {
t.Fatalf("should still have 5 team members, had %v instead", totalMemberCount) t.Fatalf("should still have 5 team members, had %v instead", totalMemberCount)
} }
// Leaving the team from the UI sets DeleteAt instead of using TeamStore.RemoveMember // Leaving the team from the UI sets DeleteAt instead of using TeamStore.RemoveMember
if _, err := ss.Team().UpdateMember(&model.TeamMember{ if _, teamErr := ss.Team().UpdateMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: userIds[0], UserId: userIds[0],
DeleteAt: 1234, DeleteAt: 1234,
}); err != nil { }); teamErr != nil {
panic(err) panic(teamErr)
} }
if totalMemberCount, err := ss.Team().GetTotalMemberCount(team.Id); err != nil { if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id); teamErr != nil {
t.Fatal(err) t.Fatal(teamErr)
} else if int(totalMemberCount) != maxUsersPerTeam-1 { } else if int(totalMemberCount) != maxUsersPerTeam-1 {
t.Fatalf("should now only have 4 team members, had %v instead", totalMemberCount) t.Fatalf("should now only have 4 team members, had %v instead", totalMemberCount)
} }
@@ -991,8 +995,8 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
}(newUserId) }(newUserId)
} }
if totalMemberCount, err := ss.Team().GetTotalMemberCount(team.Id); err != nil { if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id); teamErr != nil {
t.Fatal(err) t.Fatal(teamErr)
} else if int(totalMemberCount) != maxUsersPerTeam { } else if int(totalMemberCount) != maxUsersPerTeam {
t.Fatalf("should have 5 team members again, had %v instead", totalMemberCount) t.Fatalf("should have 5 team members again, had %v instead", totalMemberCount)
} }
@@ -1004,10 +1008,12 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
_, err = ss.User().Update(user2, true) _, err = ss.User().Update(user2, true)
require.Nil(t, err) require.Nil(t, err)
newUserId2 := store.Must(ss.User().Save(&model.User{ user, err = ss.User().Save(&model.User{
Username: model.NewId(), Username: model.NewId(),
Email: MakeEmail(), Email: MakeEmail(),
})).(*model.User).Id })
require.Nil(t, err)
newUserId2 := user.Id
if result := <-ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId2}, maxUsersPerTeam); result.Err != nil { if result := <-ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId2}, maxUsersPerTeam); result.Err != nil {
t.Fatal("should've been able to save new member after deleting one", result.Err) t.Fatal("should've been able to save new member after deleting one", result.Err)
} else { } else {
@@ -1125,12 +1131,14 @@ func testGetTeamMembersByIds(t *testing.T, ss store.Store) {
func testTeamStoreMemberCount(t *testing.T, ss store.Store) { func testTeamStoreMemberCount(t *testing.T, ss store.Store) {
u1 := &model.User{} u1 := &model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
store.Must(ss.User().Save(u1)) _, err := ss.User().Save(u1)
require.Nil(t, err)
u2 := &model.User{} u2 := &model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.DeleteAt = 1 u2.DeleteAt = 1
store.Must(ss.User().Save(u2)) _, err = ss.User().Save(u2)
require.Nil(t, err)
teamId1 := model.NewId() teamId1 := model.NewId()
m1 := &model.TeamMember{TeamId: teamId1, UserId: u1.Id} m1 := &model.TeamMember{TeamId: teamId1, UserId: u1.Id}
@@ -1638,12 +1646,14 @@ func testTeamStoreGetTeamMembersForExport(t *testing.T, ss store.Store) {
u1 := model.User{} u1 := model.User{}
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err = ss.User().Save(&u1)
require.Nil(t, err)
u2 := model.User{} u2 := model.User{}
u2.Email = MakeEmail() u2.Email = MakeEmail()
u2.Nickname = model.NewId() u2.Nickname = model.NewId()
store.Must(ss.User().Save(&u2)) _, err = ss.User().Save(&u2)
require.Nil(t, err)
m1 := &model.TeamMember{TeamId: t1.Id, UserId: u1.Id} m1 := &model.TeamMember{TeamId: t1.Id, UserId: u1.Id}
store.Must(ss.Team().SaveMember(m1, -1)) store.Must(ss.Team().SaveMember(m1, -1))

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

@@ -23,7 +23,8 @@ func testSaveTermsOfService(t *testing.T, ss store.Store) {
u1.Username = model.NewId() u1.Username = model.NewId()
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err := ss.User().Save(&u1)
require.Nil(t, err)
termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id} termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id}
savedTermsOfService, err := ss.TermsOfService().Save(termsOfService) savedTermsOfService, err := ss.TermsOfService().Save(termsOfService)
@@ -43,10 +44,12 @@ func testGetLatestTermsOfService(t *testing.T, ss store.Store) {
u1.Username = model.NewId() u1.Username = model.NewId()
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err := ss.User().Save(&u1)
require.Nil(t, err)
termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id} termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id}
_, err := ss.TermsOfService().Save(termsOfService) _, err = ss.TermsOfService().Save(termsOfService)
require.Nil(t, err)
fetchedTermsOfService, err := ss.TermsOfService().GetLatest(true) fetchedTermsOfService, err := ss.TermsOfService().GetLatest(true)
require.Nil(t, err) require.Nil(t, err)
@@ -59,10 +62,11 @@ func testGetTermsOfService(t *testing.T, ss store.Store) {
u1.Username = model.NewId() u1.Username = model.NewId()
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Nickname = model.NewId() u1.Nickname = model.NewId()
store.Must(ss.User().Save(&u1)) _, err := ss.User().Save(&u1)
require.Nil(t, err)
termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id} termsOfService := &model.TermsOfService{Text: "terms of service", UserId: u1.Id}
_, err := ss.TermsOfService().Save(termsOfService) _, err = ss.TermsOfService().Save(termsOfService)
require.Nil(t, err) require.Nil(t, err)
r1, err := ss.TermsOfService().Get("an_invalid_id", true) r1, err := ss.TermsOfService().Get("an_invalid_id", true)

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

@@ -142,7 +142,8 @@ func testUserAccessTokenSearch(t *testing.T, ss store.Store) {
u1.Email = MakeEmail() u1.Email = MakeEmail()
u1.Username = model.NewId() u1.Username = model.NewId()
store.Must(ss.User().Save(&u1)) _, err := ss.User().Save(&u1)
require.Nil(t, err)
uat := &model.UserAccessToken{ uat := &model.UserAccessToken{
Token: model.NewId(), Token: model.NewId(),
@@ -154,7 +155,7 @@ func testUserAccessTokenSearch(t *testing.T, ss store.Store) {
s1.UserId = uat.UserId s1.UserId = uat.UserId
s1.Token = uat.Token s1.Token = uat.Token
s1, err := ss.Session().Save(s1) s1, err = ss.Session().Save(s1)
require.Nil(t, err) require.Nil(t, err)
if _, err = ss.UserAccessToken().Save(uat); err != nil { if _, err = ss.UserAccessToken().Save(uat); err != nil {

Разница между файлами не показана из-за своего большого размера Загрузить разницу