diff --git a/controller/coarse_reverse.js b/controller/coarse_reverse.js index dc48d6db..d080298c 100644 --- a/controller/coarse_reverse.js +++ b/controller/coarse_reverse.js @@ -1,6 +1,7 @@ const logger = require('pelias-logger').get('coarse_reverse'); const _ = require('lodash'); const Document = require('pelias-model').Document; +const isDNT = require('../helper/logging').isDNT; const granularities = [ 'neighbourhood', @@ -88,7 +89,7 @@ function setup(service, should_execute) { lon: req.clean['point.lon'] }; - service(centroid, (err, results) => { + service(centroid, isDNT(req), (err, results) => { // if there's an error, log it and bail if (err) { logger.error(err); diff --git a/test/unit/controller/coarse_reverse.js b/test/unit/controller/coarse_reverse.js index d8071e62..2389cc43 100644 --- a/test/unit/controller/coarse_reverse.js +++ b/test/unit/controller/coarse_reverse.js @@ -46,7 +46,8 @@ module.exports.tests.early_exit_conditions = (test, common) => { module.exports.tests.error_conditions = (test, common) => { test('service error should log and call next', (t) => { - const service = (point, callback) => { + const service = (point, do_not_track, callback) => { + t.equals(do_not_track, 'do_not_track value'); callback('this is an error'); }; @@ -54,7 +55,12 @@ module.exports.tests.error_conditions = (test, common) => { const should_execute = () => { return true; }; const controller = proxyquire('../../../controller/coarse_reverse', { - 'pelias-logger': logger + 'pelias-logger': logger, + '../helper/logging': { + isDNT: () => { + return 'do_not_track value'; + } + } })(service, should_execute); const req = { @@ -86,7 +92,8 @@ module.exports.tests.error_conditions = (test, common) => { module.exports.tests.success_conditions = (test, common) => { test('service returning results should use first entry for each layer', (t) => { - const service = (point, callback) => { + const service = (point, do_not_track, callback) => { + t.equals(do_not_track, 'do_not_track value'); const results = { neighbourhood: [ { @@ -146,7 +153,12 @@ module.exports.tests.success_conditions = (test, common) => { const should_execute = () => { return true; }; const controller = proxyquire('../../../controller/coarse_reverse', { - 'pelias-logger': logger + 'pelias-logger': logger, + '../helper/logging': { + isDNT: () => { + return 'do_not_track value'; + } + } })(service, should_execute); const req = { @@ -235,7 +247,8 @@ module.exports.tests.success_conditions = (test, common) => { }); test('layers missing from results should be ignored', (t) => { - const service = (point, callback) => { + const service = (point, do_not_track, callback) => { + t.equals(do_not_track, 'do_not_track value'); const results = { neighbourhood: [ { @@ -258,7 +271,12 @@ module.exports.tests.success_conditions = (test, common) => { const should_execute = () => { return true; }; const controller = proxyquire('../../../controller/coarse_reverse', { - 'pelias-logger': logger + 'pelias-logger': logger, + '../helper/logging': { + isDNT: () => { + return 'do_not_track value'; + } + } })(service, should_execute); const req = { @@ -319,7 +337,8 @@ module.exports.tests.success_conditions = (test, common) => { }); test('most granular layer missing centroid should not set', (t) => { - const service = (point, callback) => { + const service = (point, do_not_track, callback) => { + t.equals(do_not_track, 'do_not_track value'); const results = { neighbourhood: [ { @@ -338,7 +357,12 @@ module.exports.tests.success_conditions = (test, common) => { const should_execute = () => { return true; }; const controller = proxyquire('../../../controller/coarse_reverse', { - 'pelias-logger': logger + 'pelias-logger': logger, + '../helper/logging': { + isDNT: () => { + return 'do_not_track value'; + } + } })(service, should_execute); const req = { @@ -395,7 +419,8 @@ module.exports.tests.success_conditions = (test, common) => { }); test('most granular layer missing bounding_box should not set', (t) => { - const service = (point, callback) => { + const service = (point, do_not_track, callback) => { + t.equals(do_not_track, 'do_not_track value'); const results = { neighbourhood: [ { @@ -417,7 +442,12 @@ module.exports.tests.success_conditions = (test, common) => { const should_execute = () => { return true; }; const controller = proxyquire('../../../controller/coarse_reverse', { - 'pelias-logger': logger + 'pelias-logger': logger, + '../helper/logging': { + isDNT: () => { + return 'do_not_track value'; + } + } })(service, should_execute); const req = { @@ -480,7 +510,8 @@ module.exports.tests.success_conditions = (test, common) => { module.exports.tests.failure_conditions = (test, common) => { test('service returning 0 results at the requested layer should return nothing', (t) => { - const service = (point, callback) => { + const service = (point, do_not_track, callback) => { + t.equals(do_not_track, 'do_not_track value'); // response without neighbourhood results const results = { borough: [ @@ -528,7 +559,12 @@ module.exports.tests.failure_conditions = (test, common) => { const should_execute = () => { return true; }; const controller = proxyquire('../../../controller/coarse_reverse', { - 'pelias-logger': logger + 'pelias-logger': logger, + '../helper/logging': { + isDNT: () => { + return 'do_not_track value'; + } + } })(service, should_execute); const req = {