Do not return null results (#14420)

This commit is contained in:
Lucas Manuel Rodriguez 2023-10-11 06:28:16 -03:00 committed by GitHub
parent 9768186048
commit 414f83e29e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 2 deletions

View file

@ -7992,6 +7992,14 @@ func (s *integrationTestSuite) TestQueryReports() {
})
require.NoError(t, err)
// Should return no results.
var gqrr getQueryReportResponse
s.DoJSON("GET", fmt.Sprintf("/api/latest/fleet/queries/%d/report", usbDevicesQuery.ID), getQueryReportRequest{}, http.StatusOK, &gqrr)
require.NoError(t, gqrr.Err)
require.Equal(t, usbDevicesQuery.ID, gqrr.QueryID)
require.NotNil(t, gqrr.Results)
require.Len(t, gqrr.Results, 0)
slreq := submitLogsRequest{
NodeKey: *host2Team1.NodeKey,
LogType: "result",
@ -8113,7 +8121,7 @@ func (s *integrationTestSuite) TestQueryReports() {
s.DoJSON("POST", "/api/osquery/log", slreq, http.StatusOK, &slres)
require.NoError(t, slres.Err)
var gqrr getQueryReportResponse
gqrr = getQueryReportResponse{}
s.DoJSON("GET", fmt.Sprintf("/api/latest/fleet/queries/%d/report", usbDevicesQuery.ID), getQueryReportRequest{}, http.StatusOK, &gqrr)
require.NoError(t, gqrr.Err)
require.Equal(t, usbDevicesQuery.ID, gqrr.QueryID)

View file

@ -144,9 +144,14 @@ func getQueryReportEndpoint(ctx context.Context, request interface{}, svc fleet.
if err != nil {
return listQueriesResponse{Err: err}, nil
}
// Return an empty array if there are no results stored.
results := []fleet.HostQueryResultRow{}
if len(queryReportResults) > 0 {
results = queryReportResults
}
return getQueryReportResponse{
QueryID: req.ID,
Results: queryReportResults,
Results: results,
}, nil
}