Automatic Merge
Этот коммит содержится в:
Mahmudul Haque
2021-02-12 15:22:27 +06:00
коммит произвёл GitHub
родитель 219bcf218b
Коммит 2b038db6ad
4 изменённых файлов: 34 добавлений и 43 удалений

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

@@ -2278,7 +2278,9 @@ func (a *App) RemoveUserFromChannel(userIDToRemove string, removerUserId string,
}
if userIDToRemove == removerUserId {
a.postLeaveChannelMessage(user, channel)
if err := a.postLeaveChannelMessage(user, channel); err != nil {
return err
}
} else {
a.Srv().Go(func() {
a.postRemoveFromChannelMessage(removerUserId, user, channel)

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

@@ -86,29 +86,21 @@ func desanitize(actual, target *model.Config) {
}
}
// fixConfig patches invalid or missing data in the configuration, returning true if changed.
func fixConfig(cfg *model.Config) bool {
changed := false
// fixConfig patches invalid or missing data in the configuration.
func fixConfig(cfg *model.Config) {
// Ensure SiteURL has no trailing slash.
if strings.HasSuffix(*cfg.ServiceSettings.SiteURL, "/") {
*cfg.ServiceSettings.SiteURL = strings.TrimRight(*cfg.ServiceSettings.SiteURL, "/")
changed = true
}
// Ensure the directory for a local file store has a trailing slash.
if *cfg.FileSettings.DriverName == model.IMAGE_DRIVER_LOCAL {
if *cfg.FileSettings.Directory != "" && !strings.HasSuffix(*cfg.FileSettings.Directory, "/") {
*cfg.FileSettings.Directory += "/"
changed = true
}
}
if FixInvalidLocales(cfg) {
changed = true
}
return changed
FixInvalidLocales(cfg)
}
// FixInvalidLocales checks and corrects the given config for invalid locale-related settings.

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

@@ -92,17 +92,17 @@ func (th *SearchTestHelper) SetupBasicFixtures() error {
return err
}
_, err = th.addUserToChannels(user, []string{channelBasic.Id, channelPrivate.Id, channelDeleted.Id})
err = th.addUserToChannels(user, []string{channelBasic.Id, channelPrivate.Id, channelDeleted.Id})
if err != nil {
return err
}
_, err = th.addUserToChannels(user2, []string{channelPrivate.Id, channelDeleted.Id})
err = th.addUserToChannels(user2, []string{channelPrivate.Id, channelDeleted.Id})
if err != nil {
return err
}
_, err = th.addUserToChannels(useranother, []string{channelAnotherTeam.Id})
err = th.addUserToChannels(useranother, []string{channelAnotherTeam.Id})
if err != nil {
return err
}
@@ -305,7 +305,7 @@ func (th *SearchTestHelper) createGroupChannel(teamID, displayName string, users
}
for _, user := range users {
_, err := th.addUserToChannels(user, []string{channel.Id})
err := th.addUserToChannels(user, []string{channel.Id})
if err != nil {
return nil, err
}
@@ -415,22 +415,19 @@ func (th *SearchTestHelper) addUserToTeams(user *model.User, teamIDS []string) e
return nil
}
func (th *SearchTestHelper) addUserToChannels(user *model.User, channelIDS []string) ([]*model.ChannelMember, error) {
channelMembers := make([]*model.ChannelMember, len(channelIDS))
func (th *SearchTestHelper) addUserToChannels(user *model.User, channelIDS []string) error {
for _, channelID := range channelIDS {
cm, err := th.Store.Channel().SaveMember(&model.ChannelMember{
_, err := th.Store.Channel().SaveMember(&model.ChannelMember{
ChannelId: channelID,
UserId: user.Id,
NotifyProps: model.GetDefaultChannelNotifyProps(),
})
if err != nil {
return nil, errors.New(err.Error())
return errors.New(err.Error())
}
channelMembers = append(channelMembers, cm)
}
return channelMembers, nil
return nil
}
func (th *SearchTestHelper) assertUsersMatchInAnyOrder(t *testing.T, expected, actual []*model.User) {

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

@@ -212,13 +212,13 @@ func testHonorChannelRestrictionsAutocompletingUsers(t *testing.T, th *SearchTes
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
guest, err := th.createGuest("guest", "guest", "guest", "one")
require.NoError(t, err)
err = th.addUserToTeams(guest, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(guest, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(guest, []string{th.ChannelBasic.Id})
require.NoError(t, err)
defer th.deleteUser(guest)
t.Run("Autocomplete users with channel restrictions", func(t *testing.T) {
@@ -317,7 +317,7 @@ func testAutocompleteUserByUsername(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
options := createDefaultOptions(false, false, false)
users, err := th.Store.User().AutocompleteUsersInChannel(th.Team.Id, th.ChannelBasic.Id, "basicusername", options)
@@ -331,7 +331,7 @@ func testAutocompleteUserByFirstName(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should autocomplete users when the first name is unique", func(t *testing.T) {
options := createDefaultOptions(true, false, false)
@@ -354,7 +354,7 @@ func testAutocompleteUserByLastName(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should return results when the last name is unique", func(t *testing.T) {
options := createDefaultOptions(true, false, false)
@@ -377,7 +377,7 @@ func testAutocompleteUserByNickName(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should return results when the nickname is unique", func(t *testing.T) {
options := createDefaultOptions(true, false, false)
@@ -403,7 +403,7 @@ func testAutocompleteUserByEmail(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should autocomplete users when the email is unique", func(t *testing.T) {
options := createDefaultOptions(false, true, false)
@@ -458,7 +458,7 @@ func testAutocompleteUserByUsernameWithDot(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should return results when searching for the whole username with Dot", func(t *testing.T) {
options := createDefaultOptions(false, false, false)
@@ -488,7 +488,7 @@ func testAutocompleteUserByUsernameWithUnderscore(t *testing.T, th *SearchTestHe
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should return results when searching for the whole username with underscore", func(t *testing.T) {
options := createDefaultOptions(false, false, false)
@@ -518,7 +518,7 @@ func testAutocompleteUserByUsernameWithHyphen(t *testing.T, th *SearchTestHelper
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should return results when searching for the whole username with hyphen", func(t *testing.T) {
options := createDefaultOptions(false, false, false)
@@ -549,7 +549,7 @@ func testShouldEscapePercentageCharacter(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should autocomplete users escaping percentage symbol", func(t *testing.T) {
options := createDefaultOptions(false, false, false)
@@ -571,7 +571,7 @@ func testShouldEscapeUnderscoreCharacter(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should autocomplete users escaping underscore symbol", func(t *testing.T) {
options := createDefaultOptions(false, false, false)
@@ -597,7 +597,7 @@ func testShouldBeAbleToSearchInactiveUsers(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should autocomplete inactive users if we allow it", func(t *testing.T) {
options := createDefaultOptions(false, false, true)
@@ -644,7 +644,7 @@ func testShouldBeAbleToSearchFilteringByRole(t *testing.T, th *SearchTestHelper)
require.NoError(t, err)
err = th.addUserToTeams(userAlternate2, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should autocomplete users filtering by roles", func(t *testing.T) {
options := createDefaultOptions(false, false, true)
@@ -694,7 +694,7 @@ func testSearchOneTwoCharUsersnameAndFirstLastNames(t *testing.T, th *SearchTest
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should support two characters in the full name", func(t *testing.T) {
options := createDefaultOptions(true, false, false)
@@ -719,7 +719,7 @@ func testShouldSupportKoreanCharacters(t *testing.T, th *SearchTestHelper) {
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
t.Run("Should support hanja korean characters", func(t *testing.T) {
options := createDefaultOptions(true, false, false)
@@ -743,7 +743,7 @@ func testSearchWithHyphenAtTheEndOfTheTerm(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
options := createDefaultOptions(true, false, false)
users, err := th.Store.User().AutocompleteUsersInChannel(th.Team.Id, th.ChannelBasic.Id, "alternate-", options)
@@ -808,7 +808,7 @@ func testSearchUsersInTeamUsernameWithDot(t *testing.T, th *SearchTestHelper) {
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
options := createDefaultOptions(true, false, false)
users, err := th.Store.User().Search(th.Team.Id, "alternate.", options)
@@ -822,7 +822,7 @@ func testSearchUsersInTeamUsernameWithHyphen(t *testing.T, th *SearchTestHelper)
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
options := createDefaultOptions(true, false, false)
users, err := th.Store.User().Search(th.Team.Id, "alternate-", options)
@@ -836,7 +836,7 @@ func testSearchUsersInTeamUsernameWithUnderscore(t *testing.T, th *SearchTestHel
defer th.deleteUser(userAlternate)
err = th.addUserToTeams(userAlternate, []string{th.Team.Id})
require.NoError(t, err)
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.NoError(t, err)
options := createDefaultOptions(true, false, false)
users, err := th.Store.User().Search(th.Team.Id, "alternate_", options)