add tests to check that flags for non overviews instantiation are correct

This commit is contained in:
Eneko Lakasta
2018-09-05 12:39:51 +02:00
parent dd1ee56648
commit 564884797d
2 changed files with 184 additions and 75 deletions
+71 -32
View File
@@ -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);
}
);
});
});
});
+113 -43
View File
@@ -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);
}
);
});
});
});