test for changes in diffcache
parent
6857c1f011
commit
d048f33a61
|
@ -78,4 +78,10 @@
|
|||
</relation>
|
||||
</modify>
|
||||
|
||||
<!-- test that node (n:20001) does not reference way (w:20001) after it was deleted -->
|
||||
<delete>
|
||||
<node id="20002" />
|
||||
<way id="20001" />
|
||||
</delete>
|
||||
|
||||
</osmChange>
|
||||
|
|
|
@ -388,4 +388,17 @@
|
|||
<tag k="type" v="multipolygon"/>
|
||||
</relation>
|
||||
|
||||
<!-- test that node (n:20001) does not reference way (w:20001) after it was deleted -->
|
||||
<node id="20001" version="1" timestamp="2011-11-11T00:11:11Z" lat="30" lon="10">
|
||||
<tag k="name" v="way 14001"/>
|
||||
<tag k="barrier" v="block"/>
|
||||
</node>
|
||||
<node id="20002" version="1" timestamp="2011-11-11T00:11:11Z" lat="30" lon="10.001"/>
|
||||
<way id="20001" version="1" timestamp="2011-11-11T00:11:11Z">
|
||||
<nd ref="20001"/>
|
||||
<nd ref="20002"/>
|
||||
<tag k="highway" v="residential"/>
|
||||
</way>
|
||||
|
||||
|
||||
</osm>
|
||||
|
|
26
test/test.py
26
test/test.py
|
@ -89,15 +89,20 @@ def goposm_update(db_conf, osc):
|
|||
print ex.output
|
||||
raise
|
||||
|
||||
def cache_query(nodes='', ways='', relations=''):
|
||||
def cache_query(nodes='', ways='', relations='', deps='', full=''):
|
||||
if nodes:
|
||||
nodes = '-node ' + ','.join(map(str, nodes))
|
||||
if ways:
|
||||
ways = '-way ' + ','.join(map(str, ways))
|
||||
if relations:
|
||||
relations = '-rel' + ','.join(map(str, relations))
|
||||
if deps:
|
||||
deps = '-deps'
|
||||
if full:
|
||||
full = '-full'
|
||||
out = subprocess.check_output(
|
||||
"../goposm query-cache -cachedir %s %s %s %s" % (tmpdir, nodes, ways, relations),
|
||||
"../goposm query-cache -cachedir %s %s %s %s %s %s" % (
|
||||
tmpdir, nodes, ways, relations, deps, full),
|
||||
shell=True)
|
||||
print out
|
||||
return json.loads(out)
|
||||
|
@ -184,6 +189,15 @@ def test_changed_hole_tags_1():
|
|||
assert not query_row(db_conf, 'osm_waterareas', 14011)
|
||||
assert query_row(db_conf, 'osm_landusages', 14001)['type'] == 'park'
|
||||
|
||||
def test_node_way_ref_after_delete_1():
|
||||
"""Nodes referece way"""
|
||||
data = cache_query(nodes=[20001, 20002], deps=True)
|
||||
assert '20001' in data['nodes']['20001']['ways']
|
||||
assert '20001' in data['nodes']['20002']['ways']
|
||||
assert query_row(db_conf, 'osm_roads', 20001)['type'] == 'residential'
|
||||
assert query_row(db_conf, 'osm_barrierpoints', 20001)['type'] == 'block'
|
||||
|
||||
|
||||
#######################################################################
|
||||
def test_update():
|
||||
"""Diff import applies"""
|
||||
|
@ -239,3 +253,11 @@ def test_changed_hole_tags_2():
|
|||
assert_almost_equal(query_row(db_conf, 'osm_landusages', 14001)['geometry'].area, 10373600000, -6)
|
||||
assert_almost_equal(query_row(db_conf, 'osm_waterareas', 14011)['geometry'].area, 26672000000, -6)
|
||||
|
||||
def test_node_way_ref_after_delete_2():
|
||||
"""Nodes does not referece deleted way"""
|
||||
data = cache_query(nodes=[20001, 20002], deps=True)
|
||||
assert 'ways' not in data['nodes']['20001']
|
||||
assert '20002' not in data['nodes']
|
||||
assert query_row(db_conf, 'osm_roads', 20001) == None
|
||||
assert query_row(db_conf, 'osm_barrierpoints', 20001)['type'] == 'block'
|
||||
|
||||
|
|
Loading…
Reference in New Issue