From d72a5075b99e517bca63fbbe6aca59fe93f5a252 Mon Sep 17 00:00:00 2001 From: Eneko Lakasta Date: Wed, 5 Sep 2018 11:48:21 +0200 Subject: [PATCH] move overviews flags in named map instantiation checks to its own specific tests --- test/acceptance/overviews_metadata.js | 43 +++++++++++-- .../overviews_metadata_named_maps.js | 60 +++++++++++++++++-- 2 files changed, 93 insertions(+), 10 deletions(-) diff --git a/test/acceptance/overviews_metadata.js b/test/acceptance/overviews_metadata.js index fe6470f0..c3c1c68b 100644 --- a/test/acceptance/overviews_metadata.js +++ b/test/acceptance/overviews_metadata.js @@ -73,11 +73,6 @@ describe('overviews metadata', function() { }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); - const headers = JSON.parse(res.headers['x-tiler-profiler']); - - assert.ok(headers.overviewsAddedToMapconfig); - assert.equal(headers.mapType, 'anonymous'); - var parsedBody = JSON.parse(res.body); assert.equal(res.headers['x-layergroup-id'], parsedBody.layergroupid); expected_token = parsedBody.layergroupid; @@ -119,6 +114,44 @@ describe('overviews metadata', function() { } ); }); + + it("Flags overviews usage", function (done) { + var layergroup = { + version: '1.0.0', + layers: [overviews_layer, non_overviews_layer] + }; + + var layergroup_url = '/api/v1/map'; + + var expected_token; + step( + function do_post() { + var next = this; + assert.response(server, { + url: layergroup_url, + method: 'POST', + headers: { host: 'localhost', 'Content-Type': 'application/json' }, + data: JSON.stringify(layergroup) + }, {}, function (res) { + assert.equal(res.statusCode, 200, res.body); + + const headers = JSON.parse(res.headers['x-tiler-profiler']); + + assert.ok(headers.overviewsAddedToMapconfig); + assert.equal(headers.mapType, 'anonymous'); + + const parsedBody = JSON.parse(res.body); + expected_token = parsedBody.layergroupid; + next(); + }); + }, + function finish(err) { + keysToDelete['map_cfg|' + LayergroupToken.parse(expected_token).token] = 0; + keysToDelete['user:localhost:mapviews:global'] = 5; + done(err); + } + ); + }); }); describe('overviews metadata with filters', function() { diff --git a/test/acceptance/overviews_metadata_named_maps.js b/test/acceptance/overviews_metadata_named_maps.js index bfb42c46..a5119370 100644 --- a/test/acceptance/overviews_metadata_named_maps.js +++ b/test/acceptance/overviews_metadata_named_maps.js @@ -119,11 +119,6 @@ describe('overviews metadata for named maps', function() { assert.ok(parsedBody.layergroupid); assert.ok(parsedBody.last_updated); - const headers = JSON.parse(res.headers['x-tiler-profiler']); - - assert.ok(headers.overviewsAddedToMapconfig); - assert.equal(headers.mapType, 'named'); - next(null, parsedBody.layergroupid); }, @@ -181,4 +176,59 @@ describe('overviews metadata for named maps', function() { } ); }); + + it("Flags overviews usage", function (done) { + step( + function postTemplate() { + var next = this; + + assert.response(server, { + url: '/api/v1/map/named?api_key=1234', + method: 'POST', + headers: { host: 'localhost', 'Content-Type': 'application/json' }, + data: JSON.stringify(template) + }, {}, function (res, err) { + next(err, res); + }); + }, + function instantiateTemplate(err) { + assert.ifError(err); + + var next = this; + assert.response(server, { + url: '/api/v1/map/named/' + templateId, + method: 'POST', + headers: { + host: 'localhost', + 'Content-Type': 'application/json' + } + }, {}, + function (res, err) { + return next(err, res); + }); + + }, + function checkFlags(err, res) { + assert.ifError(err); + + var next = this; + + var parsedBody = JSON.parse(res.body); + + keysToDelete['map_cfg|' + LayergroupToken.parse(parsedBody.layergroupid).token] = 0; + keysToDelete['user:localhost:mapviews:global'] = 5; + + const headers = JSON.parse(res.headers['x-tiler-profiler']); + + assert.ok(headers.overviewsAddedToMapconfig); + assert.equal(headers.mapType, 'named'); + + next(); + }, + + function finish(err) { + done(err); + } + ); + }); });