add tests for dataviews

This commit is contained in:
Eneko Lakasta
2018-08-29 18:00:13 +02:00
parent 732f891850
commit c9d50c412d
3 changed files with 25 additions and 13 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ module.exports = class BaseDataview {
result = this.format(result, override);
result.type = this.getType();
//Overviews looging
//Overviews logging
const stats = {};
if (flags && flags.usesOverviews) {
+21 -8
View File
@@ -48,11 +48,12 @@ describe('dataviews using tables without overviews', function() {
it("should expose a formula", function(done) {
var testClient = new TestClient(nonOverviewsMapConfig);
testClient.getDataview('country_places_count', { own_filter: 0 }, function(err, formula_result) {
testClient.getDataview('country_places_count', { own_filter: 0 }, function(err, formula_result, headers) {
if (err) {
return done(err);
}
assert.deepEqual(formula_result, { operation: 'count', result: 7313, nulls: 0, type: 'formula' });
assert(getUsesOverviewsFromHeaders(headers) === undefined); //Overviews logging
testClient.drain(done);
});
@@ -257,7 +258,7 @@ describe('dataviews using tables with overviews', function() {
it("should expose a sum formula", function(done) {
var testClient = new TestClient(overviewsMapConfig);
testClient.getDataview('test_sum', { own_filter: 0 }, function(err, formula_result) {
testClient.getDataview('test_sum', { own_filter: 0 }, function(err, formula_result, headers) {
if (err) {
return done(err);
}
@@ -269,6 +270,7 @@ describe('dataviews using tables with overviews', function() {
"nulls":0,
"type":"formula"
});
assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging
testClient.drain(done);
});
@@ -276,7 +278,7 @@ describe('dataviews using tables with overviews', function() {
it("should expose an avg formula", function(done) {
var testClient = new TestClient(overviewsMapConfig);
testClient.getDataview('test_avg', { own_filter: 0 }, function(err, formula_result) {
testClient.getDataview('test_avg', { own_filter: 0 }, function(err, formula_result, headers) {
if (err) {
return done(err);
}
@@ -288,6 +290,7 @@ describe('dataviews using tables with overviews', function() {
"infinities": 0,
"nans": 0
});
assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging
testClient.drain(done);
});
@@ -295,7 +298,7 @@ describe('dataviews using tables with overviews', function() {
it("should expose a count formula", function(done) {
var testClient = new TestClient(overviewsMapConfig);
testClient.getDataview('test_count', { own_filter: 0 }, function(err, formula_result) {
testClient.getDataview('test_count', { own_filter: 0 }, function(err, formula_result, headers) {
if (err) {
return done(err);
}
@@ -307,6 +310,7 @@ describe('dataviews using tables with overviews', function() {
"infinities": 0,
"nans": 0
});
assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging
testClient.drain(done);
});
@@ -374,13 +378,14 @@ describe('dataviews using tables with overviews', function() {
it("should expose a histogram", function (done) {
var testClient = new TestClient(overviewsMapConfig);
testClient.getDataview('test_histogram', function (err, histogram) {
testClient.getDataview('test_histogram', function (err, histogram, headers) {
if (err) {
return done(err);
}
assert.ok(histogram);
assert.equal(histogram.type, 'histogram');
assert.ok(Array.isArray(histogram.bins));
assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging
testClient.drain(done);
});
});
@@ -462,7 +467,7 @@ describe('dataviews using tables with overviews', function() {
it("should expose a filtered sum formula", function (done) {
var testClient = new TestClient(overviewsMapConfig);
testClient.getDataview('test_sum', params, function (err, formula_result) {
testClient.getDataview('test_sum', params, function (err, formula_result, headers) {
if (err) {
return done(err);
}
@@ -474,13 +479,14 @@ describe('dataviews using tables with overviews', function() {
"nans": 0,
"type":"formula"
});
assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging
testClient.drain(done);
});
});
it("should expose a filtered avg formula", function(done) {
var testClient = new TestClient(overviewsMapConfig);
testClient.getDataview('test_avg', params, function(err, formula_result) {
testClient.getDataview('test_avg', params, function(err, formula_result, headers) {
if (err) {
return done(err);
}
@@ -492,6 +498,7 @@ describe('dataviews using tables with overviews', function() {
"nans": 0,
"type":"formula"
});
assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging
testClient.drain(done);
});
@@ -499,7 +506,7 @@ describe('dataviews using tables with overviews', function() {
it("should expose a filtered count formula", function(done) {
var testClient = new TestClient(overviewsMapConfig);
testClient.getDataview('test_count', params, function(err, formula_result) {
testClient.getDataview('test_count', params, function(err, formula_result, headers) {
if (err) {
return done(err);
}
@@ -511,6 +518,7 @@ describe('dataviews using tables with overviews', function() {
"nulls":0,
"type":"formula"
});
assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging
testClient.drain(done);
});
@@ -647,3 +655,8 @@ describe('dataviews using tables with overviews', function() {
});
});
});
function getUsesOverviewsFromHeaders(headers) {
return headers && headers['x-tiler-profiler'] && JSON.parse(headers['x-tiler-profiler']).usesOverviews;
}
+3 -4
View File
@@ -509,16 +509,15 @@ TestClient.prototype.getDataview = function(dataviewName, params, callback) {
if (err) {
return next(err);
}
next(null, JSON.parse(res.body));
next(null, JSON.parse(res.body), res.headers);
}
);
},
function finish(err, dataview) {
function finish(err, dataview, headers = null) {
if (err) {
return callback(err);
}
return callback(null, dataview);
return callback(null, dataview, headers);
}
);
};