[MM-15275] Migrate "Team.Save" to Sync (#10695)

* [MM-15275] Migrate "Team.Save" to Sync

* review comments

* resolve merge conflicts

* fix ci

* merge error

* merge error

* fix failed test

* address code review

* review comments
This commit is contained in:
Siyuan Liu
2019-04-30 01:19:06 -07:00
committed by Miguel de la Cruz
parent eb3923c835
commit 503b26a904
14 changed files with 222 additions and 170 deletions

View File

@@ -8,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/mattermost/mattermost-server/model"
)
@@ -295,16 +296,15 @@ func TestGetTeamsForScheme(t *testing.T) {
Type: model.TEAM_OPEN,
}
result1 := <-th.App.Srv.Store.Team().Save(team1)
assert.Nil(t, result1.Err)
team1 = result1.Data.(*model.Team)
team1, err := th.App.Srv.Store.Team().Save(team1)
require.Nil(t, err)
l2, r2 := th.SystemAdminClient.GetTeamsForScheme(scheme1.Id, 0, 100)
CheckNoError(t, r2)
assert.Zero(t, len(l2))
team1.SchemeId = &scheme1.Id
team1, err := th.App.Srv.Store.Team().Update(team1)
team1, err = th.App.Srv.Store.Team().Update(team1)
assert.Nil(t, err)
l3, r3 := th.SystemAdminClient.GetTeamsForScheme(scheme1.Id, 0, 100)
@@ -318,9 +318,8 @@ func TestGetTeamsForScheme(t *testing.T) {
Type: model.TEAM_OPEN,
SchemeId: &scheme1.Id,
}
result3 := <-th.App.Srv.Store.Team().Save(team2)
assert.Nil(t, result3.Err)
team2 = result3.Data.(*model.Team)
team2, err = th.App.Srv.Store.Team().Save(team2)
require.Nil(t, err)
l4, r4 := th.SystemAdminClient.GetTeamsForScheme(scheme1.Id, 0, 100)
CheckNoError(t, r4)
@@ -604,15 +603,14 @@ func TestDeleteScheme(t *testing.T) {
assert.Zero(t, role4.DeleteAt)
// Make sure this scheme is in use by a team.
res := <-th.App.Srv.Store.Team().Save(&model.Team{
team, err := th.App.Srv.Store.Team().Save(&model.Team{
Name: model.NewId(),
DisplayName: model.NewId(),
Email: model.NewId() + "@nowhere.com",
Type: model.TEAM_OPEN,
SchemeId: &s1.Id,
})
assert.Nil(t, res.Err)
team := res.Data.(*model.Team)
require.Nil(t, err)
// Delete the Scheme.
_, r3 := th.SystemAdminClient.DeleteScheme(s1.Id)

View File

@@ -24,11 +24,10 @@ import (
func (a *App) CreateTeam(team *model.Team) (*model.Team, *model.AppError) {
team.InviteId = ""
result := <-a.Srv.Store.Team().Save(team)
if result.Err != nil {
return nil, result.Err
rteam, err := a.Srv.Store.Team().Save(team)
if err != nil {
return nil, err
}
rteam := result.Data.(*model.Team)
if _, err := a.CreateDefaultChannels(rteam.Id); err != nil {
return nil, err

View File

@@ -74,13 +74,10 @@ func manualTest(c *web.Context, w http.ResponseWriter, r *http.Request) {
Type: model.TEAM_OPEN,
}
if result := <-c.App.Srv.Store.Team().Save(team); result.Err != nil {
c.Err = result.Err
if createdTeam, err := c.App.Srv.Store.Team().Save(team); err != nil {
c.Err = err
return
} else {
createdTeam := result.Data.(*model.Team)
channel := &model.Channel{DisplayName: "Town Square", Name: "town-square", Type: model.CHANNEL_OPEN, TeamId: createdTeam.Id}
if _, err := c.App.CreateChannel(channel, false); err != nil {
c.Err = err

View File

@@ -178,30 +178,25 @@ func (s SqlTeamStore) CreateIndexesIfNotExists() {
s.CreateIndexIfNotExists("idx_teammembers_delete_at", "TeamMembers", "DeleteAt")
}
func (s SqlTeamStore) Save(team *model.Team) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
if len(team.Id) > 0 {
result.Err = model.NewAppError("SqlTeamStore.Save",
"store.sql_team.save.existing.app_error", nil, "id="+team.Id, http.StatusBadRequest)
return
}
func (s SqlTeamStore) Save(team *model.Team) (*model.Team, *model.AppError) {
if len(team.Id) > 0 {
return nil, model.NewAppError("SqlTeamStore.Save",
"store.sql_team.save.existing.app_error", nil, "id="+team.Id, http.StatusBadRequest)
}
team.PreSave()
team.PreSave()
if result.Err = team.IsValid(); result.Err != nil {
return
}
if err := team.IsValid(); err != nil {
return nil, err
}
if err := s.GetMaster().Insert(team); err != nil {
if IsUniqueConstraintError(err, []string{"Name", "teams_name_key"}) {
result.Err = model.NewAppError("SqlTeamStore.Save", "store.sql_team.save.domain_exists.app_error", nil, "id="+team.Id+", "+err.Error(), http.StatusBadRequest)
return
}
result.Err = model.NewAppError("SqlTeamStore.Save", "store.sql_team.save.app_error", nil, "id="+team.Id+", "+err.Error(), http.StatusInternalServerError)
return
if err := s.GetMaster().Insert(team); err != nil {
if IsUniqueConstraintError(err, []string{"Name", "teams_name_key"}) {
return nil, model.NewAppError("SqlTeamStore.Save", "store.sql_team.save.domain_exists.app_error", nil, "id="+team.Id+", "+err.Error(), http.StatusBadRequest)
}
result.Data = team
})
return nil, model.NewAppError("SqlTeamStore.Save", "store.sql_team.save.app_error", nil, "id="+team.Id+", "+err.Error(), http.StatusInternalServerError)
}
return team, nil
}
func (s SqlTeamStore) Update(team *model.Team) (*model.Team, *model.AppError) {

View File

@@ -81,7 +81,7 @@ type Store interface {
}
type TeamStore interface {
Save(team *model.Team) StoreChannel
Save(team *model.Team) (*model.Team, *model.AppError)
Update(team *model.Team) (*model.Team, *model.AppError)
UpdateDisplayName(name string, teamId string) StoreChannel
Get(id string) (*model.Team, *model.AppError)

View File

@@ -1047,14 +1047,16 @@ func testChannelStoreGetAllChannels(t *testing.T, ss store.Store, s SqlSupplier)
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
t2 := model.Team{}
t2.DisplayName = "Name2"
t2.Name = model.NewId()
t2.Email = MakeEmail()
t2.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t2))
_, err = ss.Team().Save(&t2)
require.Nil(t, err)
c1 := model.Channel{}
c1.TeamId = t1.Id
@@ -1463,7 +1465,8 @@ func testChannelStoreGetMembersForUser(t *testing.T, ss store.Store) {
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
o1 := model.Channel{}
o1.TeamId = t1.Id
@@ -1506,7 +1509,8 @@ func testChannelStoreGetMembersForUserWithPagination(t *testing.T, ss store.Stor
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
o1 := model.Channel{}
o1.TeamId = t1.Id
@@ -2218,14 +2222,16 @@ func testChannelStoreSearchAllChannels(t *testing.T, ss store.Store) {
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
t2 := model.Team{}
t2.DisplayName = "Name2"
t2.Name = model.NewId()
t2.Email = MakeEmail()
t2.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t2))
_, err = ss.Team().Save(&t2)
require.Nil(t, err)
o1 := model.Channel{
TeamId: t1.Id,
@@ -3093,7 +3099,8 @@ func testChannelStoreGetAllChannelsForExportAfter(t *testing.T, ss store.Store)
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
c1 := model.Channel{}
c1.TeamId = t1.Id
@@ -3124,7 +3131,8 @@ func testChannelStoreGetChannelMembersForExport(t *testing.T, ss store.Store) {
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
c1 := model.Channel{}
c1.TeamId = t1.Id
@@ -3176,7 +3184,8 @@ func testChannelStoreRemoveAllDeactivatedMembers(t *testing.T, ss store.Store) {
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
c1 := model.Channel{}
c1.TeamId = t1.Id

View File

@@ -70,7 +70,8 @@ func testComplianceExport(t *testing.T, ss store.Store) {
t1.Name = "zz" + model.NewId() + "b"
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
t1 = store.Must(ss.Team().Save(t1)).(*model.Team)
t1, err := ss.Team().Save(t1)
require.Nil(t, err)
u1 := &model.User{}
u1.Email = MakeEmail()
@@ -169,7 +170,8 @@ func testComplianceExportDirectMessages(t *testing.T, ss store.Store) {
t1.Name = "zz" + model.NewId() + "b"
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
t1 = store.Must(ss.Team().Save(t1)).(*model.Team)
t1, err := ss.Team().Save(t1)
require.Nil(t, err)
u1 := &model.User{}
u1.Email = MakeEmail()
@@ -251,7 +253,8 @@ func testMessageExportPublicChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(),
Type: model.TEAM_OPEN,
}
team = store.Must(ss.Team().Save(team)).(*model.Team)
team, err = ss.Team().Save(team)
require.Nil(t, err)
// and two users that are a part of that team
user1 := &model.User{
@@ -345,7 +348,8 @@ func testMessageExportPrivateChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(),
Type: model.TEAM_OPEN,
}
team = store.Must(ss.Team().Save(team)).(*model.Team)
team, err = ss.Team().Save(team)
require.Nil(t, err)
// and two users that are a part of that team
user1 := &model.User{
@@ -441,7 +445,8 @@ func testMessageExportDirectMessageChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(),
Type: model.TEAM_OPEN,
}
team = store.Must(ss.Team().Save(team)).(*model.Team)
team, err = ss.Team().Save(team)
require.Nil(t, err)
// and two users that are a part of that team
user1 := &model.User{
@@ -513,7 +518,8 @@ func testMessageExportGroupMessageChannel(t *testing.T, ss store.Store) {
Email: MakeEmail(),
Type: model.TEAM_OPEN,
}
team = store.Must(ss.Team().Save(team)).(*model.Team)
team, err = ss.Team().Save(team)
require.Nil(t, err)
// and three users that are a part of that team
user1 := &model.User{

View File

@@ -647,9 +647,8 @@ func testCreateGroupSyncable(t *testing.T, ss store.Store) {
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_OPEN,
}
res5 := <-ss.Team().Save(t1)
require.Nil(t, res5.Err)
team := res5.Data.(*model.Team)
team, err := ss.Team().Save(t1)
require.Nil(t, err)
// New GroupSyncable, happy path
gt1 := model.NewGroupTeam(group.Id, team.Id, false)
@@ -687,9 +686,8 @@ func testGetGroupSyncable(t *testing.T, ss store.Store) {
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_OPEN,
}
res2 := <-ss.Team().Save(t1)
require.Nil(t, res2.Err)
team := res2.Data.(*model.Team)
team, err := ss.Team().Save(t1)
require.Nil(t, err)
// Create GroupSyncable
gt1 := model.NewGroupTeam(group.Id, team.Id, false)
@@ -739,9 +737,8 @@ func testGetAllGroupSyncablesByGroup(t *testing.T, ss store.Store) {
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_OPEN,
}
res2 := <-ss.Team().Save(t1)
require.Nil(t, res2.Err)
team := res2.Data.(*model.Team)
team, err := ss.Team().Save(t1)
require.Nil(t, err)
// create groupteam
res3 := <-ss.Group().CreateGroupSyncable(model.NewGroupTeam(group.Id, team.Id, false))
@@ -789,9 +786,8 @@ func testUpdateGroupSyncable(t *testing.T, ss store.Store) {
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_OPEN,
}
res5 := <-ss.Team().Save(t1)
require.Nil(t, res5.Err)
team := res5.Data.(*model.Team)
team, err := ss.Team().Save(t1)
require.Nil(t, err)
// New GroupSyncable, happy path
gt1 := model.NewGroupTeam(group.Id, team.Id, false)
@@ -861,9 +857,8 @@ func testDeleteGroupSyncable(t *testing.T, ss store.Store) {
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_OPEN,
}
res2 := <-ss.Team().Save(t1)
require.Nil(t, res2.Err)
team := res2.Data.(*model.Team)
team, err := ss.Team().Save(t1)
require.Nil(t, err)
// Create GroupSyncable
gt1 := model.NewGroupTeam(group.Id, team.Id, false)
@@ -931,9 +926,8 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) {
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_OPEN,
}
res = <-ss.Team().Save(team)
require.Nil(t, res.Err)
team = res.Data.(*model.Team)
team, err := ss.Team().Save(team)
require.Nil(t, err)
// Create GroupTeam
res = <-ss.Group().CreateGroupSyncable(model.NewGroupTeam(group.Id, team.Id, true))
@@ -1011,7 +1005,7 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) {
// No result if Team deleted
team.DeleteAt = model.GetMillis()
team, err := ss.Team().Update(team)
team, err = ss.Team().Update(team)
require.Nil(t, err)
res = <-ss.Group().TeamMembersToAdd(0)
require.Nil(t, res.Err)
@@ -1430,9 +1424,8 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
Type: model.TEAM_INVITE,
GroupConstrained: model.NewBool(true),
}
res = <-ss.Team().Save(teamConstrained)
require.Nil(t, res.Err)
teamConstrained = res.Data.(*model.Team)
teamConstrained, err := ss.Team().Save(teamConstrained)
require.Nil(t, err)
teamUnconstrained := &model.Team{
DisplayName: "Name",
@@ -1444,9 +1437,8 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_INVITE,
}
res = <-ss.Team().Save(teamUnconstrained)
require.Nil(t, res.Err)
teamUnconstrained = res.Data.(*model.Team)
teamUnconstrained, err = ss.Team().Save(teamUnconstrained)
require.Nil(t, err)
// create groupteams
res = <-ss.Group().CreateGroupSyncable(model.NewGroupTeam(group.Id, teamConstrained.Id, true))
@@ -1648,12 +1640,11 @@ func testGetGroupsByTeam(t *testing.T, ss store.Store) {
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_OPEN,
}
res := <-ss.Team().Save(team1)
require.Nil(t, res.Err)
team1 = res.Data.(*model.Team)
team1, err := ss.Team().Save(team1)
require.Nil(t, err)
// Create Groups 1 and 2
res = <-ss.Group().Create(&model.Group{
res := <-ss.Group().Create(&model.Group{
Name: model.NewId(),
DisplayName: "group-1",
RemoteId: model.NewId(),
@@ -1693,9 +1684,8 @@ func testGetGroupsByTeam(t *testing.T, ss store.Store) {
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
Type: model.TEAM_INVITE,
}
res = <-ss.Team().Save(team2)
require.Nil(t, res.Err)
team2 = res.Data.(*model.Team)
team2, err = ss.Team().Save(team2)
require.Nil(t, err)
// Create Group3
res = <-ss.Group().Create(&model.Group{

View File

@@ -545,19 +545,28 @@ func (_m *TeamStore) ResetAllTeamSchemes() store.StoreChannel {
}
// Save provides a mock function with given fields: team
func (_m *TeamStore) Save(team *model.Team) store.StoreChannel {
func (_m *TeamStore) Save(team *model.Team) (*model.Team, *model.AppError) {
ret := _m.Called(team)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(*model.Team) store.StoreChannel); ok {
var r0 *model.Team
if rf, ok := ret.Get(0).(func(*model.Team) *model.Team); ok {
r0 = rf(team)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(store.StoreChannel)
r0 = ret.Get(0).(*model.Team)
}
}
return r0
var r1 *model.AppError
if rf, ok := ret.Get(1).(func(*model.Team) *model.AppError); ok {
r1 = rf(team)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
}
// SaveMember provides a mock function with given fields: member, maxUsersPerTeam

View File

@@ -1073,7 +1073,8 @@ func testUserCountsWithPostsByDay(t *testing.T, ss store.Store) {
t1.Name = "zz" + model.NewId() + "b"
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
t1 = store.Must(ss.Team().Save(t1)).(*model.Team)
t1, err := ss.Team().Save(t1)
require.Nil(t, err)
c1 := &model.Channel{}
c1.TeamId = t1.Id
@@ -1131,7 +1132,8 @@ func testPostCountsByDay(t *testing.T, ss store.Store) {
t1.Name = "zz" + model.NewId() + "b"
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
t1 = store.Must(ss.Team().Save(t1)).(*model.Team)
t1, err := ss.Team().Save(t1)
require.Nil(t, err)
c1 := &model.Channel{}
c1.TeamId = t1.Id
@@ -1873,7 +1875,8 @@ func testPostStoreGetParentsForExportAfter(t *testing.T, ss store.Store) {
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
c1 := model.Channel{}
c1.TeamId = t1.Id
@@ -1919,7 +1922,8 @@ func testPostStoreGetRepliesForExport(t *testing.T, ss store.Store) {
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
c1 := model.Channel{}
c1.TeamId = t1.Id

View File

@@ -4,10 +4,10 @@
package storetest
import (
"github.com/stretchr/testify/require"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/store"
@@ -386,9 +386,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
Type: model.TEAM_OPEN,
SchemeId: &d4.Id,
}
tres4 := <-ss.Team().Save(t4)
assert.Nil(t, tres4.Err)
t4 = tres4.Data.(*model.Team)
t4, err := ss.Team().Save(t4)
require.Nil(t, err)
sres4 := <-ss.Scheme().Delete(d4.Id)
assert.Nil(t, sres4.Err)

View File

@@ -127,7 +127,7 @@ func testGetAllFromTeam(t *testing.T, ss store.Store) {
team1.Email = MakeEmail()
team1.Type = model.TEAM_OPEN
if err := (<-ss.Team().Save(&team1)).Err; err != nil {
if _, err := ss.Team().Save(&team1); err != nil {
t.Fatal("couldn't save team", err)
}
@@ -137,7 +137,7 @@ func testGetAllFromTeam(t *testing.T, ss store.Store) {
team2.Email = MakeEmail()
team2.Type = model.TEAM_OPEN
if err := (<-ss.Team().Save(&team2)).Err; err != nil {
if _, err := ss.Team().Save(&team2); err != nil {
t.Fatal("couldn't save team", err)
}

View File

@@ -60,16 +60,16 @@ func testTeamStoreSave(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
if err := (<-ss.Team().Save(&o1)).Err; err != nil {
if _, err := ss.Team().Save(&o1); err != nil {
t.Fatal("couldn't save item", err)
}
if err := (<-ss.Team().Save(&o1)).Err; err == nil {
if _, err := ss.Team().Save(&o1); err == nil {
t.Fatal("shouldn't be able to update from save")
}
o1.Id = ""
if err := (<-ss.Team().Save(&o1)).Err; err == nil {
if _, err := ss.Team().Save(&o1); err == nil {
t.Fatal("should be unique domain")
}
}
@@ -80,7 +80,7 @@ func testTeamStoreUpdate(t *testing.T, ss store.Store) {
o1.Name = "z-z-z" + model.NewId() + "b"
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
if err := (<-ss.Team().Save(&o1)).Err; err != nil {
if _, err := ss.Team().Save(&o1); err != nil {
t.Fatal(err)
}
@@ -107,11 +107,12 @@ func testTeamStoreUpdateDisplayName(t *testing.T, ss store.Store) {
o1.Name = "z-z-z" + model.NewId() + "b"
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1 = (<-ss.Team().Save(o1)).Data.(*model.Team)
o1, err := ss.Team().Save(o1)
require.Nil(t, err)
newDisplayName := "NewDisplayName"
if err := (<-ss.Team().UpdateDisplayName(newDisplayName, o1.Id)).Err; err != nil {
if err = (<-ss.Team().UpdateDisplayName(newDisplayName, o1.Id)).Err; err != nil {
t.Fatal(err)
}
@@ -126,7 +127,8 @@ func testTeamStoreGet(t *testing.T, ss store.Store) {
o1.Name = "z-z-z" + model.NewId() + "b"
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&o1))
_, err := ss.Team().Save(&o1)
require.Nil(t, err)
r1, err := ss.Team().Get(o1.Id)
require.Nil(t, err)
@@ -143,7 +145,7 @@ func testTeamStoreGetByName(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
if err := (<-ss.Team().Save(&o1)).Err; err != nil {
if _, err := ss.Team().Save(&o1); err != nil {
t.Fatal(err)
}
@@ -168,7 +170,7 @@ func testTeamStoreSearchByName(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
if err := (<-ss.Team().Save(&o1)).Err; err != nil {
if _, err := ss.Team().Save(&o1); err != nil {
t.Fatal(err)
}
@@ -189,7 +191,8 @@ func testTeamStoreSearchAll(t *testing.T, ss store.Store) {
o.Type = model.TEAM_OPEN
o.AllowOpenInvite = true
require.Nil(t, (<-ss.Team().Save(&o)).Err)
_, err := ss.Team().Save(&o)
require.Nil(t, err)
p := model.Team{}
p.DisplayName = "ADisplayName" + model.NewId()
@@ -198,7 +201,8 @@ func testTeamStoreSearchAll(t *testing.T, ss store.Store) {
p.Type = model.TEAM_OPEN
p.AllowOpenInvite = false
require.Nil(t, (<-ss.Team().Save(&p)).Err)
_, err = ss.Team().Save(&p)
require.Nil(t, err)
testCases := []struct {
Name string
@@ -259,7 +263,8 @@ func testTeamStoreSearchOpen(t *testing.T, ss store.Store) {
o.Type = model.TEAM_OPEN
o.AllowOpenInvite = true
require.Nil(t, (<-ss.Team().Save(&o)).Err)
_, err := ss.Team().Save(&o)
require.Nil(t, err)
p := model.Team{}
p.DisplayName = "ADisplayName" + model.NewId()
@@ -268,7 +273,8 @@ func testTeamStoreSearchOpen(t *testing.T, ss store.Store) {
p.Type = model.TEAM_OPEN
p.AllowOpenInvite = false
require.Nil(t, (<-ss.Team().Save(&p)).Err)
_, err = ss.Team().Save(&p)
require.Nil(t, err)
testCases := []struct {
Name string
@@ -323,7 +329,8 @@ func testTeamStoreSearchPrivate(t *testing.T, ss store.Store) {
o.Type = model.TEAM_OPEN
o.AllowOpenInvite = true
require.Nil(t, (<-ss.Team().Save(&o)).Err)
_, err := ss.Team().Save(&o)
require.Nil(t, err)
p := model.Team{}
p.DisplayName = "ADisplayName" + model.NewId()
@@ -332,7 +339,8 @@ func testTeamStoreSearchPrivate(t *testing.T, ss store.Store) {
p.Type = model.TEAM_OPEN
p.AllowOpenInvite = false
require.Nil(t, (<-ss.Team().Save(&p)).Err)
_, err = ss.Team().Save(&p)
require.Nil(t, err)
testCases := []struct {
Name string
@@ -387,9 +395,8 @@ func testTeamStoreGetByInviteId(t *testing.T, ss store.Store) {
o1.Type = model.TEAM_OPEN
o1.InviteId = model.NewId()
save1 := <-ss.Team().Save(&o1)
if err := save1.Err; err != nil {
save1, err := ss.Team().Save(&o1)
if err != nil {
t.Fatal(err)
}
@@ -399,7 +406,7 @@ func testTeamStoreGetByInviteId(t *testing.T, ss store.Store) {
o2.Email = MakeEmail()
o2.Type = model.TEAM_OPEN
if r1 := <-ss.Team().GetByInviteId(save1.Data.(*model.Team).InviteId); r1.Err != nil {
if r1 := <-ss.Team().GetByInviteId(save1.InviteId); r1.Err != nil {
t.Fatal(r1.Err)
} else {
if r1.Data.(*model.Team).ToJson() != o1.ToJson() {
@@ -419,7 +426,8 @@ func testTeamStoreByUserId(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1.InviteId = model.NewId()
o1 = store.Must(ss.Team().Save(o1)).(*model.Team)
o1, err := ss.Team().Save(o1)
require.Nil(t, err)
m1 := &model.TeamMember{TeamId: o1.Id, UserId: model.NewId()}
store.Must(ss.Team().SaveMember(m1, -1))
@@ -446,14 +454,16 @@ func testGetAllTeamListing(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1.AllowOpenInvite = true
store.Must(ss.Team().Save(&o1))
_, err := ss.Team().Save(&o1)
require.Nil(t, err)
o2 := model.Team{}
o2.DisplayName = "DisplayName"
o2.Name = "zz" + model.NewId() + "b"
o2.Email = MakeEmail()
o2.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&o2))
_, err = ss.Team().Save(&o2)
require.Nil(t, err)
o3 := model.Team{}
o3.DisplayName = "DisplayName"
@@ -461,14 +471,16 @@ func testGetAllTeamListing(t *testing.T, ss store.Store) {
o3.Email = MakeEmail()
o3.Type = model.TEAM_INVITE
o3.AllowOpenInvite = true
store.Must(ss.Team().Save(&o3))
_, err = ss.Team().Save(&o3)
require.Nil(t, err)
o4 := model.Team{}
o4.DisplayName = "DisplayName"
o4.Name = "zz" + model.NewId() + "b"
o4.Email = MakeEmail()
o4.Type = model.TEAM_INVITE
store.Must(ss.Team().Save(&o4))
_, err = ss.Team().Save(&o4)
require.Nil(t, err)
if r1 := <-ss.Team().GetAllTeamListing(); r1.Err != nil {
t.Fatal(r1.Err)
@@ -494,7 +506,8 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1.AllowOpenInvite = true
store.Must(ss.Team().Save(&o1))
_, err := ss.Team().Save(&o1)
require.Nil(t, err)
o2 := model.Team{}
o2.DisplayName = "DisplayName"
@@ -502,7 +515,8 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
o2.Email = MakeEmail()
o2.Type = model.TEAM_OPEN
o2.AllowOpenInvite = false
store.Must(ss.Team().Save(&o2))
_, err = ss.Team().Save(&o2)
require.Nil(t, err)
o3 := model.Team{}
o3.DisplayName = "DisplayName"
@@ -510,7 +524,8 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
o3.Email = MakeEmail()
o3.Type = model.TEAM_INVITE
o3.AllowOpenInvite = true
store.Must(ss.Team().Save(&o3))
_, err = ss.Team().Save(&o3)
require.Nil(t, err)
o4 := model.Team{}
o4.DisplayName = "DisplayName"
@@ -518,7 +533,8 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
o4.Email = MakeEmail()
o4.Type = model.TEAM_INVITE
o4.AllowOpenInvite = false
store.Must(ss.Team().Save(&o4))
_, err = ss.Team().Save(&o4)
require.Nil(t, err)
if r1 := <-ss.Team().GetAllTeamPageListing(0, 10); r1.Err != nil {
t.Fatal(r1.Err)
@@ -542,7 +558,8 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
o5.Email = MakeEmail()
o5.Type = model.TEAM_OPEN
o5.AllowOpenInvite = true
store.Must(ss.Team().Save(&o5))
_, err = ss.Team().Save(&o5)
require.Nil(t, err)
if r1 := <-ss.Team().GetAllTeamPageListing(0, 4); r1.Err != nil {
t.Fatal(r1.Err)
@@ -584,14 +601,16 @@ func testGetAllPrivateTeamListing(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1.AllowOpenInvite = true
store.Must(ss.Team().Save(&o1))
_, err := ss.Team().Save(&o1)
require.Nil(t, err)
o2 := model.Team{}
o2.DisplayName = "DisplayName"
o2.Name = "zz" + model.NewId() + "b"
o2.Email = MakeEmail()
o2.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&o2))
_, err = ss.Team().Save(&o2)
require.Nil(t, err)
o3 := model.Team{}
o3.DisplayName = "DisplayName"
@@ -599,14 +618,16 @@ func testGetAllPrivateTeamListing(t *testing.T, ss store.Store) {
o3.Email = MakeEmail()
o3.Type = model.TEAM_INVITE
o3.AllowOpenInvite = true
store.Must(ss.Team().Save(&o3))
_, err = ss.Team().Save(&o3)
require.Nil(t, err)
o4 := model.Team{}
o4.DisplayName = "DisplayName"
o4.Name = "zz" + model.NewId() + "b"
o4.Email = MakeEmail()
o4.Type = model.TEAM_INVITE
store.Must(ss.Team().Save(&o4))
_, err = ss.Team().Save(&o4)
require.Nil(t, err)
if r1 := <-ss.Team().GetAllPrivateTeamListing(); r1.Err != nil {
t.Fatal(r1.Err)
@@ -632,7 +653,8 @@ func testGetAllPrivateTeamPageListing(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1.AllowOpenInvite = true
store.Must(ss.Team().Save(&o1))
_, err := ss.Team().Save(&o1)
require.Nil(t, err)
o2 := model.Team{}
o2.DisplayName = "DisplayName"
@@ -640,7 +662,8 @@ func testGetAllPrivateTeamPageListing(t *testing.T, ss store.Store) {
o2.Email = MakeEmail()
o2.Type = model.TEAM_OPEN
o2.AllowOpenInvite = false
store.Must(ss.Team().Save(&o2))
_, err = ss.Team().Save(&o2)
require.Nil(t, err)
o3 := model.Team{}
o3.DisplayName = "DisplayName"
@@ -648,7 +671,8 @@ func testGetAllPrivateTeamPageListing(t *testing.T, ss store.Store) {
o3.Email = MakeEmail()
o3.Type = model.TEAM_INVITE
o3.AllowOpenInvite = true
store.Must(ss.Team().Save(&o3))
_, err = ss.Team().Save(&o3)
require.Nil(t, err)
o4 := model.Team{}
o4.DisplayName = "DisplayName"
@@ -656,7 +680,8 @@ func testGetAllPrivateTeamPageListing(t *testing.T, ss store.Store) {
o4.Email = MakeEmail()
o4.Type = model.TEAM_INVITE
o4.AllowOpenInvite = false
store.Must(ss.Team().Save(&o4))
_, err = ss.Team().Save(&o4)
require.Nil(t, err)
if r1 := <-ss.Team().GetAllPrivateTeamPageListing(0, 10); r1.Err != nil {
t.Fatal(r1.Err)
@@ -680,7 +705,8 @@ func testGetAllPrivateTeamPageListing(t *testing.T, ss store.Store) {
o5.Email = MakeEmail()
o5.Type = model.TEAM_OPEN
o5.AllowOpenInvite = true
store.Must(ss.Team().Save(&o5))
_, err = ss.Team().Save(&o5)
require.Nil(t, err)
if r1 := <-ss.Team().GetAllPrivateTeamPageListing(0, 4); r1.Err != nil {
t.Fatal(r1.Err)
@@ -722,14 +748,16 @@ func testDelete(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1.AllowOpenInvite = true
store.Must(ss.Team().Save(&o1))
_, err := ss.Team().Save(&o1)
require.Nil(t, err)
o2 := model.Team{}
o2.DisplayName = "DisplayName"
o2.Name = "zz" + model.NewId() + "b"
o2.Email = MakeEmail()
o2.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&o2))
_, err = ss.Team().Save(&o2)
require.Nil(t, err)
if r1 := <-ss.Team().PermanentDelete(o1.Id); r1.Err != nil {
t.Fatal(r1.Err)
@@ -743,7 +771,8 @@ func testTeamCount(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1.AllowOpenInvite = true
store.Must(ss.Team().Save(&o1))
_, err := ss.Team().Save(&o1)
require.Nil(t, err)
if r1 := <-ss.Team().AnalyticsTeamCount(); r1.Err != nil {
t.Fatal(r1.Err)
@@ -907,11 +936,12 @@ func testTeamMembersWithPagination(t *testing.T, ss store.Store) {
func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
maxUsersPerTeam := 5
team := store.Must(ss.Team().Save(&model.Team{
team, err := ss.Team().Save(&model.Team{
DisplayName: "DisplayName",
Name: "z-z-z" + model.NewId() + "b",
Type: model.TEAM_OPEN,
})).(*model.Team)
})
require.Nil(t, err)
defer func() {
<-ss.Team().PermanentDelete(team.Id)
}()
@@ -1049,12 +1079,13 @@ func testGetTeamMember(t *testing.T, ss store.Store) {
s2 = (<-ss.Scheme().Save(s2)).Data.(*model.Scheme)
t.Log(s2)
t2 := store.Must(ss.Team().Save(&model.Team{
t2, err := ss.Team().Save(&model.Team{
DisplayName: "DisplayName",
Name: "z-z-z" + model.NewId() + "b",
Type: model.TEAM_OPEN,
SchemeId: &s2.Id,
})).(*model.Team)
})
require.Nil(t, err)
defer func() {
<-ss.Team().PermanentDelete(t2.Id)
@@ -1270,11 +1301,12 @@ func testUpdateLastTeamIconUpdate(t *testing.T, ss store.Store) {
o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN
o1.LastTeamIconUpdate = lastTeamIconUpdateInitial
o1 = (<-ss.Team().Save(o1)).Data.(*model.Team)
o1, err := ss.Team().Save(o1)
require.Nil(t, err)
curTime := model.GetMillis()
if err := (<-ss.Team().UpdateLastTeamIconUpdate(o1.Id, curTime)).Err; err != nil {
if err = (<-ss.Team().UpdateLastTeamIconUpdate(o1.Id, curTime)).Err; err != nil {
t.Fatal(err)
}
@@ -1329,9 +1361,14 @@ func testGetTeamsByScheme(t *testing.T, ss store.Store) {
Type: model.TEAM_OPEN,
}
_ = (<-ss.Team().Save(t1)).Data.(*model.Team)
_ = (<-ss.Team().Save(t2)).Data.(*model.Team)
_ = (<-ss.Team().Save(t3)).Data.(*model.Team)
_, err := ss.Team().Save(t1)
require.Nil(t, err)
_, err = ss.Team().Save(t2)
require.Nil(t, err)
_, err = ss.Team().Save(t3)
require.Nil(t, err)
// Get the teams by a valid Scheme ID.
res1 := <-ss.Team().GetTeamsByScheme(s1.Id, 0, 100)
@@ -1362,7 +1399,8 @@ func testTeamStoreMigrateTeamMembers(t *testing.T, ss store.Store) {
InviteId: model.NewId(),
SchemeId: &s1,
}
t1 = store.Must(ss.Team().Save(t1)).(*model.Team)
t1, err := ss.Team().Save(t1)
require.Nil(t, err)
tm1 := &model.TeamMember{
TeamId: t1.Id,
@@ -1446,8 +1484,10 @@ func testResetAllTeamSchemes(t *testing.T, ss store.Store) {
SchemeId: &s1.Id,
}
t1 = (<-ss.Team().Save(t1)).Data.(*model.Team)
t2 = (<-ss.Team().Save(t2)).Data.(*model.Team)
t1, err := ss.Team().Save(t1)
require.Nil(t, err)
t2, err = ss.Team().Save(t2)
require.Nil(t, err)
assert.Equal(t, s1.Id, *t1.SchemeId)
assert.Equal(t, s1.Id, *t2.SchemeId)
@@ -1455,7 +1495,7 @@ func testResetAllTeamSchemes(t *testing.T, ss store.Store) {
res := <-ss.Team().ResetAllTeamSchemes()
assert.Nil(t, res.Err)
t1, err := ss.Team().Get(t1.Id)
t1, err = ss.Team().Get(t1.Id)
require.Nil(t, err)
t2, err = ss.Team().Get(t2.Id)
@@ -1530,7 +1570,8 @@ func testTeamStoreAnalyticsGetTeamCountForScheme(t *testing.T, ss store.Store) {
Type: model.TEAM_OPEN,
SchemeId: &s1.Id,
}
_ = (<-ss.Team().Save(t1)).Data.(*model.Team)
_, err := ss.Team().Save(t1)
require.Nil(t, err)
count2 := (<-ss.Team().AnalyticsGetTeamCountForScheme(s1.Id)).Data.(int64)
assert.Equal(t, int64(1), count2)
@@ -1542,7 +1583,8 @@ func testTeamStoreAnalyticsGetTeamCountForScheme(t *testing.T, ss store.Store) {
Type: model.TEAM_OPEN,
SchemeId: &s1.Id,
}
_ = (<-ss.Team().Save(t2)).Data.(*model.Team)
_, err = ss.Team().Save(t2)
require.Nil(t, err)
count3 := (<-ss.Team().AnalyticsGetTeamCountForScheme(s1.Id)).Data.(int64)
assert.Equal(t, int64(2), count3)
@@ -1553,7 +1595,8 @@ func testTeamStoreAnalyticsGetTeamCountForScheme(t *testing.T, ss store.Store) {
Email: MakeEmail(),
Type: model.TEAM_OPEN,
}
_ = (<-ss.Team().Save(t3)).Data.(*model.Team)
_, err = ss.Team().Save(t3)
require.Nil(t, err)
count4 := (<-ss.Team().AnalyticsGetTeamCountForScheme(s1.Id)).Data.(int64)
assert.Equal(t, int64(2), count4)
@@ -1566,7 +1609,8 @@ func testTeamStoreAnalyticsGetTeamCountForScheme(t *testing.T, ss store.Store) {
SchemeId: &s1.Id,
DeleteAt: model.GetMillis(),
}
_ = (<-ss.Team().Save(t4)).Data.(*model.Team)
_, err = ss.Team().Save(t4)
require.Nil(t, err)
count5 := (<-ss.Team().AnalyticsGetTeamCountForScheme(s1.Id)).Data.(int64)
assert.Equal(t, int64(2), count5)
@@ -1578,7 +1622,8 @@ func testTeamStoreGetAllForExportAfter(t *testing.T, ss store.Store) {
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
r1 := <-ss.Team().GetAllForExportAfter(10000, strings.Repeat("0", 26))
assert.Nil(t, r1.Err)
@@ -1602,7 +1647,8 @@ func testTeamStoreGetTeamMembersForExport(t *testing.T, ss store.Store) {
t1.Name = model.NewId()
t1.Email = MakeEmail()
t1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&t1))
_, err := ss.Team().Save(&t1)
require.Nil(t, err)
u1 := model.User{}
u1.Email = MakeEmail()

View File

@@ -3325,11 +3325,12 @@ func testUserStoreGetAllAfter(t *testing.T, ss store.Store) {
func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) {
// Set up all the objects needed
t1 := store.Must(ss.Team().Save(&model.Team{
t1, err := ss.Team().Save(&model.Team{
DisplayName: "Team1",
Name: model.NewId(),
Type: model.TEAM_OPEN,
})).(*model.Team)
})
require.Nil(t, err)
cPub1 := store.Must(ss.Channel().Save(&model.Channel{
Name: model.NewId(),
Type: model.CHANNEL_OPEN,
@@ -3445,21 +3446,20 @@ func testUserStoreGetUsersBatchForIndexing(t *testing.T, ss store.Store) {
func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) {
// create team
id := model.NewId()
res := <-ss.Team().Save(&model.Team{
team, err := ss.Team().Save(&model.Team{
DisplayName: "dn_" + id,
Name: "n-" + id,
Email: id + "@test.com",
Type: model.TEAM_INVITE,
})
require.Nil(t, res.Err)
team := res.Data.(*model.Team)
require.Nil(t, err)
require.NotNil(t, team)
// create users
var testUsers []*model.User
for i := 0; i < 3; i++ {
id = model.NewId()
res = <-ss.User().Save(&model.User{
res := <-ss.User().Save(&model.User{
Email: id + "@test.com",
Username: "un_" + id,
Nickname: "nn_" + id,
@@ -3477,7 +3477,7 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) {
userNoGroup := testUsers[2]
// add non-group-member to the team (to prove that the query isn't just returning all members)
res = <-ss.Team().SaveMember(&model.TeamMember{
res := <-ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id,
UserId: userNoGroup.Id,
}, 999)
@@ -3530,7 +3530,7 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) {
// update team to be group-constrained
team.GroupConstrained = model.NewBool(true)
team, err := ss.Team().Update(team)
team, err = ss.Team().Update(team)
require.Nil(t, err)
// still returns user (being group-constrained has no effect)