mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-04 11:25:52 +08:00
fix: orderby validation and correction in logs old QB (#5399)
This commit is contained in:
parent
6e466df89d
commit
932b7ddc69
@ -58,7 +58,9 @@ func ParseLogFilterParams(r *http.Request) (*model.LogsFilterParams, error) {
|
||||
res.OrderBy = val[0]
|
||||
}
|
||||
if val, ok := params[ORDER]; ok {
|
||||
res.Order = val[0]
|
||||
if val[0] == ASC || val[0] == DESC {
|
||||
res.Order = val[0]
|
||||
}
|
||||
}
|
||||
if val, ok := params["q"]; ok {
|
||||
res.Query = val[0]
|
||||
|
@ -1,6 +1,8 @@
|
||||
package logs
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
. "github.com/smartystreets/goconvey/convey"
|
||||
@ -432,3 +434,51 @@ func TestGenerateSQLQuery(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
var parseLogFilterParams = []struct {
|
||||
Name string
|
||||
ReqParams string
|
||||
ExpectedLogFilterParams *model.LogsFilterParams
|
||||
}{
|
||||
{
|
||||
Name: "test with proper order by",
|
||||
ReqParams: "order=desc&q=service.name='myservice'&limit=10",
|
||||
ExpectedLogFilterParams: &model.LogsFilterParams{
|
||||
Limit: 10,
|
||||
OrderBy: "timestamp",
|
||||
Order: DESC,
|
||||
Query: "service.name='myservice'",
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "test with proper order by asc",
|
||||
ReqParams: "order=asc&q=service.name='myservice'&limit=10",
|
||||
ExpectedLogFilterParams: &model.LogsFilterParams{
|
||||
Limit: 10,
|
||||
OrderBy: "timestamp",
|
||||
Order: ASC,
|
||||
Query: "service.name='myservice'",
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "test with incorrect order by",
|
||||
ReqParams: "order=undefined&q=service.name='myservice'&limit=10",
|
||||
ExpectedLogFilterParams: &model.LogsFilterParams{
|
||||
Limit: 10,
|
||||
OrderBy: "timestamp",
|
||||
Order: DESC,
|
||||
Query: "service.name='myservice'",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func TestParseLogFilterParams(t *testing.T) {
|
||||
for _, test := range parseLogFilterParams {
|
||||
Convey(test.Name, t, func() {
|
||||
req := httptest.NewRequest(http.MethodGet, "/logs?"+test.ReqParams, nil)
|
||||
params, err := ParseLogFilterParams(req)
|
||||
So(err, ShouldBeNil)
|
||||
So(params, ShouldEqual, test.ExpectedLogFilterParams)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user