From acee056710dc376be642efbf2e25a5af189e51fa Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Sun, 8 Mar 2015 12:53:25 -0700 Subject: [PATCH] add tests validating current (non-ideal) need for manually supplying 'geometry_table' for specific sql query - refs #2718 --- tests/python_tests/postgis_test.py | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/python_tests/postgis_test.py b/tests/python_tests/postgis_test.py index 42e3399a0..74adc6fdd 100644 --- a/tests/python_tests/postgis_test.py +++ b/tests/python_tests/postgis_test.py @@ -1170,6 +1170,42 @@ if 'postgis' in mapnik.DatasourceCache.plugin_names() \ eq_(meta.get('key_field'),"gid") eq_(meta['geometry_type'],None) + # currently needs manual `geometry_table` passed + # to avoid misparse of `geometry_table` + # in the future ideally this would not need manual `geometry_table` + # https://github.com/mapnik/mapnik/issues/2718 + # currently `bogus` would be picked automatically for geometry_table + def test_broken_parsing_of_comments(): + ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table=''' + (select * FROM test) AS data + -- select this from bogus''', + geometry_table='test') + fs = ds.featureset() + for id in range(1,5): + eq_(fs.next().id(),id) + + meta = ds.describe() + eq_(meta['srid'],4326) + eq_(meta['geometry_type'],mapnik.DataGeometryType.Collection) + + # same + # to avoid misparse of `geometry_table` + # in the future ideally this would not need manual `geometry_table` + # https://github.com/mapnik/mapnik/issues/2718 + # currently nothing would be picked automatically for geometry_table + def test_broken_parsing_of_comments(): + ds = mapnik.PostGIS(dbname=MAPNIK_TEST_DBNAME,table=''' + (select * FROM test) AS data + -- select this from bogus.''', + geometry_table='test') + fs = ds.featureset() + for id in range(1,5): + eq_(fs.next().id(),id) + + meta = ds.describe() + eq_(meta['srid'],4326) + eq_(meta['geometry_type'],mapnik.DataGeometryType.Collection) + atexit.register(postgis_takedown)