From 564884797d8602d5d8958a5a329f0a2ba9b58766 Mon Sep 17 00:00:00 2001 From: Eneko Lakasta Date: Wed, 5 Sep 2018 12:39:51 +0200 Subject: [PATCH] add tests to check that flags for non overviews instantiation are correct --- test/acceptance/overviews_metadata.js | 103 ++++++++---- .../overviews_metadata_named_maps.js | 156 +++++++++++++----- 2 files changed, 184 insertions(+), 75 deletions(-) diff --git a/test/acceptance/overviews_metadata.js b/test/acceptance/overviews_metadata.js index c3c1c68b..a280e683 100644 --- a/test/acceptance/overviews_metadata.js +++ b/test/acceptance/overviews_metadata.js @@ -115,42 +115,81 @@ describe('overviews metadata', function() { ); }); - it("Flags overviews usage", function (done) { - var layergroup = { - version: '1.0.0', - layers: [overviews_layer, non_overviews_layer] - }; + describe('Overviews Flags', function () { + it("Overviews used", function (done) { + var layergroup = { + version: '1.0.0', + layers: [overviews_layer, non_overviews_layer] + }; - var layergroup_url = '/api/v1/map'; + 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); + 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']); + 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); - } - ); + 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); + } + ); + }); + it("Overviews NOT used", function (done) { + var layergroup = { + version: '1.0.0', + layers: [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.equal(headers.overviewsAddedToMapconfig, false); + 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); + } + ); + }); }); }); diff --git a/test/acceptance/overviews_metadata_named_maps.js b/test/acceptance/overviews_metadata_named_maps.js index a5119370..dd72f240 100644 --- a/test/acceptance/overviews_metadata_named_maps.js +++ b/test/acceptance/overviews_metadata_named_maps.js @@ -177,58 +177,128 @@ describe('overviews metadata for named maps', function() { ); }); - it("Flags overviews usage", function (done) { - step( - function postTemplate() { - var next = this; + describe('Overviews Flags', function() { + it("Overviews used", 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); + 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); - }, - function checkFlags(err, res) { - 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); + }); - var next = this; + }, + function checkFlags(err, res) { + assert.ifError(err); - var parsedBody = JSON.parse(res.body); + var next = this; - keysToDelete['map_cfg|' + LayergroupToken.parse(parsedBody.layergroupid).token] = 0; - keysToDelete['user:localhost:mapviews:global'] = 5; + var parsedBody = JSON.parse(res.body); - const headers = JSON.parse(res.headers['x-tiler-profiler']); + keysToDelete['map_cfg|' + LayergroupToken.parse(parsedBody.layergroupid).token] = 0; + keysToDelete['user:localhost:mapviews:global'] = 5; - assert.ok(headers.overviewsAddedToMapconfig); - assert.equal(headers.mapType, 'named'); + const headers = JSON.parse(res.headers['x-tiler-profiler']); - next(); - }, + assert.ok(headers.overviewsAddedToMapconfig); + assert.equal(headers.mapType, 'named'); - function finish(err) { - done(err); - } - ); + next(); + }, + + function finish(err) { + done(err); + } + ); + }); + + it("Overviews NOT used", function (done) { + + const nonOverviewsTemplateId = 'non-overviews-template'; + + var nonOverviewsTemplate = { + version: '0.0.1', + name: nonOverviewsTemplateId, + auth: { method: 'open' }, + layergroup: { + version: '1.0.0', + layers: [non_overviews_layer] + } + }; + + 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(nonOverviewsTemplate) + }, {}, function (res, err) { + next(err, res); + }); + }, + function instantiateTemplate(err) { + assert.ifError(err); + + var next = this; + assert.response(server, { + url: '/api/v1/map/named/' + nonOverviewsTemplateId, + 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.equal(headers.overviewsAddedToMapconfig, false); + assert.equal(headers.mapType, 'named'); + + next(); + }, + + function finish(err) { + done(err); + } + ); + }); }); });