mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-20 21:41:24 +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]
|
res.OrderBy = val[0]
|
||||||
}
|
}
|
||||||
if val, ok := params[ORDER]; ok {
|
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 {
|
if val, ok := params["q"]; ok {
|
||||||
res.Query = val[0]
|
res.Query = val[0]
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package logs
|
package logs
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"net/http"
|
||||||
|
"net/http/httptest"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
. "github.com/smartystreets/goconvey/convey"
|
. "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