[MM-37557] Move error out of client4 response (#18101)

* Return an error seperately from Response

* Remove BuildErrorResponse

* Drop Response.Error from model/client4.go

* Migrate require.Nil checks

* Migrate require.NotNil checks

* More manual fixes

* Move error check out of CheckOKStatus and CheckCreatedStatus

* Move error check out of CheckForbiddenStatus

* Move error check out of CheckUnauthorizedStatus

* Move error check out of CheckNotFoundStatus

* Move error check out of CheckBadRequestStatus

* Move error check out of CheckNotImplementedStatus and CheckRequestEntityTooLargeStatus

* Move error check out of CheckInternalErrorStatus

* Move error check out of CheckServiceUnavailableStatus

* Remove error check from checkHTTPStatus

* Remove remaining references to Response.Error

* Check previously unchecked errors

* Manually fix compile and linter errors

* Return error in CreateWebSocket methods

* Return error instead of *AppError in DoApi methods

* Manually fix bad replacments

* Conistently return Response and error

* Use err instead of seperate bool return value to indicate success

* Reduce ussage of model.AppError in web/oauth_test.go

* Remove client4.Must

* Check error in buf.ReadFrom

* Fix failing tests
Этот коммит содержится в:
Ben Schumacher
2021-08-13 13:12:16 +02:00
коммит произвёл GitHub
родитель 96593580ae
Коммит a8ca5c423f
60 изменённых файлов: 9790 добавлений и 8706 удалений

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

@@ -16,31 +16,31 @@ func TestApiResctrictedViewMembers(t *testing.T) {
defer th.TearDown()
// Create first account for system admin
_, err := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user0", Password: "test-password-0", Username: "test-user-0", Roles: model.SystemUserRoleId})
require.Nil(t, err)
_, appErr := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user0", Password: "test-password-0", Username: "test-user-0", Roles: model.SystemUserRoleId})
require.Nil(t, appErr)
user1, err := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user1", Password: "test-password-1", Username: "test-user-1", Roles: model.SystemUserRoleId})
require.Nil(t, err)
user2, err := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user2", Password: "test-password-2", Username: "test-user-2", Roles: model.SystemUserRoleId})
require.Nil(t, err)
user3, err := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user3", Password: "test-password-3", Username: "test-user-3", Roles: model.SystemUserRoleId})
require.Nil(t, err)
user4, err := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user4", Password: "test-password-4", Username: "test-user-4", Roles: model.SystemUserRoleId})
require.Nil(t, err)
user5, err := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user5", Password: "test-password-5", Username: "test-user-5", Roles: model.SystemUserRoleId})
require.Nil(t, err)
user1, appErr := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user1", Password: "test-password-1", Username: "test-user-1", Roles: model.SystemUserRoleId})
require.Nil(t, appErr)
user2, appErr := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user2", Password: "test-password-2", Username: "test-user-2", Roles: model.SystemUserRoleId})
require.Nil(t, appErr)
user3, appErr := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user3", Password: "test-password-3", Username: "test-user-3", Roles: model.SystemUserRoleId})
require.Nil(t, appErr)
user4, appErr := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user4", Password: "test-password-4", Username: "test-user-4", Roles: model.SystemUserRoleId})
require.Nil(t, appErr)
user5, appErr := th.App.CreateUser(th.Context, &model.User{Email: th.GenerateTestEmail(), Nickname: "test user5", Password: "test-password-5", Username: "test-user-5", Roles: model.SystemUserRoleId})
require.Nil(t, appErr)
team1, err := th.App.CreateTeam(th.Context, &model.Team{DisplayName: "dn_" + model.NewId(), Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TeamOpen})
require.Nil(t, err)
team2, err := th.App.CreateTeam(th.Context, &model.Team{DisplayName: "dn_" + model.NewId(), Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TeamOpen})
require.Nil(t, err)
team1, appErr := th.App.CreateTeam(th.Context, &model.Team{DisplayName: "dn_" + model.NewId(), Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TeamOpen})
require.Nil(t, appErr)
team2, appErr := th.App.CreateTeam(th.Context, &model.Team{DisplayName: "dn_" + model.NewId(), Name: GenerateTestTeamName(), Email: th.GenerateTestEmail(), Type: model.TeamOpen})
require.Nil(t, appErr)
channel1, err := th.App.CreateChannel(th.Context, &model.Channel{DisplayName: "dn_" + model.NewId(), Name: "name_" + model.NewId(), Type: model.ChannelTypeOpen, TeamId: team1.Id, CreatorId: model.NewId()}, false)
require.Nil(t, err)
channel2, err := th.App.CreateChannel(th.Context, &model.Channel{DisplayName: "dn_" + model.NewId(), Name: "name_" + model.NewId(), Type: model.ChannelTypeOpen, TeamId: team1.Id, CreatorId: model.NewId()}, false)
require.Nil(t, err)
channel3, err := th.App.CreateChannel(th.Context, &model.Channel{DisplayName: "dn_" + model.NewId(), Name: "name_" + model.NewId(), Type: model.ChannelTypeOpen, TeamId: team2.Id, CreatorId: model.NewId()}, false)
require.Nil(t, err)
channel1, appErr := th.App.CreateChannel(th.Context, &model.Channel{DisplayName: "dn_" + model.NewId(), Name: "name_" + model.NewId(), Type: model.ChannelTypeOpen, TeamId: team1.Id, CreatorId: model.NewId()}, false)
require.Nil(t, appErr)
channel2, appErr := th.App.CreateChannel(th.Context, &model.Channel{DisplayName: "dn_" + model.NewId(), Name: "name_" + model.NewId(), Type: model.ChannelTypeOpen, TeamId: team1.Id, CreatorId: model.NewId()}, false)
require.Nil(t, appErr)
channel3, appErr := th.App.CreateChannel(th.Context, &model.Channel{DisplayName: "dn_" + model.NewId(), Name: "name_" + model.NewId(), Type: model.ChannelTypeOpen, TeamId: team2.Id, CreatorId: model.NewId()}, false)
require.Nil(t, appErr)
th.LinkUserToTeam(user1, team1)
th.LinkUserToTeam(user2, team1)
@@ -60,8 +60,8 @@ func TestApiResctrictedViewMembers(t *testing.T) {
th.App.SetStatusOnline(user4.Id, true)
th.App.SetStatusOnline(user5.Id, true)
_, resp := th.Client.Login(user1.Username, "test-password-1")
CheckNoError(t, resp)
_, _, err := th.Client.Login(user1.Username, "test-password-1")
require.NoError(t, err)
t.Run("getUser", func(t *testing.T) {
testCases := []struct {
@@ -134,12 +134,11 @@ func TestApiResctrictedViewMembers(t *testing.T) {
th.AddPermissionToRole(model.PermissionViewMembers.Id, model.SystemUserRoleId)
}
_, resp := th.Client.GetUser(tc.UserId, "")
require.Nil(t, err)
_, _, err := th.Client.GetUser(tc.UserId, "")
if tc.ExpectedError != "" {
CheckErrorMessage(t, resp, tc.ExpectedError)
CheckErrorID(t, err, tc.ExpectedError)
} else {
CheckNoError(t, resp)
require.NoError(t, err)
}
})
}
@@ -216,12 +215,11 @@ func TestApiResctrictedViewMembers(t *testing.T) {
th.AddPermissionToRole(model.PermissionViewMembers.Id, model.SystemUserRoleId)
}
_, resp := th.Client.GetUserByUsername(tc.Username, "")
require.Nil(t, err)
_, _, err := th.Client.GetUserByUsername(tc.Username, "")
if tc.ExpectedError != "" {
CheckErrorMessage(t, resp, tc.ExpectedError)
CheckErrorID(t, err, tc.ExpectedError)
} else {
CheckNoError(t, resp)
require.NoError(t, err)
}
})
}
@@ -298,12 +296,11 @@ func TestApiResctrictedViewMembers(t *testing.T) {
th.AddPermissionToRole(model.PermissionViewMembers.Id, model.SystemUserRoleId)
}
_, resp := th.Client.GetUserByEmail(tc.Email, "")
require.Nil(t, err)
_, _, err := th.Client.GetUserByEmail(tc.Email, "")
if tc.ExpectedError != "" {
CheckErrorMessage(t, resp, tc.ExpectedError)
CheckErrorID(t, err, tc.ExpectedError)
} else {
CheckNoError(t, resp)
require.NoError(t, err)
}
})
}
@@ -380,12 +377,11 @@ func TestApiResctrictedViewMembers(t *testing.T) {
th.AddPermissionToRole(model.PermissionViewMembers.Id, model.SystemUserRoleId)
}
_, resp := th.Client.GetDefaultProfileImage(tc.UserId)
require.Nil(t, err)
_, _, err := th.Client.GetDefaultProfileImage(tc.UserId)
if tc.ExpectedError != "" {
CheckErrorMessage(t, resp, tc.ExpectedError)
CheckErrorID(t, err, tc.ExpectedError)
} else {
CheckNoError(t, resp)
require.NoError(t, err)
}
})
}
@@ -462,12 +458,11 @@ func TestApiResctrictedViewMembers(t *testing.T) {
th.AddPermissionToRole(model.PermissionViewMembers.Id, model.SystemUserRoleId)
}
_, resp := th.Client.GetProfileImage(tc.UserId, "")
require.Nil(t, err)
_, _, err := th.Client.GetProfileImage(tc.UserId, "")
if tc.ExpectedError != "" {
CheckErrorMessage(t, resp, tc.ExpectedError)
CheckErrorID(t, err, tc.ExpectedError)
} else {
CheckNoError(t, resp)
require.NoError(t, err)
}
})
}