elastic: add more backend tests (#59312)

* elastic: added backend snapshot tests

* linter fixes
This commit is contained in:
Gábor Farkas
2022-11-28 14:59:57 +01:00
committed by GitHub
parent a7b2943dd1
commit f1dfaa784a
20 changed files with 1818 additions and 3 deletions

View File

@@ -42,22 +42,27 @@ func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest)
return &backend.QueryDataResponse{}, err
}
return queryData(ctx, req.Queries, dsInfo, s.intervalCalculator)
}
// separate function to allow testing the whole transformation and query flow
func queryData(ctx context.Context, queries []backend.DataQuery, dsInfo *es.DatasourceInfo, intervalCalculator intervalv2.Calculator) (*backend.QueryDataResponse, error) {
// Support for version after their end-of-life (currently <7.10.0) was removed
lastSupportedVersion, _ := semver.NewVersion("7.10.0")
if dsInfo.ESVersion.LessThan(lastSupportedVersion) {
return &backend.QueryDataResponse{}, fmt.Errorf("support for elasticsearch versions after their end-of-life (currently versions < 7.10) was removed")
}
if len(req.Queries) == 0 {
if len(queries) == 0 {
return &backend.QueryDataResponse{}, fmt.Errorf("query contains no queries")
}
client, err := es.NewClient(ctx, dsInfo, req.Queries[0].TimeRange)
client, err := es.NewClient(ctx, dsInfo, queries[0].TimeRange)
if err != nil {
return &backend.QueryDataResponse{}, err
}
query := newTimeSeriesQuery(client, req.Queries, s.intervalCalculator)
query := newTimeSeriesQuery(client, queries, intervalCalculator)
return query.execute()
}