@@ -173,7 +173,6 @@ def _func(filter1, filter2):
173173 return _func
174174
175175
176- @respx .mock
177176def test_data_filter_defaults (invoke , assert_and_filters_equal ):
178177
179178 result = invoke (["filter" ])
@@ -183,7 +182,6 @@ def test_data_filter_defaults(invoke, assert_and_filters_equal):
183182 assert_and_filters_equal (json .loads (result .output ), empty_filter )
184183
185184
186- @respx .mock
187185def test_data_filter_permission (invoke , assert_and_filters_equal ):
188186 result = invoke (["filter" , "--permission" ])
189187 assert result .exit_code == 0
@@ -197,7 +195,6 @@ def test_data_filter_permission(invoke, assert_and_filters_equal):
197195 assert_and_filters_equal (json .loads (result .output ), expected_filt )
198196
199197
200- @respx .mock
201198def test_data_filter_std_quality (invoke , assert_and_filters_equal ):
202199 result = invoke (["filter" , '--std-quality' ])
203200 assert result .exit_code == 0
@@ -230,7 +227,6 @@ def test_data_filter_asset(asset, expected, invoke, assert_and_filters_equal):
230227 assert_and_filters_equal (json .loads (result .output ), expected_filt )
231228
232229
233- @respx .mock
234230def test_data_filter_date_range_success (invoke , assert_and_filters_equal ):
235231 """Check filter is created correctly and that multiple options results in
236232 multiple filters"""
@@ -262,13 +258,11 @@ def test_data_filter_date_range_success(invoke, assert_and_filters_equal):
262258 assert_and_filters_equal (json .loads (result .output ), expected_filt )
263259
264260
265- @respx .mock
266261def test_data_filter_date_range_invalid (invoke ):
267262 result = invoke (["filter" ] + '--date-range field gt 2021' .split ())
268263 assert result .exit_code == 2
269264
270265
271- @respx .mock
272266@pytest .mark .parametrize ("geom_fixture" ,
273267 [('geom_geojson' ), ('feature_geojson' ),
274268 ('featurecollection_geojson' )])
@@ -296,7 +290,23 @@ def test_data_filter_geom(geom_fixture,
296290 assert_and_filters_equal (json .loads (result .output ), expected_filt )
297291
298292
299- @respx .mock
293+ def test_data_filter_geom_relation (request , invoke ):
294+ geom = request .getfixturevalue ("geom_geojson" )
295+ geom_str = json .dumps (geom )
296+ result = invoke (
297+ ["filter" , f'--geom={ geom_str } ' , '--geom-relation=disjoint' ])
298+ assert result .exit_code == 0
299+
300+ and_filter = json .loads (result .output )
301+ assert and_filter ["config" ][0 ]["relation" ] == "disjoint"
302+
303+ # --geom-relation is ignored without --geom
304+ result = invoke (["filter" , '--geom-relation=disjoint' ])
305+ assert result .exit_code == 0
306+ and_filter = json .loads (result .output )
307+ assert and_filter ["config" ] == []
308+
309+
300310def test_data_filter_number_in_success (invoke , assert_and_filters_equal ):
301311
302312 result = invoke (["filter" ] + '--number-in field 1' .split () +
@@ -317,14 +327,12 @@ def test_data_filter_number_in_success(invoke, assert_and_filters_equal):
317327 assert_and_filters_equal (json .loads (result .output ), expected_filt )
318328
319329
320- @respx .mock
321330def test_data_filter_number_in_badparam (invoke , assert_and_filters_equal ):
322331
323332 result = invoke (["filter" ] + '--number-in field 1,str' .split ())
324333 assert result .exit_code == 2
325334
326335
327- @respx .mock
328336def test_data_filter_range (invoke , assert_and_filters_equal ):
329337 """Check filter is created correctly, that multiple options results in
330338 multiple filters, and that floats are processed correctly."""
@@ -352,7 +360,6 @@ def test_data_filter_range(invoke, assert_and_filters_equal):
352360 assert_and_filters_equal (json .loads (result .output ), expected_filt )
353361
354362
355- @respx .mock
356363def test_data_filter_string_in (invoke , assert_and_filters_equal ):
357364
358365 result = invoke (["filter" ] + '--string-in field foo' .split () +
@@ -375,7 +382,6 @@ def test_data_filter_string_in(invoke, assert_and_filters_equal):
375382 assert_and_filters_equal (json .loads (result .output ), expected_filt )
376383
377384
378- @respx .mock
379385def test_data_filter_update (invoke , assert_and_filters_equal ):
380386 """Check filter is created correctly and that multiple options results in
381387 multiple filters"""
0 commit comments