Migrate SchemeStore to sync by default (#11522)

* Migrate SchemeStore to sync by default

* Fixing tests compilation

* Fixing shadow variable

* Fixing tests
Этот коммит содержится в:
Jesús Espino
2019-07-06 09:07:54 +02:00
коммит произвёл GitHub
родитель 7da08e7a0f
Коммит 96c33948da
16 изменённых файлов: 464 добавлений и 417 удалений

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

@@ -63,7 +63,7 @@ func TestImportImportScheme(t *testing.T) {
t.Fatalf("Should have failed to import.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err == nil {
if _, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err == nil {
t.Fatalf("Scheme should not have imported.")
}
@@ -74,7 +74,7 @@ func TestImportImportScheme(t *testing.T) {
t.Fatalf("Should have succeeded.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err == nil {
if _, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err == nil {
t.Fatalf("Scheme should not have imported.")
}
@@ -85,7 +85,7 @@ func TestImportImportScheme(t *testing.T) {
t.Fatalf("Should have failed to import.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err == nil {
if _, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err == nil {
t.Fatalf("Scheme should not have imported.")
}
@@ -96,10 +96,9 @@ func TestImportImportScheme(t *testing.T) {
t.Fatalf("Should have succeeded.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err != nil {
t.Fatalf("Failed to import scheme: %v", res.Err)
if scheme, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err != nil {
t.Fatalf("Failed to import scheme: %v", err)
} else {
scheme := res.Data.(*model.Scheme)
assert.Equal(t, *data.Name, scheme.Name)
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
assert.Equal(t, *data.Description, scheme.Description)
@@ -162,10 +161,9 @@ func TestImportImportScheme(t *testing.T) {
t.Fatalf("Should have succeeded: %v", err)
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err != nil {
t.Fatalf("Failed to import scheme: %v", res.Err)
if scheme, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err != nil {
t.Fatalf("Failed to import scheme: %v", err)
} else {
scheme := res.Data.(*model.Scheme)
assert.Equal(t, *data.Name, scheme.Name)
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
assert.Equal(t, *data.Description, scheme.Description)
@@ -227,10 +225,9 @@ func TestImportImportScheme(t *testing.T) {
t.Fatalf("Should have failed to import.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err != nil {
t.Fatalf("Failed to import scheme: %v", res.Err)
if scheme, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err != nil {
t.Fatalf("Failed to import scheme: %v", err)
} else {
scheme := res.Data.(*model.Scheme)
assert.Equal(t, *data.Name, scheme.Name)
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
assert.Equal(t, *data.Description, scheme.Description)
@@ -276,7 +273,7 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
t.Fatalf("Should have failed to import.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err == nil {
if _, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err == nil {
t.Fatalf("Scheme should not have imported.")
}
@@ -287,7 +284,7 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
t.Fatalf("Should have succeeded.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err == nil {
if _, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err == nil {
t.Fatalf("Scheme should not have imported.")
}
@@ -298,7 +295,7 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
t.Fatalf("Should have failed to import.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err == nil {
if _, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err == nil {
t.Fatalf("Scheme should not have imported.")
}
@@ -309,10 +306,9 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
t.Fatalf("Should have succeeded.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err != nil {
t.Fatalf("Failed to import scheme: %v", res.Err)
if scheme, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err != nil {
t.Fatalf("Failed to import scheme: %v", err)
} else {
scheme := res.Data.(*model.Scheme)
assert.Equal(t, *data.Name, scheme.Name)
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
assert.Equal(t, *data.Description, scheme.Description)
@@ -375,10 +371,9 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
t.Fatalf("Should have succeeded: %v", err)
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err != nil {
t.Fatalf("Failed to import scheme: %v", res.Err)
if scheme, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err != nil {
t.Fatalf("Failed to import scheme: %v", err)
} else {
scheme := res.Data.(*model.Scheme)
assert.Equal(t, *data.Name, scheme.Name)
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
assert.Equal(t, *data.Description, scheme.Description)
@@ -440,10 +435,9 @@ func TestImportImportSchemeWithoutGuestRoles(t *testing.T) {
t.Fatalf("Should have failed to import.")
}
if res := <-th.App.Srv.Store.Scheme().GetByName(*data.Name); res.Err != nil {
t.Fatalf("Failed to import scheme: %v", res.Err)
if scheme, err := th.App.Srv.Store.Scheme().GetByName(*data.Name); err != nil {
t.Fatalf("Failed to import scheme: %v", err)
} else {
scheme := res.Data.(*model.Scheme)
assert.Equal(t, *data.Name, scheme.Name)
assert.Equal(t, *data.DisplayName, scheme.DisplayName)
assert.Equal(t, *data.Description, scheme.Description)
@@ -1515,12 +1509,8 @@ func TestImportImportUser(t *testing.T) {
err = th.App.ImportScheme(teamSchemeData, false)
assert.Nil(t, err)
var teamScheme *model.Scheme
if res := <-th.App.Srv.Store.Scheme().GetByName(*teamSchemeData.Name); res.Err != nil {
t.Fatalf("Failed to import scheme: %v", res.Err)
} else {
teamScheme = res.Data.(*model.Scheme)
}
teamScheme, err := th.App.Srv.Store.Scheme().GetByName(*teamSchemeData.Name)
require.Nil(t, err, "Failed to import scheme")
teamData := &TeamImportData{
Name: ptrStr(model.NewId()),

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

@@ -179,12 +179,11 @@ func (a *App) DoGuestRolesCreationMigration() {
}
}
resultSchemes := <-a.Srv.Store.Scheme().GetAllPage("", 0, 1000000)
if resultSchemes.Err != nil {
mlog.Critical("Failed to get all schemes.", mlog.Err(resultSchemes.Err))
schemes, err := a.Srv.Store.Scheme().GetAllPage("", 0, 1000000)
if err != nil {
mlog.Critical("Failed to get all schemes.", mlog.Err(err))
allSucceeded = false
}
schemes := resultSchemes.Data.([]*model.Scheme)
for _, scheme := range schemes {
if scheme.DefaultTeamGuestRole == "" || scheme.DefaultChannelGuestRole == "" {
// Team Guest Role
@@ -217,9 +216,9 @@ func (a *App) DoGuestRolesCreationMigration() {
scheme.DefaultChannelGuestRole = savedRole.Name
}
result := <-a.Srv.Store.Scheme().Save(scheme)
if result.Err != nil {
mlog.Critical("Failed to update custom scheme.", mlog.Err(result.Err))
_, err := a.Srv.Store.Scheme().Save(scheme)
if err != nil {
mlog.Critical("Failed to update custom scheme.", mlog.Err(err))
allSucceeded = false
}
}

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

@@ -43,8 +43,8 @@ func (a *App) ResetPermissionsSystem() *model.AppError {
}
// Purge all schemes from the database.
if result := <-a.Srv.Store.Scheme().PermanentDeleteAll(); result.Err != nil {
return result.Err
if err := a.Srv.Store.Scheme().PermanentDeleteAll(); err != nil {
return err
}
// Purge all roles from the database.

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

@@ -14,11 +14,7 @@ func (a *App) GetScheme(id string) (*model.Scheme, *model.AppError) {
return nil, err
}
result := <-a.Srv.Store.Scheme().Get(id)
if result.Err != nil {
return nil, result.Err
}
return result.Data.(*model.Scheme), nil
return a.Srv.Store.Scheme().Get(id)
}
func (a *App) GetSchemeByName(name string) (*model.Scheme, *model.AppError) {
@@ -26,11 +22,7 @@ func (a *App) GetSchemeByName(name string) (*model.Scheme, *model.AppError) {
return nil, err
}
result := <-a.Srv.Store.Scheme().GetByName(name)
if result.Err != nil {
return nil, result.Err
}
return result.Data.(*model.Scheme), nil
return a.Srv.Store.Scheme().GetByName(name)
}
func (a *App) GetSchemesPage(scope string, page int, perPage int) ([]*model.Scheme, *model.AppError) {
@@ -46,11 +38,7 @@ func (a *App) GetSchemes(scope string, offset int, limit int) ([]*model.Scheme,
return nil, err
}
result := <-a.Srv.Store.Scheme().GetAllPage(scope, offset, limit)
if result.Err != nil {
return nil, result.Err
}
return result.Data.([]*model.Scheme), nil
return a.Srv.Store.Scheme().GetAllPage(scope, offset, limit)
}
func (a *App) CreateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError) {
@@ -69,11 +57,7 @@ func (a *App) CreateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError
scheme.UpdateAt = 0
scheme.DeleteAt = 0
result := <-a.Srv.Store.Scheme().Save(scheme)
if result.Err != nil {
return nil, result.Err
}
return scheme, nil
return a.Srv.Store.Scheme().Save(scheme)
}
func (a *App) PatchScheme(scheme *model.Scheme, patch *model.SchemePatch) (*model.Scheme, *model.AppError) {
@@ -95,11 +79,7 @@ func (a *App) UpdateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError
return nil, err
}
result := <-a.Srv.Store.Scheme().Save(scheme)
if result.Err != nil {
return nil, result.Err
}
return scheme, nil
return a.Srv.Store.Scheme().Save(scheme)
}
func (a *App) DeleteScheme(schemeId string) (*model.Scheme, *model.AppError) {
@@ -107,11 +87,7 @@ func (a *App) DeleteScheme(schemeId string) (*model.Scheme, *model.AppError) {
return nil, err
}
result := <-a.Srv.Store.Scheme().Delete(schemeId)
if result.Err != nil {
return nil, result.Err
}
return result.Data.(*model.Scheme), nil
return a.Srv.Store.Scheme().Delete(schemeId)
}
func (a *App) GetTeamsForSchemePage(scheme *model.Scheme, page int, perPage int) ([]*model.Team, *model.AppError) {
@@ -166,11 +142,11 @@ func (a *App) IsPhase2MigrationCompleted() *model.AppError {
func (a *App) SchemesIterator(batchSize int) func() []*model.Scheme {
offset := 0
return func() []*model.Scheme {
result := <-a.Srv.Store.Scheme().GetAllPage("", offset, batchSize)
if result.Err != nil {
schemes, err := a.Srv.Store.Scheme().GetAllPage("", offset, batchSize)
if err != nil {
return []*model.Scheme{}
}
offset += batchSize
return result.Data.([]*model.Scheme)
return schemes
}
}