Fix panic in api4.searchPosts (#15410)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
4c518055f4
Коммит
7612888052
@@ -497,15 +497,14 @@ func (o *SearchParameter) SearchParameterToJson() string {
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func SearchParameterFromJson(data io.Reader) *SearchParameter {
|
||||
func SearchParameterFromJson(data io.Reader) (*SearchParameter, error) {
|
||||
decoder := json.NewDecoder(data)
|
||||
var searchParam SearchParameter
|
||||
err := decoder.Decode(&searchParam)
|
||||
if err != nil {
|
||||
return nil
|
||||
if err := decoder.Decode(&searchParam); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &searchParam
|
||||
return &searchParam, nil
|
||||
}
|
||||
|
||||
func (o *Post) ChannelMentions() []string {
|
||||
|
||||
@@ -856,3 +856,31 @@ func TestPostPatchDisableMentionHighlights(t *testing.T) {
|
||||
assert.Nil(t, patch.Message)
|
||||
})
|
||||
}
|
||||
|
||||
func TestSearchParameterFromJson(t *testing.T) {
|
||||
t.Run("empty input", func(t *testing.T) {
|
||||
params, err := SearchParameterFromJson(strings.NewReader(""))
|
||||
require.Nil(t, params)
|
||||
require.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("invalid json", func(t *testing.T) {
|
||||
params, err := SearchParameterFromJson(strings.NewReader("invalid"))
|
||||
require.Nil(t, params)
|
||||
require.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("valid empty input", func(t *testing.T) {
|
||||
params, err := SearchParameterFromJson(strings.NewReader("{}"))
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, params)
|
||||
require.Equal(t, &SearchParameter{}, params)
|
||||
})
|
||||
|
||||
t.Run("valid non-empty input", func(t *testing.T) {
|
||||
params, err := SearchParameterFromJson(strings.NewReader("{\"terms\": \"test\"}"))
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, params)
|
||||
require.Equal(t, "test", *params.Terms)
|
||||
})
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user