mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
add tests for elastic search versioning in query builder and make es version 2 default
This commit is contained in:
@@ -13,7 +13,7 @@ function (angular) {
|
||||
var filter = {};
|
||||
filter[this.timeField] = {"gte": "$timeFrom", "lte": "$timeTo"};
|
||||
|
||||
// elastic search versions above 2.0 require the time format to be specified
|
||||
// elastic search versions 2.x require the time format to be specified
|
||||
if (this.elasticsearchVersion >= 2) {
|
||||
filter[this.timeField]["format"] = "epoch_millis";
|
||||
}
|
||||
@@ -136,7 +136,7 @@ function (angular) {
|
||||
"min_doc_count": 0,
|
||||
"extended_bounds": { "min": "$timeFrom", "max": "$timeTo" }
|
||||
};
|
||||
// elastic search versions above 2.0 require the time format to be specified
|
||||
// elastic search versions 2.x require the time format to be specified
|
||||
if (this.elasticsearchVersion >= 2) {
|
||||
esAgg["date_histogram"]["format"] = "epoch_millis";
|
||||
}
|
||||
|
||||
@@ -44,6 +44,39 @@ describe('ElasticQueryBuilder', function() {
|
||||
expect(query.aggs["2"].aggs["3"].date_histogram.field).to.be("@timestamp");
|
||||
});
|
||||
|
||||
it('with es1.x and es2.x date histogram queries check time format', function() {
|
||||
var builder_2x = new ElasticQueryBuilder({
|
||||
timeField: '@timestamp',
|
||||
elasticsearchVersion: 2
|
||||
});
|
||||
|
||||
var query_params = {
|
||||
metrics: [],
|
||||
bucketAggs: [
|
||||
{type: 'date_histogram', field: '@timestamp', id: '1'}
|
||||
],
|
||||
};
|
||||
|
||||
// format should not be specified in 1.x queries
|
||||
expect("format" in builder.build(query_params)["aggs"]["1"]["date_histogram"]).to.be(false);
|
||||
|
||||
// 2.x query should specify format to be "epoch_millis"
|
||||
expect(builder_2x.build(query_params)["aggs"]["1"]["date_histogram"]["format"]).to.be("epoch_millis");
|
||||
});
|
||||
|
||||
it('with es1.x and es2.x range filter check time format', function() {
|
||||
var builder_2x = new ElasticQueryBuilder({
|
||||
timeField: '@timestamp',
|
||||
elasticsearchVersion: 2
|
||||
});
|
||||
|
||||
// format should not be specified in 1.x queries
|
||||
expect("format" in builder.getRangeFilter()["@timestamp"]).to.be(false);
|
||||
|
||||
// 2.x query should specify format to be "epoch_millis"
|
||||
expect(builder_2x.getRangeFilter()["@timestamp"]["format"]).to.be("epoch_millis");
|
||||
});
|
||||
|
||||
it('with select field', function() {
|
||||
var query = builder.build({
|
||||
metrics: [{type: 'avg', field: '@value', id: '1'}],
|
||||
|
||||
Reference in New Issue
Block a user