Fix CLI nil pointer panic (#13359)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
5c6bdc357a
Коммит
45565cb81f
@@ -519,6 +519,10 @@ func modifyChannelCmdF(command *cobra.Command, args []string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
user := getUserFromUserArg(a, username)
|
user := getUserFromUserArg(a, username)
|
||||||
|
if user == nil {
|
||||||
|
return fmt.Errorf("Unable to find user: '%v'", username)
|
||||||
|
}
|
||||||
|
|
||||||
if _, err := a.UpdateChannelPrivacy(channel, user); err != nil {
|
if _, err := a.UpdateChannelPrivacy(channel, user); err != nil {
|
||||||
return errors.Wrapf(err, "Failed to update channel ('%s') privacy", args[0])
|
return errors.Wrapf(err, "Failed to update channel ('%s') privacy", args[0])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -227,3 +227,30 @@ func Test_searchChannelCmdF(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestModifyChannel(t *testing.T) {
|
||||||
|
th := Setup().InitBasic()
|
||||||
|
defer th.TearDown()
|
||||||
|
|
||||||
|
channel1 := th.CreatePrivateChannel()
|
||||||
|
channel2 := th.CreatePrivateChannel()
|
||||||
|
|
||||||
|
th.CheckCommand(t, "channel", "modify", "--public", th.BasicTeam.Name+":"+channel1.Name, "--username", th.BasicUser2.Email)
|
||||||
|
res, err := th.App.Srv.Store.Channel().Get(channel1.Id, false)
|
||||||
|
require.Nil(t, err)
|
||||||
|
assert.Equal(t, model.CHANNEL_OPEN, res.Type)
|
||||||
|
|
||||||
|
// should fail because user doesn't exist
|
||||||
|
require.Error(t, th.RunCommand(t, "channel", "modify", "--public", th.BasicTeam.Name+":"+channel2.Name, "--username", "idonotexist"))
|
||||||
|
|
||||||
|
pchannel1 := th.CreatePublicChannel()
|
||||||
|
pchannel2 := th.CreatePublicChannel()
|
||||||
|
|
||||||
|
th.CheckCommand(t, "channel", "modify", "--private", th.BasicTeam.Name+":"+pchannel1.Name, "--username", th.BasicUser2.Email)
|
||||||
|
res, err = th.App.Srv.Store.Channel().Get(pchannel1.Id, false)
|
||||||
|
require.Nil(t, err)
|
||||||
|
assert.Equal(t, model.CHANNEL_PRIVATE, res.Type)
|
||||||
|
|
||||||
|
// should fail because user doesn't exist
|
||||||
|
require.Error(t, th.RunCommand(t, "channel", "modify", "--private", th.BasicTeam.Name+":"+pchannel2.Name, "--username", "idonotexist"))
|
||||||
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user