From a42af5e0d58f617b76f8f778cef0c107c109566f Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Tue, 16 Oct 2018 19:51:22 +0200 Subject: [PATCH] Do not run test if ST_AsMvt not avail. --- .../acceptance/user-database-timeout-limit.js | 90 ++++--------------- 1 file changed, 17 insertions(+), 73 deletions(-) diff --git a/test/acceptance/user-database-timeout-limit.js b/test/acceptance/user-database-timeout-limit.js index 611daa6d..1a2a505c 100644 --- a/test/acceptance/user-database-timeout-limit.js +++ b/test/acceptance/user-database-timeout-limit.js @@ -380,7 +380,22 @@ describe('user database timeout limit', function () { }); }); - describe('fetching vector tiles', function () { + const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip; + describe('fetching vector tiles via mapnik renderer', () => { testFetchingVectorTiles(false); }); + describe_pg('fetching vector tiles via postgis renderer', () => { testFetchingVectorTiles(true); }); + + function testFetchingVectorTiles(usePostGIS) { + const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS; + + before(function () { + serverOptions.renderer.mvt.usePostGIS = usePostGIS; + }); + + after(function () { + serverOptions.renderer.mvt.usePostGIS = originalUsePostGIS; + }); + + beforeEach(function (done) { const mapconfig = createMapConfig(); this.testClient = new TestClient(mapconfig, 1234); @@ -442,78 +457,7 @@ describe('user database timeout limit', function () { }); }); - - if (process.env.POSTGIS_VERSION >= '20400') { - describe('fetching vector tiles via PostGIS renderer', function() { - const usePostGIS = true; - const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS; - - beforeEach(function (done) { - serverOptions.renderer.mvt.usePostGIS = usePostGIS; - - const mapconfig = createMapConfig(); - this.testClient = new TestClient(mapconfig, 1234); - const expectedResponse = { - status: 200, - headers: { - 'Content-Type': 'application/json; charset=utf-8' - } - }; - - this.testClient.getLayergroup({ response: expectedResponse }, (err, res) => { - if (err) { - return done(err); - } - - this.layergroupid = res.layergroupid; - - done(); - }); - }); - - afterEach(function () { - serverOptions.renderer.mvt.usePostGIS = originalUsePostGIS; - }); - - describe('with user\'s timeout of 200 ms', function () { - beforeEach(function (done) { - this.testClient.setUserDatabaseTimeoutLimit(200, done); - }); - - afterEach(function (done) { - this.testClient.setUserDatabaseTimeoutLimit(0, done); - }); - - it('"mvt" fails due to statement timeout', function (done) { - const params = { - layergroupid: this.layergroupid, - format: 'mvt', - layers: [ 0 ], - response: { - status: 429, - headers: { - 'Content-Type': 'application/x-protobuf' - } - }, - cacheBuster: true - }; - - this.testClient.getTile(0, 0, 0, params, (err, res, tile) => { - assert.ifError(err); - - var tileJSON = tile.toJSON(); - assert.equal(Array.isArray(tileJSON), true); - assert.equal(tileJSON.length, 2); - assert.equal(tileJSON[0].name, 'errorTileSquareLayer'); - assert.equal(tileJSON[1].name, 'errorTileStripesLayer'); - - done(); - }); - }); - }); - }); - } - }); + } });