Remove POSTGIS_VERSION env variable and run test using mvt renderer always
This commit is contained in:
parent
561bdb3938
commit
5f43db2e36
@ -6,17 +6,16 @@ const assert = require('../support/assert');
|
||||
const TestClient = require('../support/test-client');
|
||||
const serverOptions = require('../../lib/cartodb/server_options');
|
||||
|
||||
const suites = [{
|
||||
desc: 'mvt (mapnik)',
|
||||
usePostGIS: false
|
||||
}];
|
||||
|
||||
if (process.env.POSTGIS_VERSION >= '20400') {
|
||||
suites.push({
|
||||
const suites = [
|
||||
{
|
||||
desc: 'mvt (mapnik)',
|
||||
usePostGIS: false
|
||||
},
|
||||
{
|
||||
desc: 'mvt (postgis)',
|
||||
usePostGIS: true
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
// Generate points with values and times.
|
||||
// The point location is spanned over a given length, by default it is 0 so
|
||||
|
@ -171,8 +171,7 @@ describe('buffer size per format', function () {
|
||||
});
|
||||
});
|
||||
|
||||
const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip;
|
||||
describe_pg('using postgis mvt renderer', function() {
|
||||
describe('using postgis mvt renderer', function() {
|
||||
before(function () {
|
||||
serverOptions.renderer.mvt.usePostGIS = true;
|
||||
});
|
||||
@ -505,8 +504,7 @@ describe('buffer size per format for named maps w/o placeholders', function () {
|
||||
});
|
||||
});
|
||||
|
||||
const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip;
|
||||
describe_pg('using postgis mvt renderer', function() {
|
||||
describe('using postgis mvt renderer', function() {
|
||||
before(function () {
|
||||
serverOptions.renderer.mvt.usePostGIS = true;
|
||||
});
|
||||
|
@ -7,8 +7,7 @@ const mapConfigFactory = require('../fixtures/test_mapconfigFactory');
|
||||
const serverOptions = require('../../lib/cartodb/server_options');
|
||||
|
||||
const usePgMvtRenderer = serverOptions.renderer.mvt.usePostGIS;
|
||||
const postgisVersion = process.env.POSTGIS_VERSION;
|
||||
const describe_mvt = postgisVersion >= '20400' || !usePgMvtRenderer ? describe : describe.skip;
|
||||
const describe_mvt = !usePgMvtRenderer ? describe : describe.skip;
|
||||
|
||||
describe_mvt('date-wrapping', () => {
|
||||
let testClient;
|
||||
|
@ -7,12 +7,10 @@ const TestClient = require('../support/test-client');
|
||||
const serverOptions = require('../../lib/cartodb/server_options');
|
||||
|
||||
describe('layergroup metadata', function () {
|
||||
|
||||
const usePgMvtRenderer = process.env.POSTGIS_VERSION >= '20400';
|
||||
const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS;
|
||||
|
||||
before(function () {
|
||||
serverOptions.renderer.mvt.usePostGIS = usePgMvtRenderer;
|
||||
serverOptions.renderer.mvt.usePostGIS = true;
|
||||
});
|
||||
|
||||
after(function () {
|
||||
|
@ -6,17 +6,16 @@ const assert = require('../support/assert');
|
||||
const TestClient = require('../support/test-client');
|
||||
const serverOptions = require('../../lib/cartodb/server_options');
|
||||
|
||||
const suites = [{
|
||||
desc: 'mapnik',
|
||||
usePostGIS: false
|
||||
}];
|
||||
|
||||
if (process.env.POSTGIS_VERSION >= '20400') {
|
||||
suites.push({
|
||||
const suites = [
|
||||
{
|
||||
desc: 'mapnik',
|
||||
usePostGIS: false
|
||||
},
|
||||
{
|
||||
desc: 'postgis',
|
||||
usePostGIS: true
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
describe('mvt regressions', function () {
|
||||
|
||||
|
@ -22,273 +22,271 @@ function createMapConfig(sql = TestClient.SQL.ONE_POINT) {
|
||||
}
|
||||
|
||||
describe('mvt (mapnik)', mvt(false));
|
||||
if (process.env.POSTGIS_VERSION >= '20400') {
|
||||
describe('mvt (postgis)', mvt(true));
|
||||
}
|
||||
describe('mvt (postgis)', mvt(true));
|
||||
|
||||
function mvt(usePostGIS) {
|
||||
return function () {
|
||||
const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS;
|
||||
before(function () {
|
||||
serverOptions.renderer.mvt.usePostGIS = usePostGIS;
|
||||
});
|
||||
after(function (){
|
||||
serverOptions.renderer.mvt.usePostGIS = originalUsePostGIS;
|
||||
});
|
||||
return function () {
|
||||
const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS;
|
||||
before(function () {
|
||||
serverOptions.renderer.mvt.usePostGIS = usePostGIS;
|
||||
});
|
||||
after(function (){
|
||||
serverOptions.renderer.mvt.usePostGIS = originalUsePostGIS;
|
||||
});
|
||||
|
||||
describe('named map tile', function () {
|
||||
it('should get default named vector tile', function (done) {
|
||||
const apikeyToken = 1234;
|
||||
const templateName = `mvt-template-${usePostGIS ? 'postgis' : 'mapnik'}`;
|
||||
const template = {
|
||||
version: '0.0.1',
|
||||
name: templateName,
|
||||
placeholders: {
|
||||
buffersize: {
|
||||
type: 'number',
|
||||
default: 0
|
||||
describe('named map tile', function () {
|
||||
it('should get default named vector tile', function (done) {
|
||||
const apikeyToken = 1234;
|
||||
const templateName = `mvt-template-${usePostGIS ? 'postgis' : 'mapnik'}`;
|
||||
const template = {
|
||||
version: '0.0.1',
|
||||
name: templateName,
|
||||
placeholders: {
|
||||
buffersize: {
|
||||
type: 'number',
|
||||
default: 0
|
||||
}
|
||||
},
|
||||
layergroup: {
|
||||
version: '1.7.0',
|
||||
layers: [{
|
||||
type: 'cartodb',
|
||||
options: {
|
||||
sql: 'select * from populated_places_simple_reduced limit 10',
|
||||
cartocss: TestClient.CARTOCSS.POINTS,
|
||||
cartocss_version: '2.3.0',
|
||||
}
|
||||
}]
|
||||
}
|
||||
};
|
||||
|
||||
const testClient = new TestClient(template, apikeyToken);
|
||||
testClient.keysToDelete['map_tpl|localhost'] = 0;
|
||||
|
||||
testClient.getNamedTile(templateName, 0, 0, 0, 'mvt', {}, (err, res, tile) => {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
const tileJSON = tile.toJSON();
|
||||
|
||||
assert.equal(tileJSON[0].features.length, 10);
|
||||
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('analysis-layers-dataviews-mvt', function () {
|
||||
|
||||
function createMapConfig(layers, dataviews, analysis) {
|
||||
return {
|
||||
version: '1.5.0',
|
||||
layers: layers,
|
||||
dataviews: dataviews || {},
|
||||
analyses: analysis || []
|
||||
};
|
||||
}
|
||||
|
||||
var CARTOCSS = [
|
||||
"#points {",
|
||||
" marker-fill-opacity: 1.0;",
|
||||
" marker-line-color: #FFF;",
|
||||
" marker-line-width: 0.5;",
|
||||
" marker-line-opacity: 1.0;",
|
||||
" marker-placement: point;",
|
||||
" marker-type: ellipse;",
|
||||
" marker-width: 8;",
|
||||
" marker-fill: red;",
|
||||
" marker-allow-overlap: true;",
|
||||
"}"
|
||||
].join('\n');
|
||||
|
||||
var mapConfig = createMapConfig(
|
||||
[
|
||||
{
|
||||
"type": "cartodb",
|
||||
"options": {
|
||||
"source": {
|
||||
"id": "2570e105-7b37-40d2-bdf4-1af889598745"
|
||||
},
|
||||
"cartocss": CARTOCSS,
|
||||
"cartocss_version": "2.3.0"
|
||||
}
|
||||
}
|
||||
],
|
||||
{
|
||||
pop_max_histogram: {
|
||||
source: {
|
||||
id: '2570e105-7b37-40d2-bdf4-1af889598745'
|
||||
},
|
||||
type: 'histogram',
|
||||
options: {
|
||||
column: 'pop_max'
|
||||
}
|
||||
}
|
||||
},
|
||||
layergroup: {
|
||||
version: '1.7.0',
|
||||
layers: [{
|
||||
type: 'cartodb',
|
||||
options: {
|
||||
sql: 'select * from populated_places_simple_reduced limit 10',
|
||||
cartocss: TestClient.CARTOCSS.POINTS,
|
||||
cartocss_version: '2.3.0',
|
||||
[
|
||||
{
|
||||
"id": "2570e105-7b37-40d2-bdf4-1af889598745",
|
||||
"type": "source",
|
||||
"params": {
|
||||
"query": "select * from populated_places_simple_reduced"
|
||||
}
|
||||
}]
|
||||
}
|
||||
};
|
||||
|
||||
const testClient = new TestClient(template, apikeyToken);
|
||||
testClient.keysToDelete['map_tpl|localhost'] = 0;
|
||||
|
||||
testClient.getNamedTile(templateName, 0, 0, 0, 'mvt', {}, (err, res, tile) => {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
const tileJSON = tile.toJSON();
|
||||
|
||||
assert.equal(tileJSON[0].features.length, 10);
|
||||
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('analysis-layers-dataviews-mvt', function () {
|
||||
|
||||
function createMapConfig(layers, dataviews, analysis) {
|
||||
return {
|
||||
version: '1.5.0',
|
||||
layers: layers,
|
||||
dataviews: dataviews || {},
|
||||
analyses: analysis || []
|
||||
};
|
||||
}
|
||||
|
||||
var CARTOCSS = [
|
||||
"#points {",
|
||||
" marker-fill-opacity: 1.0;",
|
||||
" marker-line-color: #FFF;",
|
||||
" marker-line-width: 0.5;",
|
||||
" marker-line-opacity: 1.0;",
|
||||
" marker-placement: point;",
|
||||
" marker-type: ellipse;",
|
||||
" marker-width: 8;",
|
||||
" marker-fill: red;",
|
||||
" marker-allow-overlap: true;",
|
||||
"}"
|
||||
].join('\n');
|
||||
|
||||
var mapConfig = createMapConfig(
|
||||
[
|
||||
{
|
||||
"type": "cartodb",
|
||||
"options": {
|
||||
"source": {
|
||||
"id": "2570e105-7b37-40d2-bdf4-1af889598745"
|
||||
},
|
||||
"cartocss": CARTOCSS,
|
||||
"cartocss_version": "2.3.0"
|
||||
}
|
||||
}
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
it('should get pop_max column from dataview', function (done) {
|
||||
var testClient = new TestClient(mapConfig);
|
||||
|
||||
testClient.getTile(0, 0, 0, { format: 'mvt', layers: 0 }, function (err, res, MVT) {
|
||||
var geojsonTile = JSON.parse(MVT.toGeoJSONSync(0));
|
||||
assert.ok(!err, err);
|
||||
|
||||
assert.ok(Array.isArray(geojsonTile.features));
|
||||
assert.ok(geojsonTile.features.length > 0);
|
||||
var feature = geojsonTile.features[0];
|
||||
assert.ok(feature.properties.hasOwnProperty('pop_max'), 'Missing pop_max property');
|
||||
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
const testCases = [
|
||||
{
|
||||
pop_max_histogram: {
|
||||
source: {
|
||||
id: '2570e105-7b37-40d2-bdf4-1af889598745'
|
||||
},
|
||||
type: 'histogram',
|
||||
options: {
|
||||
column: 'pop_max'
|
||||
desc: 'should get empty mvt with code 204 (no content)',
|
||||
coords: { z: 0, x: 0, y: 0 },
|
||||
format: 'mvt',
|
||||
response: {
|
||||
status: 204,
|
||||
headers: {
|
||||
'Content-Type': undefined
|
||||
}
|
||||
}
|
||||
},
|
||||
mapConfig: createMapConfig(TestClient.SQL.EMPTY)
|
||||
},
|
||||
[
|
||||
{
|
||||
"id": "2570e105-7b37-40d2-bdf4-1af889598745",
|
||||
"type": "source",
|
||||
"params": {
|
||||
"query": "select * from populated_places_simple_reduced"
|
||||
{
|
||||
desc: 'should get mvt tile with code 200 (ok)',
|
||||
coords: { z: 0, x: 0, y: 0 },
|
||||
format: 'mvt',
|
||||
response: {
|
||||
status: 200,
|
||||
headers: {
|
||||
'Content-Type': 'application/x-protobuf'
|
||||
}
|
||||
}
|
||||
]
|
||||
);
|
||||
},
|
||||
mapConfig: createMapConfig()
|
||||
}
|
||||
];
|
||||
|
||||
it('should get pop_max column from dataview', function (done) {
|
||||
var testClient = new TestClient(mapConfig);
|
||||
testCases.forEach(function (test) {
|
||||
it(test.desc, done => {
|
||||
var testClient = new TestClient(test.mapConfig);
|
||||
const { z, x, y } = test.coords;
|
||||
const { format, response } = test;
|
||||
|
||||
testClient.getTile(0, 0, 0, { format: 'mvt', layers: 0 }, function (err, res, MVT) {
|
||||
var geojsonTile = JSON.parse(MVT.toGeoJSONSync(0));
|
||||
assert.ok(!err, err);
|
||||
|
||||
assert.ok(Array.isArray(geojsonTile.features));
|
||||
assert.ok(geojsonTile.features.length > 0);
|
||||
var feature = geojsonTile.features[0];
|
||||
assert.ok(feature.properties.hasOwnProperty('pop_max'), 'Missing pop_max property');
|
||||
|
||||
testClient.drain(done);
|
||||
testClient.getTile(z, x, y, { format, response }, err => {
|
||||
assert.ifError(err);
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
describe('overviews', function () {
|
||||
function createMapConfig(layers, dataviews, analysis) {
|
||||
return {
|
||||
version: '1.8.0',
|
||||
layers: layers,
|
||||
dataviews: dataviews || {},
|
||||
analyses: analysis || []
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
const testCases = [
|
||||
{
|
||||
desc: 'should get empty mvt with code 204 (no content)',
|
||||
coords: { z: 0, x: 0, y: 0 },
|
||||
format: 'mvt',
|
||||
response: {
|
||||
status: 204,
|
||||
headers: {
|
||||
'Content-Type': undefined
|
||||
}
|
||||
},
|
||||
mapConfig: createMapConfig(TestClient.SQL.EMPTY)
|
||||
},
|
||||
{
|
||||
desc: 'should get mvt tile with code 200 (ok)',
|
||||
coords: { z: 0, x: 0, y: 0 },
|
||||
format: 'mvt',
|
||||
response: {
|
||||
status: 200,
|
||||
headers: {
|
||||
'Content-Type': 'application/x-protobuf'
|
||||
}
|
||||
},
|
||||
mapConfig: createMapConfig()
|
||||
}
|
||||
];
|
||||
|
||||
testCases.forEach(function (test) {
|
||||
it(test.desc, done => {
|
||||
var testClient = new TestClient(test.mapConfig);
|
||||
const { z, x, y } = test.coords;
|
||||
const { format, response } = test;
|
||||
|
||||
testClient.getTile(z, x, y, { format, response }, err => {
|
||||
assert.ifError(err);
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('overviews', function () {
|
||||
function createMapConfig(layers, dataviews, analysis) {
|
||||
return {
|
||||
version: '1.8.0',
|
||||
layers: layers,
|
||||
dataviews: dataviews || {},
|
||||
analyses: analysis || []
|
||||
};
|
||||
}
|
||||
|
||||
it('should use overviews to fetch mvt data', function (done) {
|
||||
const mapConfig = createMapConfig(
|
||||
[
|
||||
{
|
||||
"type": "cartodb",
|
||||
"options": {
|
||||
"sql": 'SELECT * FROM test_table_overviews',
|
||||
"cartocss": TestClient.CARTOCSS.POINTS,
|
||||
"cartocss_version": "2.3.0"
|
||||
it('should use overviews to fetch mvt data', function (done) {
|
||||
const mapConfig = createMapConfig(
|
||||
[
|
||||
{
|
||||
"type": "cartodb",
|
||||
"options": {
|
||||
"sql": 'SELECT * FROM test_table_overviews',
|
||||
"cartocss": TestClient.CARTOCSS.POINTS,
|
||||
"cartocss_version": "2.3.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
);
|
||||
]
|
||||
);
|
||||
|
||||
const testClient = new TestClient(mapConfig);
|
||||
const [ z, x, y ] = [ 0, 0, 0 ];
|
||||
const options = { format: 'mvt' };
|
||||
const testClient = new TestClient(mapConfig);
|
||||
const [ z, x, y ] = [ 0, 0, 0 ];
|
||||
const options = { format: 'mvt' };
|
||||
|
||||
testClient.getTile(z, x, y, options, function (err, res, mvt) {
|
||||
assert.ifError(err);
|
||||
testClient.getTile(z, x, y, options, function (err, res, mvt) {
|
||||
assert.ifError(err);
|
||||
|
||||
const geojsonTile = JSON.parse(mvt.toGeoJSONSync(0));
|
||||
const geojsonTile = JSON.parse(mvt.toGeoJSONSync(0));
|
||||
|
||||
assert.ok(Array.isArray(geojsonTile.features));
|
||||
assert.ok(geojsonTile.features.length > 0);
|
||||
assert.ok(Array.isArray(geojsonTile.features));
|
||||
assert.ok(geojsonTile.features.length > 0);
|
||||
|
||||
const feature = geojsonTile.features[0];
|
||||
const feature = geojsonTile.features[0];
|
||||
|
||||
assert.ok(feature.properties.hasOwnProperty('_feature_count'), 'Missing _feature_count property');
|
||||
assert.equal(feature.properties.cartodb_id, 1);
|
||||
assert.equal(feature.properties.name, 'Hawai');
|
||||
assert.equal(feature.properties._feature_count, 5); // original table has _feature_count = 1
|
||||
assert.equal(feature.properties.value, 3); // original table has value = 1.0
|
||||
assert.ok(feature.properties.hasOwnProperty('_feature_count'), 'Missing _feature_count property');
|
||||
assert.equal(feature.properties.cartodb_id, 1);
|
||||
assert.equal(feature.properties.name, 'Hawai');
|
||||
assert.equal(feature.properties._feature_count, 5); // original table has _feature_count = 1
|
||||
assert.equal(feature.properties.value, 3); // original table has value = 1.0
|
||||
|
||||
testClient.drain(done);
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
|
||||
it('first layer should use overviews, second layer shouldn\'t', function (done) {
|
||||
const mapConfig = createMapConfig(
|
||||
[
|
||||
{
|
||||
"type": "cartodb",
|
||||
"options": {
|
||||
"sql": 'SELECT * FROM test_table_overviews',
|
||||
"cartocss": TestClient.CARTOCSS.POINTS,
|
||||
"cartocss_version": "2.3.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "cartodb",
|
||||
"options": {
|
||||
"sql": 'SELECT * FROM test_table',
|
||||
"cartocss": TestClient.CARTOCSS.POINTS,
|
||||
"cartocss_version": "2.3.0"
|
||||
}
|
||||
}
|
||||
]
|
||||
);
|
||||
|
||||
const testClient = new TestClient(mapConfig);
|
||||
const [ z, x, y ] = [ 0, 0, 0 ];
|
||||
const options = { format: 'mvt' };
|
||||
|
||||
testClient.getTile(z, x, y, options, function (err, res, mvt) {
|
||||
assert.ifError(err);
|
||||
|
||||
const tileWithOverviews = JSON.parse(mvt.toGeoJSONSync(0));
|
||||
const tileWithoutOverviews = JSON.parse(mvt.toGeoJSONSync(1));
|
||||
|
||||
assert.ok(Array.isArray(tileWithOverviews.features));
|
||||
assert.equal(tileWithOverviews.features.length, 1);
|
||||
assert.equal(tileWithOverviews.features[0].properties._feature_count, 5);
|
||||
|
||||
assert.ok(Array.isArray(tileWithoutOverviews.features));
|
||||
assert.equal(tileWithoutOverviews.features.length, 5);
|
||||
assert.equal(tileWithoutOverviews.features[0].properties._feature_count, undefined);
|
||||
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('first layer should use overviews, second layer shouldn\'t', function (done) {
|
||||
const mapConfig = createMapConfig(
|
||||
[
|
||||
{
|
||||
"type": "cartodb",
|
||||
"options": {
|
||||
"sql": 'SELECT * FROM test_table_overviews',
|
||||
"cartocss": TestClient.CARTOCSS.POINTS,
|
||||
"cartocss_version": "2.3.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "cartodb",
|
||||
"options": {
|
||||
"sql": 'SELECT * FROM test_table',
|
||||
"cartocss": TestClient.CARTOCSS.POINTS,
|
||||
"cartocss_version": "2.3.0"
|
||||
}
|
||||
}
|
||||
]
|
||||
);
|
||||
|
||||
const testClient = new TestClient(mapConfig);
|
||||
const [ z, x, y ] = [ 0, 0, 0 ];
|
||||
const options = { format: 'mvt' };
|
||||
|
||||
testClient.getTile(z, x, y, options, function (err, res, mvt) {
|
||||
assert.ifError(err);
|
||||
|
||||
const tileWithOverviews = JSON.parse(mvt.toGeoJSONSync(0));
|
||||
const tileWithoutOverviews = JSON.parse(mvt.toGeoJSONSync(1));
|
||||
|
||||
assert.ok(Array.isArray(tileWithOverviews.features));
|
||||
assert.equal(tileWithOverviews.features.length, 1);
|
||||
assert.equal(tileWithOverviews.features[0].properties._feature_count, 5);
|
||||
|
||||
assert.ok(Array.isArray(tileWithoutOverviews.features));
|
||||
assert.equal(tileWithoutOverviews.features.length, 5);
|
||||
assert.equal(tileWithoutOverviews.features[0].properties._feature_count, undefined);
|
||||
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -276,11 +276,11 @@ describe('rate limit middleware', function () {
|
||||
});
|
||||
});
|
||||
|
||||
const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip;
|
||||
|
||||
const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS;
|
||||
|
||||
describe('rate limit and vector tiles (mapnik)', () => { rateLimitAndVectorTilesTest(false); });
|
||||
describe_pg('rate limit and vector tiles (postgis)', () => { rateLimitAndVectorTilesTest(true); });
|
||||
describe('rate limit and vector tiles (mapnik)', () => rateLimitAndVectorTilesTest(false));
|
||||
describe('rate limit and vector tiles (postgis)', () => rateLimitAndVectorTilesTest(true));
|
||||
|
||||
function rateLimitAndVectorTilesTest(usePostGIS) {
|
||||
|
||||
|
@ -6,17 +6,16 @@ var assert = require('../../support/assert');
|
||||
var TestClient = require('../../support/test-client');
|
||||
const serverOptions = require('../../../lib/cartodb/server_options');
|
||||
|
||||
const suites = [{
|
||||
desc: 'mvt (mapnik)',
|
||||
usePostGIS: false
|
||||
}];
|
||||
|
||||
if (process.env.POSTGIS_VERSION >= '20400') {
|
||||
suites.push({
|
||||
const suites = [
|
||||
{
|
||||
desc: 'mvt (mapnik)',
|
||||
usePostGIS: false
|
||||
},
|
||||
{
|
||||
desc: 'mvt (postgis)',
|
||||
usePostGIS: true
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
suites.forEach(({desc, usePostGIS}) => {
|
||||
describe(`[${desc}] Create mapnik layergroup`, function() {
|
||||
|
@ -6,11 +6,10 @@ const assert = require('../support/assert');
|
||||
const TestClient = require('../support/test-client');
|
||||
const serverOptions = require('../../lib/cartodb/server_options');
|
||||
|
||||
const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip;
|
||||
const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS;
|
||||
|
||||
describe('tilejson via mapnik renderer', () => { tileJsonSuite(false); });
|
||||
describe_pg('tilejson via postgis renderer', () => { tileJsonSuite(true); });
|
||||
describe('tilejson via mapnik renderer', () => tileJsonSuite(false));
|
||||
describe('tilejson via postgis renderer', () => tileJsonSuite(true));
|
||||
|
||||
function tileJsonSuite(usePostGIS) {
|
||||
|
||||
|
@ -394,9 +394,8 @@ describe('user database timeout limit', 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); });
|
||||
describe('fetching vector tiles via mapnik renderer', () => testFetchingVectorTiles(false));
|
||||
describe('fetching vector tiles via postgis renderer', () => testFetchingVectorTiles(true));
|
||||
|
||||
function testFetchingVectorTiles(usePostGIS) {
|
||||
const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS;
|
||||
|
@ -69,17 +69,16 @@ const INVALID_FORMAT_ERROR = {
|
||||
]
|
||||
};
|
||||
|
||||
const suites = [{
|
||||
desc: 'mvt (mapnik)',
|
||||
usePostGIS: false
|
||||
}];
|
||||
|
||||
if (process.env.POSTGIS_VERSION >= '20400') {
|
||||
suites.push({
|
||||
const suites = [
|
||||
{
|
||||
desc: 'mvt (mapnik)',
|
||||
usePostGIS: false
|
||||
},
|
||||
{
|
||||
desc: 'mvt (postgis)',
|
||||
usePostGIS: true
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
suites.forEach((suite) => {
|
||||
const { desc, usePostGIS } = suite;
|
||||
|
@ -73,20 +73,6 @@ echo "PUBLICPASS: ${PUBLICPASS}"
|
||||
echo "TESTUSER: ${TESTUSER}"
|
||||
echo "TESTPASS: ${TESTPASS}"
|
||||
|
||||
# Sets the env variable POSTGIS_VERSION as Major * 10000 + Minor * 100 + Patch
|
||||
# For example, for 2.4.5 ~> 20405
|
||||
auto_postgis_version() {
|
||||
local POSTGIS_STR=$(psql -c "Select default_version from pg_available_extensions WHERE name = 'postgis';" -t);
|
||||
local pg_version=$(echo $POSTGIS_STR | awk -F '.' '{print $1 * 10000 + $2 * 100 + $3}')
|
||||
|
||||
echo $pg_version
|
||||
}
|
||||
|
||||
if [ -z "$POSTGIS_VERSION" ]; then
|
||||
export POSTGIS_VERSION=$(auto_postgis_version)
|
||||
echo "POSTGIS_VERSION: ${POSTGIS_VERSION}"
|
||||
fi
|
||||
|
||||
if test x"$PREPARE_PGSQL" = xyes; then
|
||||
|
||||
echo "preparing postgres..."
|
||||
|
Loading…
Reference in New Issue
Block a user