[MM-15274] Migrate "Team.Get" to Sync by default (#10694)

* Migrate Team.Get to Sync by default

* change parseRange return value to ok

* fix formatting

* remove err checks

* use require.nil

* require nil
Этот коммит содержится в:
tengis b
2019-04-27 01:18:07 +09:00
коммит произвёл Jesús Espino
родитель 2f237d68b7
Коммит 8252eab5da
14 изменённых файлов: 115 добавлений и 98 удалений

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

@@ -398,9 +398,8 @@ func (s *SqlSupplier) GroupCreateGroupSyncable(ctx context.Context, groupSyncabl
switch groupSyncable.Type {
case model.GroupSyncableTypeTeam:
teamResult := <-s.Team().Get(groupSyncable.SyncableId)
if teamResult.Err != nil {
result.Err = teamResult.Err
if _, err := s.Team().Get(groupSyncable.SyncableId); err != nil {
result.Err = err
return result
}

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

@@ -238,22 +238,16 @@ func (s SqlTeamStore) UpdateDisplayName(name string, teamId string) store.StoreC
})
}
func (s SqlTeamStore) Get(id string) store.StoreChannel {
return store.Do(func(result *store.StoreResult) {
obj, err := s.GetReplica().Get(model.Team{}, id)
if err != nil {
result.Err = model.NewAppError("SqlTeamStore.Get", "store.sql_team.get.finding.app_error", nil, "id="+id+", "+err.Error(), http.StatusInternalServerError)
return
}
if obj == nil {
result.Err = model.NewAppError("SqlTeamStore.Get", "store.sql_team.get.find.app_error", nil, "id="+id, http.StatusNotFound)
return
}
func (s SqlTeamStore) Get(id string) (*model.Team, *model.AppError) {
obj, err := s.GetReplica().Get(model.Team{}, id)
if err != nil {
return nil, model.NewAppError("SqlTeamStore.Get", "store.sql_team.get.finding.app_error", nil, "id="+id+", "+err.Error(), http.StatusInternalServerError)
}
if obj == nil {
return nil, model.NewAppError("SqlTeamStore.Get", "store.sql_team.get.find.app_error", nil, "id="+id, http.StatusNotFound)
}
team := obj.(*model.Team)
result.Data = team
})
return obj.(*model.Team), nil
}
func (s SqlTeamStore) GetByInviteId(inviteId string) store.StoreChannel {

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

@@ -84,7 +84,7 @@ type TeamStore interface {
Save(team *model.Team) StoreChannel
Update(team *model.Team) (*model.Team, *model.AppError)
UpdateDisplayName(name string, teamId string) StoreChannel
Get(id string) StoreChannel
Get(id string) (*model.Team, *model.AppError)
GetByName(name string) StoreChannel
SearchByName(name string) StoreChannel
SearchAll(term string) StoreChannel

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

@@ -62,19 +62,28 @@ func (_m *TeamStore) ClearAllCustomRoleAssignments() store.StoreChannel {
}
// Get provides a mock function with given fields: id
func (_m *TeamStore) Get(id string) store.StoreChannel {
func (_m *TeamStore) Get(id string) (*model.Team, *model.AppError) {
ret := _m.Called(id)
var r0 store.StoreChannel
if rf, ok := ret.Get(0).(func(string) store.StoreChannel); ok {
var r0 *model.Team
if rf, ok := ret.Get(0).(func(string) *model.Team); ok {
r0 = rf(id)
} 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(string) *model.AppError); ok {
r1 = rf(id)
} else {
if ret.Get(1) != nil {
r1 = ret.Get(1).(*model.AppError)
}
}
return r0, r1
}
// GetActiveMemberCount provides a mock function with given fields: teamId

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

@@ -4,6 +4,7 @@
package storetest
import (
"github.com/stretchr/testify/require"
"testing"
"github.com/stretchr/testify/assert"
@@ -392,9 +393,8 @@ func testSchemeStoreDelete(t *testing.T, ss store.Store) {
sres4 := <-ss.Scheme().Delete(d4.Id)
assert.Nil(t, sres4.Err)
tres5 := <-ss.Team().Get(t4.Id)
assert.Nil(t, tres5.Err)
t5 := tres5.Data.(*model.Team)
t5, err := ss.Team().Get(t4.Id)
require.Nil(t, err)
assert.Equal(t, "", *t5.SchemeId)
// Try deleting a channel scheme that's in use.

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

@@ -115,10 +115,9 @@ func testTeamStoreUpdateDisplayName(t *testing.T, ss store.Store) {
t.Fatal(err)
}
ro1 := (<-ss.Team().Get(o1.Id)).Data.(*model.Team)
if ro1.DisplayName != newDisplayName {
t.Fatal("DisplayName not updated")
}
ro1, err := ss.Team().Get(o1.Id)
require.Nil(t, err)
require.Equal(t, newDisplayName, ro1.DisplayName, "DisplayName not updated")
}
func testTeamStoreGet(t *testing.T, ss store.Store) {
@@ -129,17 +128,12 @@ func testTeamStoreGet(t *testing.T, ss store.Store) {
o1.Type = model.TEAM_OPEN
store.Must(ss.Team().Save(&o1))
if r1 := <-ss.Team().Get(o1.Id); r1.Err != nil {
t.Fatal(r1.Err)
} else {
if r1.Data.(*model.Team).ToJson() != o1.ToJson() {
t.Fatal("invalid returned team")
}
}
r1, err := ss.Team().Get(o1.Id)
require.Nil(t, err)
require.Equal(t, r1.ToJson(), o1.ToJson())
if err := (<-ss.Team().Get("")).Err; err == nil {
t.Fatal("Missing id should have failed")
}
_, err = ss.Team().Get("")
require.NotNil(t, err, "Missing id should have failed")
}
func testTeamStoreGetByName(t *testing.T, ss store.Store) {
@@ -1284,7 +1278,9 @@ func testUpdateLastTeamIconUpdate(t *testing.T, ss store.Store) {
t.Fatal(err)
}
ro1 := (<-ss.Team().Get(o1.Id)).Data.(*model.Team)
ro1, err := ss.Team().Get(o1.Id)
require.Nil(t, err)
if ro1.LastTeamIconUpdate <= lastTeamIconUpdateInitial {
t.Fatal("LastTeamIconUpdate not updated")
}
@@ -1459,8 +1455,11 @@ func testResetAllTeamSchemes(t *testing.T, ss store.Store) {
res := <-ss.Team().ResetAllTeamSchemes()
assert.Nil(t, res.Err)
t1 = (<-ss.Team().Get(t1.Id)).Data.(*model.Team)
t2 = (<-ss.Team().Get(t2.Id)).Data.(*model.Team)
t1, err := ss.Team().Get(t1.Id)
require.Nil(t, err)
t2, err = ss.Team().Get(t2.Id)
require.Nil(t, err)
assert.Equal(t, "", *t1.SchemeId)
assert.Equal(t, "", *t2.SchemeId)