From 7c52f504e59aa75a2e43e87e7764b5f110b20768 Mon Sep 17 00:00:00 2001 From: Eneko Lakasta Date: Thu, 30 Aug 2018 14:30:03 +0200 Subject: [PATCH] add dataview type to overviews logs --- lib/cartodb/models/dataview/base.js | 3 +++ test/acceptance/dataviews/overviews.js | 17 +++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/cartodb/models/dataview/base.js b/lib/cartodb/models/dataview/base.js index 40f6c612..22cdc23b 100644 --- a/lib/cartodb/models/dataview/base.js +++ b/lib/cartodb/models/dataview/base.js @@ -39,6 +39,9 @@ module.exports = class BaseDataview { if (flags && flags.usesOverviews) { stats.usesOverviews = true; + if (this.getType) { + stats.dataviewType = this.getType(); + } } return callback(null, result, stats); diff --git a/test/acceptance/dataviews/overviews.js b/test/acceptance/dataviews/overviews.js index 9cf7bf0f..cfe5a7fc 100644 --- a/test/acceptance/dataviews/overviews.js +++ b/test/acceptance/dataviews/overviews.js @@ -271,6 +271,7 @@ describe('dataviews using tables with overviews', function() { "type":"formula" }); assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging + assert(getDataviewTypeFromHeaders(headers) === 'formula'); //Overviews logging testClient.drain(done); }); @@ -291,6 +292,7 @@ describe('dataviews using tables with overviews', function() { "nans": 0 }); assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging + assert(getDataviewTypeFromHeaders(headers) === 'formula'); //Overviews logging testClient.drain(done); }); @@ -311,6 +313,7 @@ describe('dataviews using tables with overviews', function() { "nans": 0 }); assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging + assert(getDataviewTypeFromHeaders(headers) === 'formula'); //Overviews logging testClient.drain(done); }); @@ -386,6 +389,8 @@ describe('dataviews using tables with overviews', function() { assert.equal(histogram.type, 'histogram'); assert.ok(Array.isArray(histogram.bins)); assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging + assert(getDataviewTypeFromHeaders(headers) === 'histogram'); //Overviews logging + testClient.drain(done); }); }); @@ -594,10 +599,11 @@ describe('dataviews using tables with overviews', function() { it("should expose an aggregation dataview filtering special float values out", function (done) { var testClient = new TestClient(overviewsMapConfig); - testClient.getDataview('test_categories_special_values', params, function (err, dataview) { + testClient.getDataview('test_categories_special_values', params, function (err, dataview, headers) { if (err) { return done(err); } + assert.deepEqual(dataview, { aggregation: 'sum', count: 5, @@ -610,6 +616,10 @@ describe('dataviews using tables with overviews', function() { categories: [ { category: 'Hawai', value: 6, agg: false } ], type: 'aggregation' }); + + assert.ok(getUsesOverviewsFromHeaders(headers)); //Overviews logging + assert(getDataviewTypeFromHeaders(headers) === 'aggregation'); //Overviews logging + testClient.drain(done); }); }); @@ -656,7 +666,10 @@ describe('dataviews using tables with overviews', function() { }); }); - function getUsesOverviewsFromHeaders(headers) { return headers && headers['x-tiler-profiler'] && JSON.parse(headers['x-tiler-profiler']).usesOverviews; } + +function getDataviewTypeFromHeaders(headers) { + return headers && headers['x-tiler-profiler'] && JSON.parse(headers['x-tiler-profiler']).dataviewType; +}