]> git.openstreetmap.org Git - nominatim.git/blob - tests/features/osm2pgsql/update/relation.feature
update osm2pgsql (bug in relation update)
[nominatim.git] / tests / features / osm2pgsql / update / relation.feature
1 @DB
2 Feature: Update of relations by osm2pgsql
3     Testing relation update by osm2pgsql.
4
5 Scenario: Remove all members of a relation
6         Given the osm nodes:
7           | id | tags
8           | 1  | 'amenity' : 'prison', 'name' : 'foo'
9         Given the osm nodes:
10           | id  | geometry
11           | 200 | 0 0
12           | 201 | 0 0.0001
13           | 202 | 0.0001 0.0001
14           | 203 | 0.0001 0
15         Given the osm ways:
16           | id | tags                             | nodes
17           | 2  | 'ref' : '45'                     | 200 201 202 203 200
18         Given the osm relations:
19           | id | tags                                                        | members
20           | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
21         When loading osm data
22         Then table place contains
23           | object | class   | type   | name
24           | R1     | tourism | hotel  | 'name' : 'XZ'
25         Given the osm relations:
26           | action | id | tags                                                        | members
27           | M      | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | N1
28           When updating osm data
29         Then table place has no entry for R1
30
31
32 Scenario: Change type of a relation
33         Given the osm nodes:
34           | id  | geometry
35           | 200 | 0 0
36           | 201 | 0 0.0001
37           | 202 | 0.0001 0.0001
38           | 203 | 0.0001 0
39         Given the osm ways:
40           | id | tags                             | nodes
41           | 2  | 'ref' : '45'                     | 200 201 202 203 200
42         Given the osm relations:
43           | id | tags                                                        | members
44           | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
45         When loading osm data
46         Then table place contains
47           | object | class   | type   | name
48           | R1     | tourism | hotel  | 'name' : 'XZ'
49         Given the osm relations:
50           | action | id | tags                                                        | members
51           | M      | 1  | 'type' : 'multipolygon', 'amenity' : 'prison', 'name' : 'XZ' | W2
52           When updating osm data
53         Then table place has no entry for R1:tourism
54         And table place contains
55           | object | class   | type   | name
56           | R1     | amenity | prison | 'name' : 'XZ'
57
58 Scenario: Change name of a relation
59         Given the osm nodes:
60           | id  | geometry
61           | 200 | 0 0
62           | 201 | 0 0.0001
63           | 202 | 0.0001 0.0001
64           | 203 | 0.0001 0
65         Given the osm ways:
66           | id | tags                             | nodes
67           | 2  | 'ref' : '45'                     | 200 201 202 203 200
68         Given the osm relations:
69           | id | tags                                                        | members
70           | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'AB' | W2
71         When loading osm data
72         Then table place contains
73           | object | class   | type   | name
74           | R1     | tourism | hotel  | 'name' : 'AB'
75         Given the osm relations:
76           | action | id | tags                                                        | members
77           | M      | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
78         When updating osm data
79         Then table place contains
80           | object | class   | type   | name
81           | R1     | tourism | hotel  | 'name' : 'XZ'
82
83
84 Scenario: Change type of a relation into something unknown
85         Given the osm nodes:
86           | id  | geometry
87           | 200 | 0 0
88           | 201 | 0 0.0001
89           | 202 | 0.0001 0.0001
90           | 203 | 0.0001 0
91         Given the osm ways:
92           | id | tags                             | nodes
93           | 2  | 'ref' : '45'                     | 200 201 202 203 200
94         Given the osm relations:
95           | id | tags                                                        | members
96           | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
97         When loading osm data
98         Then table place contains
99           | object | class   | type   | name
100           | R1     | tourism | hotel  | 'name' : 'XZ'
101         Given the osm relations:
102           | action | id | tags                                                        | members
103           | M      | 1  | 'type' : 'multipolygon', 'amenities' : 'prison', 'name' : 'XZ' | W2
104           When updating osm data
105         Then table place has no entry for R1
106
107 Scenario: Type tag is removed
108         Given the osm nodes:
109           | id  | geometry
110           | 200 | 0 0
111           | 201 | 0 0.0001
112           | 202 | 0.0001 0.0001
113           | 203 | 0.0001 0
114         Given the osm ways:
115           | id | tags                             | nodes
116           | 2  | 'ref' : '45'                     | 200 201 202 203 200
117         Given the osm relations:
118           | id | tags                                                        | members
119           | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
120         When loading osm data
121         Then table place contains
122           | object | class   | type   | name
123           | R1     | tourism | hotel  | 'name' : 'XZ'
124         Given the osm relations:
125           | action | id | tags                               | members
126           | M      | 1  | 'tourism' : 'hotel', 'name' : 'XZ' | W2
127           When updating osm data
128         Then table place has no entry for R1
129
130 Scenario: Type tag is renamed to something unknown
131         Given the osm nodes:
132           | id  | geometry
133           | 200 | 0 0
134           | 201 | 0 0.0001
135           | 202 | 0.0001 0.0001
136           | 203 | 0.0001 0
137         Given the osm ways:
138           | id | tags                             | nodes
139           | 2  | 'ref' : '45'                     | 200 201 202 203 200
140         Given the osm relations:
141           | id | tags                                                        | members
142           | 1  | 'type' : 'multipolygon', 'tourism' : 'hotel', 'name' : 'XZ' | W2
143         When loading osm data
144         Then table place contains
145           | object | class   | type   | name
146           | R1     | tourism | hotel  | 'name' : 'XZ'
147         Given the osm relations:
148           | action | id | tags                               | members
149           | M      | 1  | 'type' : 'multipolygonn', 'tourism' : 'hotel', 'name' : 'XZ' | W2
150           When updating osm data
151         Then table place has no entry for R1
152