X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a83424fee50c6837bcadad44ae374de98e4bb1f1..b66004c3c554c87886afa170f9065be249a3d9d4:/test/bdd/steps/db_ops.py diff --git a/test/bdd/steps/db_ops.py b/test/bdd/steps/db_ops.py index 48abfd13..87babdad 100644 --- a/test/bdd/steps/db_ops.py +++ b/test/bdd/steps/db_ops.py @@ -22,6 +22,8 @@ class PlaceColumn: self.add_hstore('extratags', key[6:], value) elif key.startswith('addr+'): self.add_hstore('address', key[5:], value) + elif key in ('name', 'address', 'extratags'): + self.columns[key] = eval('{' + value + '}') else: assert_in(key, ('class', 'type')) self.columns[key] = None if value == '' else value @@ -287,7 +289,7 @@ def import_and_index_data_from_place_table(context): WHERE class='place' and type='houses' and osm_type='W' and ST_GeometryType(geometry) = 'ST_LineString'""") context.db.commit() - context.nominatim.run_setup_script('index', 'index-noanalyse') + context.nominatim.run_setup_script('calculate-postcodes', 'index', 'index-noanalyse') @when("updating places") def update_place_table(context): @@ -348,7 +350,13 @@ def check_placex_contents(context, exact): if exact: expected_content.add((res['osm_type'], res['osm_id'], res['class'])) for h in row.headings: - if h.startswith('name'): + if h in ('extratags', 'address'): + if row[h] == '-': + assert_is_none(res[h]) + else: + vdict = eval('{' + row[h] + '}') + assert_equals(vdict, res[h]) + elif h.startswith('name'): name = h[5:] if h.startswith('name+') else 'name' assert_in(name, res['name']) eq_(res['name'][name], row[h])