mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Migrating some GroupStore methods to sync by default (#11445)
* Migrating some GroupStore methods to sync by default * Fixing shadow variables
This commit is contained in:
36
app/group.go
36
app/group.go
@@ -10,51 +10,27 @@ import (
|
||||
)
|
||||
|
||||
func (a *App) GetGroup(id string) (*model.Group, *model.AppError) {
|
||||
result := <-a.Srv.Store.Group().Get(id)
|
||||
if result.Err != nil {
|
||||
return nil, result.Err
|
||||
}
|
||||
return result.Data.(*model.Group), nil
|
||||
return a.Srv.Store.Group().Get(id)
|
||||
}
|
||||
|
||||
func (a *App) GetGroupByRemoteID(remoteID string, groupSource model.GroupSource) (*model.Group, *model.AppError) {
|
||||
result := <-a.Srv.Store.Group().GetByRemoteID(remoteID, groupSource)
|
||||
if result.Err != nil {
|
||||
return nil, result.Err
|
||||
}
|
||||
return result.Data.(*model.Group), nil
|
||||
return a.Srv.Store.Group().GetByRemoteID(remoteID, groupSource)
|
||||
}
|
||||
|
||||
func (a *App) GetGroupsBySource(groupSource model.GroupSource) ([]*model.Group, *model.AppError) {
|
||||
result := <-a.Srv.Store.Group().GetAllBySource(groupSource)
|
||||
if result.Err != nil {
|
||||
return nil, result.Err
|
||||
}
|
||||
return result.Data.([]*model.Group), nil
|
||||
return a.Srv.Store.Group().GetAllBySource(groupSource)
|
||||
}
|
||||
|
||||
func (a *App) CreateGroup(group *model.Group) (*model.Group, *model.AppError) {
|
||||
result := <-a.Srv.Store.Group().Create(group)
|
||||
if result.Err != nil {
|
||||
return nil, result.Err
|
||||
}
|
||||
return result.Data.(*model.Group), nil
|
||||
return a.Srv.Store.Group().Create(group)
|
||||
}
|
||||
|
||||
func (a *App) UpdateGroup(group *model.Group) (*model.Group, *model.AppError) {
|
||||
result := <-a.Srv.Store.Group().Update(group)
|
||||
if result.Err != nil {
|
||||
return nil, result.Err
|
||||
}
|
||||
return result.Data.(*model.Group), nil
|
||||
return a.Srv.Store.Group().Update(group)
|
||||
}
|
||||
|
||||
func (a *App) DeleteGroup(groupID string) (*model.Group, *model.AppError) {
|
||||
result := <-a.Srv.Store.Group().Delete(groupID)
|
||||
if result.Err != nil {
|
||||
return nil, result.Err
|
||||
}
|
||||
return result.Data.(*model.Group), nil
|
||||
return a.Srv.Store.Group().Delete(groupID)
|
||||
}
|
||||
|
||||
func (a *App) GetGroupMemberUsers(groupID string) ([]*model.User, *model.AppError) {
|
||||
|
||||
@@ -84,53 +84,39 @@ func (s *SqlGroupStore) CreateIndexesIfNotExists() {
|
||||
s.CreateIndexIfNotExists("idx_usergroups_delete_at", "UserGroups", "DeleteAt")
|
||||
}
|
||||
|
||||
func (s *SqlGroupStore) Create(group *model.Group) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
func (s *SqlGroupStore) Create(group *model.Group) (*model.Group, *model.AppError) {
|
||||
if len(group.Id) != 0 {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupCreate", "model.group.id.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
if len(group.Id) != 0 {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupCreate", "model.group.id.app_error", nil, "", http.StatusBadRequest)
|
||||
return
|
||||
if err := group.IsValidForCreate(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
group.Id = model.NewId()
|
||||
group.CreateAt = model.GetMillis()
|
||||
group.UpdateAt = group.CreateAt
|
||||
|
||||
if err := s.GetMaster().Insert(group); err != nil {
|
||||
if IsUniqueConstraintError(err, []string{"Name", "groups_name_key"}) {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupCreate", "store.sql_group.unique_constraint", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupCreate", "store.insert_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
if err := group.IsValidForCreate(); err != nil {
|
||||
result.Err = err
|
||||
return
|
||||
}
|
||||
|
||||
group.Id = model.NewId()
|
||||
group.CreateAt = model.GetMillis()
|
||||
group.UpdateAt = group.CreateAt
|
||||
|
||||
if err := s.GetMaster().Insert(group); err != nil {
|
||||
if IsUniqueConstraintError(err, []string{"Name", "groups_name_key"}) {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupCreate", "store.sql_group.unique_constraint", nil, err.Error(), http.StatusInternalServerError)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupCreate", "store.insert_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
result.Data = group
|
||||
return
|
||||
})
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (s *SqlGroupStore) Get(groupId string) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
|
||||
var group *model.Group
|
||||
if err := s.GetReplica().SelectOne(&group, "SELECT * from UserGroups WHERE Id = :Id", map[string]interface{}{"Id": groupId}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupGet", "store.sql_group.no_rows", nil, err.Error(), http.StatusNotFound)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupGet", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
return
|
||||
func (s *SqlGroupStore) Get(groupId string) (*model.Group, *model.AppError) {
|
||||
var group *model.Group
|
||||
if err := s.GetReplica().SelectOne(&group, "SELECT * from UserGroups WHERE Id = :Id", map[string]interface{}{"Id": groupId}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupGet", "store.sql_group.no_rows", nil, err.Error(), http.StatusNotFound)
|
||||
}
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupGet", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = group
|
||||
return
|
||||
})
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (s *SqlGroupStore) GetByIDs(groupIDs []string) ([]*model.Group, *model.AppError) {
|
||||
@@ -146,108 +132,79 @@ func (s *SqlGroupStore) GetByIDs(groupIDs []string) ([]*model.Group, *model.AppE
|
||||
return groups, nil
|
||||
}
|
||||
|
||||
func (s *SqlGroupStore) GetByRemoteID(remoteID string, groupSource model.GroupSource) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
|
||||
var group *model.Group
|
||||
if err := s.GetReplica().SelectOne(&group, "SELECT * from UserGroups WHERE RemoteId = :RemoteId AND Source = :Source", map[string]interface{}{"RemoteId": remoteID, "Source": groupSource}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupGetByRemoteID", "store.sql_group.no_rows", nil, err.Error(), http.StatusNotFound)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupGetByRemoteID", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
return
|
||||
func (s *SqlGroupStore) GetByRemoteID(remoteID string, groupSource model.GroupSource) (*model.Group, *model.AppError) {
|
||||
var group *model.Group
|
||||
if err := s.GetReplica().SelectOne(&group, "SELECT * from UserGroups WHERE RemoteId = :RemoteId AND Source = :Source", map[string]interface{}{"RemoteId": remoteID, "Source": groupSource}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupGetByRemoteID", "store.sql_group.no_rows", nil, err.Error(), http.StatusNotFound)
|
||||
}
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupGetByRemoteID", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = group
|
||||
return
|
||||
})
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (s *SqlGroupStore) GetAllBySource(groupSource model.GroupSource) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
func (s *SqlGroupStore) GetAllBySource(groupSource model.GroupSource) ([]*model.Group, *model.AppError) {
|
||||
var groups []*model.Group
|
||||
|
||||
var groups []*model.Group
|
||||
if _, err := s.GetReplica().Select(&groups, "SELECT * from UserGroups WHERE DeleteAt = 0 AND Source = :Source", map[string]interface{}{"Source": groupSource}); err != nil {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupGetAllBySource", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
if _, err := s.GetReplica().Select(&groups, "SELECT * from UserGroups WHERE DeleteAt = 0 AND Source = :Source", map[string]interface{}{"Source": groupSource}); err != nil {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupGetAllBySource", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
result.Data = groups
|
||||
|
||||
return
|
||||
})
|
||||
return groups, nil
|
||||
}
|
||||
|
||||
func (s *SqlGroupStore) Update(group *model.Group) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
|
||||
var retrievedGroup *model.Group
|
||||
if err := s.GetMaster().SelectOne(&retrievedGroup, "SELECT * FROM UserGroups WHERE Id = :Id", map[string]interface{}{"Id": group.Id}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupUpdate", "store.sql_group.no_rows", nil, "id="+group.Id+","+err.Error(), http.StatusNotFound)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupUpdate", "store.select_error", nil, "id="+group.Id+","+err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
return
|
||||
func (s *SqlGroupStore) Update(group *model.Group) (*model.Group, *model.AppError) {
|
||||
var retrievedGroup *model.Group
|
||||
if err := s.GetMaster().SelectOne(&retrievedGroup, "SELECT * FROM UserGroups WHERE Id = :Id", map[string]interface{}{"Id": group.Id}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupUpdate", "store.sql_group.no_rows", nil, "id="+group.Id+","+err.Error(), http.StatusNotFound)
|
||||
}
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupUpdate", "store.select_error", nil, "id="+group.Id+","+err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
// If updating DeleteAt it can only be to 0
|
||||
if group.DeleteAt != retrievedGroup.DeleteAt && group.DeleteAt != 0 {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupUpdate", "model.group.delete_at.app_error", nil, "", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
// If updating DeleteAt it can only be to 0
|
||||
if group.DeleteAt != retrievedGroup.DeleteAt && group.DeleteAt != 0 {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupUpdate", "model.group.delete_at.app_error", nil, "", http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
// Reset these properties, don't update them based on input
|
||||
group.CreateAt = retrievedGroup.CreateAt
|
||||
group.UpdateAt = model.GetMillis()
|
||||
// Reset these properties, don't update them based on input
|
||||
group.CreateAt = retrievedGroup.CreateAt
|
||||
group.UpdateAt = model.GetMillis()
|
||||
|
||||
if err := group.IsValidForUpdate(); err != nil {
|
||||
result.Err = err
|
||||
return
|
||||
}
|
||||
if err := group.IsValidForUpdate(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rowsChanged, err := s.GetMaster().Update(group)
|
||||
if err != nil {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupUpdate", "store.update_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
if rowsChanged != 1 {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupUpdate", "store.sql_group.no_rows_changed", nil, "", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
rowsChanged, err := s.GetMaster().Update(group)
|
||||
if err != nil {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupUpdate", "store.update_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
if rowsChanged != 1 {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupUpdate", "store.sql_group.no_rows_changed", nil, "", http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = group
|
||||
return
|
||||
})
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (s *SqlGroupStore) Delete(groupID string) store.StoreChannel {
|
||||
return store.Do(func(result *store.StoreResult) {
|
||||
|
||||
var group *model.Group
|
||||
if err := s.GetReplica().SelectOne(&group, "SELECT * from UserGroups WHERE Id = :Id AND DeleteAt = 0", map[string]interface{}{"Id": groupID}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupDelete", "store.sql_group.no_rows", nil, "Id="+groupID+", "+err.Error(), http.StatusNotFound)
|
||||
} else {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupDelete", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return
|
||||
func (s *SqlGroupStore) Delete(groupID string) (*model.Group, *model.AppError) {
|
||||
var group *model.Group
|
||||
if err := s.GetReplica().SelectOne(&group, "SELECT * from UserGroups WHERE Id = :Id AND DeleteAt = 0", map[string]interface{}{"Id": groupID}); err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupDelete", "store.sql_group.no_rows", nil, "Id="+groupID+", "+err.Error(), http.StatusNotFound)
|
||||
}
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupDelete", "store.select_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
time := model.GetMillis()
|
||||
group.DeleteAt = time
|
||||
group.UpdateAt = time
|
||||
time := model.GetMillis()
|
||||
group.DeleteAt = time
|
||||
group.UpdateAt = time
|
||||
|
||||
if _, err := s.GetMaster().Update(group); err != nil {
|
||||
result.Err = model.NewAppError("SqlGroupStore.GroupDelete", "store.update_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
if _, err := s.GetMaster().Update(group); err != nil {
|
||||
return nil, model.NewAppError("SqlGroupStore.GroupDelete", "store.update_error", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
result.Data = group
|
||||
return
|
||||
})
|
||||
return group, nil
|
||||
}
|
||||
|
||||
func (s *SqlGroupStore) GetMemberUsers(groupID string) store.StoreChannel {
|
||||
|
||||
@@ -573,13 +573,13 @@ type UserTermsOfServiceStore interface {
|
||||
}
|
||||
|
||||
type GroupStore interface {
|
||||
Create(group *model.Group) StoreChannel
|
||||
Get(groupID string) StoreChannel
|
||||
Create(group *model.Group) (*model.Group, *model.AppError)
|
||||
Get(groupID string) (*model.Group, *model.AppError)
|
||||
GetByIDs(groupIDs []string) ([]*model.Group, *model.AppError)
|
||||
GetByRemoteID(remoteID string, groupSource model.GroupSource) StoreChannel
|
||||
GetAllBySource(groupSource model.GroupSource) StoreChannel
|
||||
Update(group *model.Group) StoreChannel
|
||||
Delete(groupID string) StoreChannel
|
||||
GetByRemoteID(remoteID string, groupSource model.GroupSource) (*model.Group, *model.AppError)
|
||||
GetAllBySource(groupSource model.GroupSource) ([]*model.Group, *model.AppError)
|
||||
Update(group *model.Group) (*model.Group, *model.AppError)
|
||||
Delete(groupID string) (*model.Group, *model.AppError)
|
||||
|
||||
GetMemberUsers(groupID string) StoreChannel
|
||||
GetMemberUsersPage(groupID string, offset int, limit int) StoreChannel
|
||||
|
||||
@@ -1113,7 +1113,9 @@ func testChannelStoreGetAllChannels(t *testing.T, ss store.Store, s SqlSupplier)
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
store.Must(ss.Group().Create(group))
|
||||
_, err = ss.Group().Create(group)
|
||||
require.Nil(t, err)
|
||||
|
||||
_, err = ss.Group().CreateGroupSyncable(model.NewGroupChannel(group.Id, c1.Id, true))
|
||||
require.Nil(t, err)
|
||||
|
||||
@@ -2457,7 +2459,9 @@ func testChannelStoreSearchAllChannels(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
store.Must(ss.Group().Create(group))
|
||||
_, err = ss.Group().Create(group)
|
||||
require.Nil(t, err)
|
||||
|
||||
_, err = ss.Group().CreateGroupSyncable(model.NewGroupChannel(group.Id, o7.Id, true))
|
||||
require.Nil(t, err)
|
||||
|
||||
|
||||
@@ -61,9 +61,8 @@ func testGroupStoreCreate(t *testing.T, ss store.Store) {
|
||||
}
|
||||
|
||||
// Happy path
|
||||
res1 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res1.Err)
|
||||
d1 := res1.Data.(*model.Group)
|
||||
d1, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
require.Len(t, d1.Id, 26)
|
||||
require.Equal(t, g1.Name, d1.Name)
|
||||
require.Equal(t, g1.DisplayName, d1.DisplayName)
|
||||
@@ -80,17 +79,17 @@ func testGroupStoreCreate(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res2 := <-ss.Group().Create(g2)
|
||||
require.Nil(t, res2.Data)
|
||||
require.NotNil(t, res2.Err)
|
||||
require.Equal(t, res2.Err.Id, "model.group.name.app_error")
|
||||
data, err := ss.Group().Create(g2)
|
||||
require.Nil(t, data)
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "model.group.name.app_error")
|
||||
|
||||
g2.Name = model.NewId()
|
||||
g2.DisplayName = ""
|
||||
res3 := <-ss.Group().Create(g2)
|
||||
require.Nil(t, res3.Data)
|
||||
require.NotNil(t, res3.Err)
|
||||
require.Equal(t, res3.Err.Id, "model.group.display_name.app_error")
|
||||
data, err = ss.Group().Create(g2)
|
||||
require.Nil(t, data)
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "model.group.display_name.app_error")
|
||||
|
||||
// Won't accept a duplicate name
|
||||
g4 := &model.Group{
|
||||
@@ -99,17 +98,17 @@ func testGroupStoreCreate(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res5 := <-ss.Group().Create(g4)
|
||||
require.Nil(t, res5.Err)
|
||||
_, err = ss.Group().Create(g4)
|
||||
require.Nil(t, err)
|
||||
g4b := &model.Group{
|
||||
Name: g4.Name,
|
||||
DisplayName: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res5b := <-ss.Group().Create(g4b)
|
||||
require.Nil(t, res5b.Data)
|
||||
require.Equal(t, res5b.Err.Id, "store.sql_group.unique_constraint")
|
||||
data, err = ss.Group().Create(g4b)
|
||||
require.Nil(t, data)
|
||||
require.Equal(t, err.Id, "store.sql_group.unique_constraint")
|
||||
|
||||
// Fields cannot be greater than max values
|
||||
g5 := &model.Group{
|
||||
@@ -156,15 +155,13 @@ func testGroupStoreGet(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res1 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res1.Err)
|
||||
d1 := res1.Data.(*model.Group)
|
||||
d1, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
require.Len(t, d1.Id, 26)
|
||||
|
||||
// Get the group
|
||||
res2 := <-ss.Group().Get(d1.Id)
|
||||
require.Nil(t, res2.Err)
|
||||
d2 := res2.Data.(*model.Group)
|
||||
d2, err := ss.Group().Get(d1.Id)
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, d1.Id, d2.Id)
|
||||
require.Equal(t, d1.Name, d2.Name)
|
||||
require.Equal(t, d1.DisplayName, d2.DisplayName)
|
||||
@@ -175,9 +172,9 @@ func testGroupStoreGet(t *testing.T, ss store.Store) {
|
||||
require.Equal(t, d1.DeleteAt, d2.DeleteAt)
|
||||
|
||||
// Get an invalid group
|
||||
res3 := <-ss.Group().Get(model.NewId())
|
||||
require.NotNil(t, res3.Err)
|
||||
require.Equal(t, res3.Err.Id, "store.sql_group.no_rows")
|
||||
_, err = ss.Group().Get(model.NewId())
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "store.sql_group.no_rows")
|
||||
}
|
||||
|
||||
func testGroupStoreGetByIDs(t *testing.T, ss store.Store) {
|
||||
@@ -192,9 +189,8 @@ func testGroupStoreGetByIDs(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res := <-ss.Group().Create(group)
|
||||
require.Nil(t, res.Err)
|
||||
group = res.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(group)
|
||||
require.Nil(t, err)
|
||||
switch i {
|
||||
case 0:
|
||||
group1 = group
|
||||
@@ -223,15 +219,13 @@ func testGroupStoreGetByRemoteID(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res1 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res1.Err)
|
||||
d1 := res1.Data.(*model.Group)
|
||||
d1, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
require.Len(t, d1.Id, 26)
|
||||
|
||||
// Get the group
|
||||
res2 := <-ss.Group().GetByRemoteID(d1.RemoteId, model.GroupSourceLdap)
|
||||
require.Nil(t, res2.Err)
|
||||
d2 := res2.Data.(*model.Group)
|
||||
d2, err := ss.Group().GetByRemoteID(d1.RemoteId, model.GroupSourceLdap)
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, d1.Id, d2.Id)
|
||||
require.Equal(t, d1.Name, d2.Name)
|
||||
require.Equal(t, d1.DisplayName, d2.DisplayName)
|
||||
@@ -242,9 +236,9 @@ func testGroupStoreGetByRemoteID(t *testing.T, ss store.Store) {
|
||||
require.Equal(t, d1.DeleteAt, d2.DeleteAt)
|
||||
|
||||
// Get an invalid group
|
||||
res3 := <-ss.Group().GetByRemoteID(model.NewId(), model.GroupSource("fake"))
|
||||
require.NotNil(t, res3.Err)
|
||||
require.Equal(t, res3.Err.Id, "store.sql_group.no_rows")
|
||||
_, err = ss.Group().GetByRemoteID(model.NewId(), model.GroupSource("fake"))
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "store.sql_group.no_rows")
|
||||
}
|
||||
|
||||
func testGroupStoreGetAllByType(t *testing.T, ss store.Store) {
|
||||
@@ -262,13 +256,13 @@ func testGroupStoreGetAllByType(t *testing.T, ss store.Store) {
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
groups = append(groups, g)
|
||||
res := <-ss.Group().Create(g)
|
||||
require.Nil(t, res.Err)
|
||||
_, err := ss.Group().Create(g)
|
||||
require.Nil(t, err)
|
||||
}
|
||||
|
||||
// Returns all the groups
|
||||
res1 := <-ss.Group().GetAllBySource(model.GroupSourceLdap)
|
||||
d1 := res1.Data.([]*model.Group)
|
||||
d1, err := ss.Group().GetAllBySource(model.GroupSourceLdap)
|
||||
require.Nil(t, err)
|
||||
require.Condition(t, func() bool { return len(d1) >= numGroups })
|
||||
for _, expectedGroup := range groups {
|
||||
present := false
|
||||
@@ -293,9 +287,8 @@ func testGroupStoreUpdate(t *testing.T, ss store.Store) {
|
||||
}
|
||||
|
||||
// Create a group
|
||||
res := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res.Err)
|
||||
d1 := res.Data.(*model.Group)
|
||||
d1, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Update happy path
|
||||
g1Update := &model.Group{}
|
||||
@@ -305,9 +298,8 @@ func testGroupStoreUpdate(t *testing.T, ss store.Store) {
|
||||
g1Update.Description = model.NewId()
|
||||
g1Update.RemoteId = model.NewId()
|
||||
|
||||
res2 := <-ss.Group().Update(g1Update)
|
||||
require.Nil(t, res2.Err)
|
||||
ud1 := res2.Data.(*model.Group)
|
||||
ud1, err := ss.Group().Update(g1Update)
|
||||
require.Nil(t, err)
|
||||
// Not changed...
|
||||
require.Equal(t, d1.Id, ud1.Id)
|
||||
require.Equal(t, d1.CreateAt, ud1.CreateAt)
|
||||
@@ -321,7 +313,7 @@ func testGroupStoreUpdate(t *testing.T, ss store.Store) {
|
||||
require.Equal(t, g1Update.RemoteId, ud1.RemoteId)
|
||||
|
||||
// Requires name and display name
|
||||
res3 := <-ss.Group().Update(&model.Group{
|
||||
data, err := ss.Group().Update(&model.Group{
|
||||
Id: d1.Id,
|
||||
Name: "",
|
||||
DisplayName: model.NewId(),
|
||||
@@ -329,20 +321,20 @@ func testGroupStoreUpdate(t *testing.T, ss store.Store) {
|
||||
RemoteId: model.NewId(),
|
||||
Description: model.NewId(),
|
||||
})
|
||||
require.Nil(t, res3.Data)
|
||||
require.NotNil(t, res3.Err)
|
||||
require.Equal(t, res3.Err.Id, "model.group.name.app_error")
|
||||
require.Nil(t, data)
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "model.group.name.app_error")
|
||||
|
||||
res4 := <-ss.Group().Update(&model.Group{
|
||||
data, err = ss.Group().Update(&model.Group{
|
||||
Id: d1.Id,
|
||||
Name: model.NewId(),
|
||||
DisplayName: "",
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
})
|
||||
require.Nil(t, res4.Data)
|
||||
require.NotNil(t, res4.Err)
|
||||
require.Equal(t, res4.Err.Id, "model.group.display_name.app_error")
|
||||
require.Nil(t, data)
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "model.group.display_name.app_error")
|
||||
|
||||
// Create another Group
|
||||
g2 := &model.Group{
|
||||
@@ -352,12 +344,11 @@ func testGroupStoreUpdate(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res5 := <-ss.Group().Create(g2)
|
||||
require.Nil(t, res5.Err)
|
||||
d2 := res5.Data.(*model.Group)
|
||||
d2, err := ss.Group().Create(g2)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Can't update the name to be a duplicate of an existing group's name
|
||||
res6 := <-ss.Group().Update(&model.Group{
|
||||
_, err = ss.Group().Update(&model.Group{
|
||||
Id: d2.Id,
|
||||
Name: g1Update.Name,
|
||||
DisplayName: model.NewId(),
|
||||
@@ -365,25 +356,24 @@ func testGroupStoreUpdate(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
RemoteId: model.NewId(),
|
||||
})
|
||||
require.Equal(t, res6.Err.Id, "store.update_error")
|
||||
require.Equal(t, err.Id, "store.update_error")
|
||||
|
||||
// Cannot update CreateAt
|
||||
someVal := model.GetMillis()
|
||||
d1.CreateAt = someVal
|
||||
res7 := <-ss.Group().Update(d1)
|
||||
d3 := res7.Data.(*model.Group)
|
||||
d3, err := ss.Group().Update(d1)
|
||||
require.Nil(t, err)
|
||||
require.NotEqual(t, someVal, d3.CreateAt)
|
||||
|
||||
// Cannot update DeleteAt to non-zero
|
||||
d1.DeleteAt = 1
|
||||
res9 := <-ss.Group().Update(d1)
|
||||
require.Equal(t, "model.group.delete_at.app_error", res9.Err.Id)
|
||||
_, err = ss.Group().Update(d1)
|
||||
require.Equal(t, "model.group.delete_at.app_error", err.Id)
|
||||
|
||||
//...except for 0 for DeleteAt
|
||||
d1.DeleteAt = 0
|
||||
res8 := <-ss.Group().Update(d1)
|
||||
require.Nil(t, res8.Err)
|
||||
d4 := res8.Data.(*model.Group)
|
||||
d4, err := ss.Group().Update(d1)
|
||||
require.Nil(t, err)
|
||||
require.Zero(t, d4.DeleteAt)
|
||||
}
|
||||
|
||||
@@ -397,43 +387,42 @@ func testGroupStoreDelete(t *testing.T, ss store.Store) {
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
|
||||
res1 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res1.Err)
|
||||
d1 := res1.Data.(*model.Group)
|
||||
d1, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
require.Len(t, d1.Id, 26)
|
||||
|
||||
// Check the group is retrievable
|
||||
res2 := <-ss.Group().Get(d1.Id)
|
||||
require.Nil(t, res2.Err)
|
||||
_, err = ss.Group().Get(d1.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Get the before count
|
||||
res7 := <-ss.Group().GetAllBySource(model.GroupSourceLdap)
|
||||
d7 := res7.Data.([]*model.Group)
|
||||
d7, err := ss.Group().GetAllBySource(model.GroupSourceLdap)
|
||||
require.Nil(t, err)
|
||||
beforeCount := len(d7)
|
||||
|
||||
// Delete the group
|
||||
res3 := <-ss.Group().Delete(d1.Id)
|
||||
require.Nil(t, res3.Err)
|
||||
_, err = ss.Group().Delete(d1.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Check the group is deleted
|
||||
res4 := <-ss.Group().Get(d1.Id)
|
||||
d4 := res4.Data.(*model.Group)
|
||||
d4, err := ss.Group().Get(d1.Id)
|
||||
require.Nil(t, err)
|
||||
require.NotZero(t, d4.DeleteAt)
|
||||
|
||||
// Check the after count
|
||||
res5 := <-ss.Group().GetAllBySource(model.GroupSourceLdap)
|
||||
d5 := res5.Data.([]*model.Group)
|
||||
d5, err := ss.Group().GetAllBySource(model.GroupSourceLdap)
|
||||
require.Nil(t, err)
|
||||
afterCount := len(d5)
|
||||
require.Condition(t, func() bool { return beforeCount == afterCount+1 })
|
||||
|
||||
// Try and delete a nonexistent group
|
||||
res6 := <-ss.Group().Delete(model.NewId())
|
||||
require.NotNil(t, res6.Err)
|
||||
require.Equal(t, res6.Err.Id, "store.sql_group.no_rows")
|
||||
_, err = ss.Group().Delete(model.NewId())
|
||||
require.NotNil(t, err)
|
||||
require.Equal(t, err.Id, "store.sql_group.no_rows")
|
||||
|
||||
// Cannot delete again
|
||||
res8 := <-ss.Group().Delete(d1.Id)
|
||||
require.Equal(t, res8.Err.Id, "store.sql_group.no_rows")
|
||||
_, err = ss.Group().Delete(d1.Id)
|
||||
require.Equal(t, err.Id, "store.sql_group.no_rows")
|
||||
}
|
||||
|
||||
func testGroupGetMemberUsers(t *testing.T, ss store.Store) {
|
||||
@@ -445,15 +434,14 @@ func testGroupGetMemberUsers(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res.Err)
|
||||
group := res.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
u1 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
res = <-ss.User().Save(u1)
|
||||
res := <-ss.User().Save(u1)
|
||||
require.Nil(t, res.Err)
|
||||
user1 := res.Data.(*model.User)
|
||||
|
||||
@@ -499,15 +487,14 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res.Err)
|
||||
group := res.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
u1 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
res = <-ss.User().Save(u1)
|
||||
res := <-ss.User().Save(u1)
|
||||
require.Nil(t, res.Err)
|
||||
user1 := res.Data.(*model.User)
|
||||
|
||||
@@ -566,9 +553,8 @@ func testGroupCreateOrRestoreMember(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res1 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res1.Err)
|
||||
group := res1.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create user
|
||||
u1 := &model.User{
|
||||
@@ -623,9 +609,8 @@ func testGroupDeleteMember(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res1 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res1.Err)
|
||||
group := res1.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create user
|
||||
u1 := &model.User{
|
||||
@@ -675,9 +660,8 @@ func testCreateGroupSyncable(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res4 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res4.Err)
|
||||
group := res4.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Team
|
||||
t1 := &model.Team{
|
||||
@@ -713,9 +697,8 @@ func testGetGroupSyncable(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res1 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res1.Err)
|
||||
group := res1.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Team
|
||||
t1 := &model.Team{
|
||||
@@ -758,9 +741,8 @@ func testGetAllGroupSyncablesByGroup(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res1 := <-ss.Group().Create(g)
|
||||
require.Nil(t, res1.Err)
|
||||
group := res1.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g)
|
||||
require.Nil(t, err)
|
||||
|
||||
groupTeams := []*model.GroupSyncable{}
|
||||
|
||||
@@ -777,11 +759,13 @@ func testGetAllGroupSyncablesByGroup(t *testing.T, ss store.Store) {
|
||||
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
|
||||
Type: model.TEAM_OPEN,
|
||||
}
|
||||
team, err := ss.Team().Save(t1)
|
||||
var team *model.Team
|
||||
team, err = ss.Team().Save(t1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// create groupteam
|
||||
groupTeam, err := ss.Group().CreateGroupSyncable(model.NewGroupTeam(group.Id, team.Id, false))
|
||||
var groupTeam *model.GroupSyncable
|
||||
groupTeam, err = ss.Group().CreateGroupSyncable(model.NewGroupTeam(group.Id, team.Id, false))
|
||||
require.Nil(t, err)
|
||||
groupTeams = append(groupTeams, groupTeam)
|
||||
}
|
||||
@@ -810,9 +794,8 @@ func testUpdateGroupSyncable(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res4 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res4.Err)
|
||||
group := res4.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Team
|
||||
t1 := &model.Team{
|
||||
@@ -877,9 +860,8 @@ func testDeleteGroupSyncable(t *testing.T, ss store.Store) {
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res1 := <-ss.Group().Create(g1)
|
||||
require.Nil(t, res1.Err)
|
||||
group := res1.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Team
|
||||
t1 := &model.Team{
|
||||
@@ -926,21 +908,20 @@ func testDeleteGroupSyncable(t *testing.T, ss store.Store) {
|
||||
|
||||
func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) {
|
||||
// Create Group
|
||||
res := <-ss.Group().Create(&model.Group{
|
||||
group, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "TeamMembersToAdd Test Group",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create User
|
||||
user := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
res = <-ss.User().Save(user)
|
||||
res := <-ss.User().Save(user)
|
||||
require.Nil(t, res.Err)
|
||||
user = res.Data.(*model.User)
|
||||
|
||||
@@ -959,7 +940,7 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) {
|
||||
Email: "success+" + model.NewId() + "@simulator.amazonses.com",
|
||||
Type: model.TEAM_OPEN,
|
||||
}
|
||||
team, err := ss.Team().Save(team)
|
||||
team, err = ss.Team().Save(team)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create GroupTeam
|
||||
@@ -1020,15 +1001,16 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) {
|
||||
require.Len(t, teamMembers, 1)
|
||||
|
||||
// No result if Group deleted
|
||||
res = <-ss.Group().Delete(group.Id)
|
||||
require.Nil(t, res.Err)
|
||||
_, err = ss.Group().Delete(group.Id)
|
||||
require.Nil(t, err)
|
||||
teamMembers, err = ss.Group().TeamMembersToAdd(0)
|
||||
require.Nil(t, err)
|
||||
require.Len(t, teamMembers, 0)
|
||||
|
||||
// reset state of group and verify
|
||||
group.DeleteAt = 0
|
||||
res = <-ss.Group().Update(group)
|
||||
_, err = ss.Group().Update(group)
|
||||
require.Nil(t, err)
|
||||
teamMembers, err = ss.Group().TeamMembersToAdd(0)
|
||||
require.Nil(t, err)
|
||||
require.Len(t, teamMembers, 1)
|
||||
@@ -1089,21 +1071,20 @@ func testPendingAutoAddTeamMembers(t *testing.T, ss store.Store) {
|
||||
|
||||
func testPendingAutoAddChannelMembers(t *testing.T, ss store.Store) {
|
||||
// Create Group
|
||||
res := <-ss.Group().Create(&model.Group{
|
||||
group, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "ChannelMembersToAdd Test Group",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create User
|
||||
user := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
res = <-ss.User().Save(user)
|
||||
res := <-ss.User().Save(user)
|
||||
require.Nil(t, res.Err)
|
||||
user = res.Data.(*model.User)
|
||||
|
||||
@@ -1118,7 +1099,7 @@ func testPendingAutoAddChannelMembers(t *testing.T, ss store.Store) {
|
||||
Name: model.NewId(),
|
||||
Type: model.CHANNEL_OPEN, // Query does not look at type so this shouldn't matter.
|
||||
}
|
||||
channel, err := ss.Channel().Save(channel, 9999)
|
||||
channel, err = ss.Channel().Save(channel, 9999)
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create GroupChannel
|
||||
@@ -1179,15 +1160,16 @@ func testPendingAutoAddChannelMembers(t *testing.T, ss store.Store) {
|
||||
require.Len(t, channelMembers, 1)
|
||||
|
||||
// No result if Group deleted
|
||||
res = <-ss.Group().Delete(group.Id)
|
||||
require.Nil(t, res.Err)
|
||||
_, err = ss.Group().Delete(group.Id)
|
||||
require.Nil(t, err)
|
||||
channelMembers, err = ss.Group().ChannelMembersToAdd(0)
|
||||
require.Nil(t, err)
|
||||
require.Len(t, channelMembers, 0)
|
||||
|
||||
// reset state of group and verify
|
||||
group.DeleteAt = 0
|
||||
res = <-ss.Group().Update(group)
|
||||
_, err = ss.Group().Update(group)
|
||||
require.Nil(t, err)
|
||||
channelMembers, err = ss.Group().ChannelMembersToAdd(0)
|
||||
require.Nil(t, err)
|
||||
require.Len(t, channelMembers, 1)
|
||||
@@ -1420,14 +1402,13 @@ type removalsData struct {
|
||||
|
||||
func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData {
|
||||
// create group
|
||||
res := <-ss.Group().Create(&model.Group{
|
||||
group, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "Pending[Channel|Team]MemberRemovals Test Group",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// create users
|
||||
// userA will get removed from the group
|
||||
@@ -1435,7 +1416,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
res = <-ss.User().Save(userA)
|
||||
res := <-ss.User().Save(userA)
|
||||
require.Nil(t, res.Err)
|
||||
userA = res.Data.(*model.User)
|
||||
|
||||
@@ -1472,7 +1453,7 @@ func pendingMemberRemovalsDataSetup(t *testing.T, ss store.Store) *removalsData
|
||||
Type: model.CHANNEL_PRIVATE,
|
||||
GroupConstrained: model.NewBool(true),
|
||||
}
|
||||
channelConstrained, err := ss.Channel().Save(channelConstrained, 9999)
|
||||
channelConstrained, err = ss.Channel().Save(channelConstrained, 9999)
|
||||
require.Nil(t, err)
|
||||
|
||||
channelUnconstrained := &model.Channel{
|
||||
@@ -1587,23 +1568,21 @@ func testGetGroupsByChannel(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Groups 1 and 2
|
||||
res := <-ss.Group().Create(&model.Group{
|
||||
group1, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-1",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group1 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
res = <-ss.Group().Create(&model.Group{
|
||||
group2, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-2",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group2 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// And associate them with Channel1
|
||||
for _, g := range []*model.Group{group1, group2} {
|
||||
@@ -1627,14 +1606,13 @@ func testGetGroupsByChannel(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Group3
|
||||
res = <-ss.Group().Create(&model.Group{
|
||||
group3, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-3",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group3 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// And associate it to Channel2
|
||||
_, err = ss.Group().CreateGroupSyncable(&model.GroupSyncable{
|
||||
@@ -1650,7 +1628,7 @@ func testGetGroupsByChannel(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
res = <-ss.User().Save(u1)
|
||||
res := <-ss.User().Save(u1)
|
||||
require.Nil(t, res.Err)
|
||||
user1 := res.Data.(*model.User)
|
||||
<-ss.Group().UpsertMember(group1.Id, user1.Id)
|
||||
@@ -1784,23 +1762,21 @@ func testGetGroupsByTeam(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Groups 1 and 2
|
||||
res := <-ss.Group().Create(&model.Group{
|
||||
group1, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-1",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group1 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
res = <-ss.Group().Create(&model.Group{
|
||||
group2, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-2",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group2 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// And associate them with Team1
|
||||
for _, g := range []*model.Group{group1, group2} {
|
||||
@@ -1828,14 +1804,13 @@ func testGetGroupsByTeam(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Group3
|
||||
res = <-ss.Group().Create(&model.Group{
|
||||
group3, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-3",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group3 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// And associate it to Team2
|
||||
_, err = ss.Group().CreateGroupSyncable(&model.GroupSyncable{
|
||||
@@ -1851,7 +1826,7 @@ func testGetGroupsByTeam(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
res = <-ss.User().Save(u1)
|
||||
res := <-ss.User().Save(u1)
|
||||
require.Nil(t, res.Err)
|
||||
user1 := res.Data.(*model.User)
|
||||
<-ss.Group().UpsertMember(group1.Id, user1.Id)
|
||||
@@ -1996,23 +1971,21 @@ func testGetGroups(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Groups 1 and 2
|
||||
res := <-ss.Group().Create(&model.Group{
|
||||
group1, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-1",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group1 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
res = <-ss.Group().Create(&model.Group{
|
||||
group2, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-2",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group2 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// And associate them with Team1
|
||||
for _, g := range []*model.Group{group1, group2} {
|
||||
@@ -2050,14 +2023,13 @@ func testGetGroups(t *testing.T, ss store.Store) {
|
||||
require.Nil(t, err)
|
||||
|
||||
// Create Group3
|
||||
res = <-ss.Group().Create(&model.Group{
|
||||
group3, err := ss.Group().Create(&model.Group{
|
||||
Name: model.NewId(),
|
||||
DisplayName: "group-3",
|
||||
RemoteId: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group3 := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
|
||||
// And associate it to Team2
|
||||
_, err = ss.Group().CreateGroupSyncable(&model.GroupSyncable{
|
||||
@@ -2093,7 +2065,7 @@ func testGetGroups(t *testing.T, ss store.Store) {
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
}
|
||||
res = <-ss.User().Save(u1)
|
||||
res := <-ss.User().Save(u1)
|
||||
require.Nil(t, res.Err)
|
||||
user1 := res.Data.(*model.User)
|
||||
<-ss.Group().UpsertMember(group1.Id, user1.Id)
|
||||
@@ -2286,9 +2258,8 @@ func testTeamMembersMinusGroupMembers(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res := <-ss.Group().Create(group)
|
||||
require.Nil(t, res.Err)
|
||||
group = res.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(group)
|
||||
require.Nil(t, err)
|
||||
groups = append(groups, group)
|
||||
}
|
||||
|
||||
@@ -2440,9 +2411,8 @@ func testChannelMembersMinusGroupMembers(t *testing.T, ss store.Store) {
|
||||
Description: model.NewId(),
|
||||
RemoteId: model.NewId(),
|
||||
}
|
||||
res := <-ss.Group().Create(group)
|
||||
require.Nil(t, res.Err)
|
||||
group = res.Data.(*model.Group)
|
||||
group, err := ss.Group().Create(group)
|
||||
require.Nil(t, err)
|
||||
groups = append(groups, group)
|
||||
}
|
||||
|
||||
|
||||
@@ -181,19 +181,28 @@ func (_m *GroupStore) CountTeamMembersMinusGroupMembers(teamID string, groupIDs
|
||||
}
|
||||
|
||||
// Create provides a mock function with given fields: group
|
||||
func (_m *GroupStore) Create(group *model.Group) store.StoreChannel {
|
||||
func (_m *GroupStore) Create(group *model.Group) (*model.Group, *model.AppError) {
|
||||
ret := _m.Called(group)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(*model.Group) store.StoreChannel); ok {
|
||||
var r0 *model.Group
|
||||
if rf, ok := ret.Get(0).(func(*model.Group) *model.Group); ok {
|
||||
r0 = rf(group)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Group)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(*model.Group) *model.AppError); ok {
|
||||
r1 = rf(group)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// CreateGroupSyncable provides a mock function with given fields: groupSyncable
|
||||
@@ -222,19 +231,28 @@ func (_m *GroupStore) CreateGroupSyncable(groupSyncable *model.GroupSyncable) (*
|
||||
}
|
||||
|
||||
// Delete provides a mock function with given fields: groupID
|
||||
func (_m *GroupStore) Delete(groupID string) store.StoreChannel {
|
||||
func (_m *GroupStore) Delete(groupID string) (*model.Group, *model.AppError) {
|
||||
ret := _m.Called(groupID)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
|
||||
var r0 *model.Group
|
||||
if rf, ok := ret.Get(0).(func(string) *model.Group); ok {
|
||||
r0 = rf(groupID)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Group)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
|
||||
r1 = rf(groupID)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// DeleteGroupSyncable provides a mock function with given fields: groupID, syncableID, syncableType
|
||||
@@ -279,35 +297,53 @@ func (_m *GroupStore) DeleteMember(groupID string, userID string) store.StoreCha
|
||||
}
|
||||
|
||||
// Get provides a mock function with given fields: groupID
|
||||
func (_m *GroupStore) Get(groupID string) store.StoreChannel {
|
||||
func (_m *GroupStore) Get(groupID string) (*model.Group, *model.AppError) {
|
||||
ret := _m.Called(groupID)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
|
||||
var r0 *model.Group
|
||||
if rf, ok := ret.Get(0).(func(string) *model.Group); ok {
|
||||
r0 = rf(groupID)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Group)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
|
||||
r1 = rf(groupID)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetAllBySource provides a mock function with given fields: groupSource
|
||||
func (_m *GroupStore) GetAllBySource(groupSource model.GroupSource) store.StoreChannel {
|
||||
func (_m *GroupStore) GetAllBySource(groupSource model.GroupSource) ([]*model.Group, *model.AppError) {
|
||||
ret := _m.Called(groupSource)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(model.GroupSource) store.StoreChannel); ok {
|
||||
var r0 []*model.Group
|
||||
if rf, ok := ret.Get(0).(func(model.GroupSource) []*model.Group); ok {
|
||||
r0 = rf(groupSource)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).([]*model.Group)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(model.GroupSource) *model.AppError); ok {
|
||||
r1 = rf(groupSource)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetAllGroupSyncablesByGroupId provides a mock function with given fields: groupID, syncableType
|
||||
@@ -361,19 +397,28 @@ func (_m *GroupStore) GetByIDs(groupIDs []string) ([]*model.Group, *model.AppErr
|
||||
}
|
||||
|
||||
// GetByRemoteID provides a mock function with given fields: remoteID, groupSource
|
||||
func (_m *GroupStore) GetByRemoteID(remoteID string, groupSource model.GroupSource) store.StoreChannel {
|
||||
func (_m *GroupStore) GetByRemoteID(remoteID string, groupSource model.GroupSource) (*model.Group, *model.AppError) {
|
||||
ret := _m.Called(remoteID, groupSource)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(string, model.GroupSource) store.StoreChannel); ok {
|
||||
var r0 *model.Group
|
||||
if rf, ok := ret.Get(0).(func(string, model.GroupSource) *model.Group); ok {
|
||||
r0 = rf(remoteID, groupSource)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Group)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(string, model.GroupSource) *model.AppError); ok {
|
||||
r1 = rf(remoteID, groupSource)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetGroupSyncable provides a mock function with given fields: groupID, syncableID, syncableType
|
||||
@@ -600,19 +645,28 @@ func (_m *GroupStore) TeamMembersToRemove() ([]*model.TeamMember, *model.AppErro
|
||||
}
|
||||
|
||||
// Update provides a mock function with given fields: group
|
||||
func (_m *GroupStore) Update(group *model.Group) store.StoreChannel {
|
||||
func (_m *GroupStore) Update(group *model.Group) (*model.Group, *model.AppError) {
|
||||
ret := _m.Called(group)
|
||||
|
||||
var r0 store.StoreChannel
|
||||
if rf, ok := ret.Get(0).(func(*model.Group) store.StoreChannel); ok {
|
||||
var r0 *model.Group
|
||||
if rf, ok := ret.Get(0).(func(*model.Group) *model.Group); ok {
|
||||
r0 = rf(group)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).(store.StoreChannel)
|
||||
r0 = ret.Get(0).(*model.Group)
|
||||
}
|
||||
}
|
||||
|
||||
return r0
|
||||
var r1 *model.AppError
|
||||
if rf, ok := ret.Get(1).(func(*model.Group) *model.AppError); ok {
|
||||
r1 = rf(group)
|
||||
} else {
|
||||
if ret.Get(1) != nil {
|
||||
r1 = ret.Get(1).(*model.AppError)
|
||||
}
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// UpdateGroupSyncable provides a mock function with given fields: groupSyncable
|
||||
|
||||
@@ -1125,12 +1125,13 @@ func testUserStoreGetProfilesNotInChannel(t *testing.T, ss store.Store) {
|
||||
})
|
||||
|
||||
// create a group
|
||||
group := store.Must(ss.Group().Create(&model.Group{
|
||||
group, err := ss.Group().Create(&model.Group{
|
||||
Name: "n_" + model.NewId(),
|
||||
DisplayName: "dn_" + model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: "ri_" + model.NewId(),
|
||||
})).(*model.Group)
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
// add two members to the group
|
||||
for _, u := range []*model.User{u1, u2} {
|
||||
@@ -3455,12 +3456,13 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) {
|
||||
})
|
||||
|
||||
// create a group
|
||||
group := store.Must(ss.Group().Create(&model.Group{
|
||||
group, err := ss.Group().Create(&model.Group{
|
||||
Name: "n_" + model.NewId(),
|
||||
DisplayName: "dn_" + model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: "ri_" + model.NewId(),
|
||||
})).(*model.Group)
|
||||
})
|
||||
require.Nil(t, err)
|
||||
|
||||
// add two members to the group
|
||||
for _, u := range []*model.User{u1, u2} {
|
||||
@@ -3755,14 +3757,14 @@ func testUserStoreGetTeamGroupUsers(t *testing.T, ss store.Store) {
|
||||
var testGroups []*model.Group
|
||||
for i := 0; i < 2; i++ {
|
||||
id = model.NewId()
|
||||
res = <-ss.Group().Create(&model.Group{
|
||||
var group *model.Group
|
||||
group, err = ss.Group().Create(&model.Group{
|
||||
Name: "n_" + id,
|
||||
DisplayName: "dn_" + id,
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: "ri_" + id,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
require.NotNil(t, group)
|
||||
testGroups = append(testGroups, group)
|
||||
}
|
||||
@@ -3877,14 +3879,14 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) {
|
||||
var testGroups []*model.Group
|
||||
for i := 0; i < 2; i++ {
|
||||
id = model.NewId()
|
||||
res = <-ss.Group().Create(&model.Group{
|
||||
var group *model.Group
|
||||
group, err = ss.Group().Create(&model.Group{
|
||||
Name: "n_" + id,
|
||||
DisplayName: "dn_" + id,
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: "ri_" + id,
|
||||
})
|
||||
require.Nil(t, res.Err)
|
||||
group := res.Data.(*model.Group)
|
||||
require.Nil(t, err)
|
||||
require.NotNil(t, group)
|
||||
testGroups = append(testGroups, group)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user