Error on blank post IDs for get post query (#5326)

Этот коммит содержится в:
Joram Wilander
2017-02-08 02:07:17 -08:00
коммит произвёл GitHub
родитель 0162d8ad08
Коммит f1c9ae5686
2 изменённых файлов: 24 добавлений и 0 удалений

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

@@ -189,10 +189,20 @@ func (s SqlPostStore) Get(id string) StoreChannel {
result := StoreResult{}
pl := &model.PostList{}
if len(id) == 0 {
result.Err = model.NewLocAppError("SqlPostStore.GetPost", "store.sql_post.get.app_error", nil, "id="+id)
storeChannel <- result
close(storeChannel)
return
}
var post model.Post
err := s.GetReplica().SelectOne(&post, "SELECT * FROM Posts WHERE Id = :Id AND DeleteAt = 0", map[string]interface{}{"Id": id})
if err != nil {
result.Err = model.NewLocAppError("SqlPostStore.GetPost", "store.sql_post.get.app_error", nil, "id="+id+err.Error())
storeChannel <- result
close(storeChannel)
return
}
pl.AddPost(&post)
@@ -204,10 +214,20 @@ func (s SqlPostStore) Get(id string) StoreChannel {
rootId = post.Id
}
if len(rootId) == 0 {
result.Err = model.NewLocAppError("SqlPostStore.GetPost", "store.sql_post.get.app_error", nil, "root_id="+rootId)
storeChannel <- result
close(storeChannel)
return
}
var posts []*model.Post
_, err = s.GetReplica().Select(&posts, "SELECT * FROM Posts WHERE (Id = :Id OR RootId = :RootId) AND DeleteAt = 0", map[string]interface{}{"Id": rootId, "RootId": rootId})
if err != nil {
result.Err = model.NewLocAppError("SqlPostStore.GetPost", "store.sql_post.get.app_error", nil, "root_id="+rootId+err.Error())
storeChannel <- result
close(storeChannel)
return
} else {
for _, p := range posts {
pl.AddPost(p)

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

@@ -61,6 +61,10 @@ func TestPostStoreGet(t *testing.T) {
if err := (<-store.Post().Get("123")).Err; err == nil {
t.Fatal("Missing id should have failed")
}
if err := (<-store.Post().Get("")).Err; err == nil {
t.Fatal("should fail for blank post ids")
}
}
func TestPostStoreGetSingle(t *testing.T) {