|
41 | 41 | from pygeoapi.api import ( |
42 | 42 | API, APIRequest, FORMAT_TYPES, F_HTML, F_JSON, F_JSONLD, F_GZIP, |
43 | 43 | __version__, validate_bbox, validate_datetime, evaluate_limit, |
44 | | - validate_subset, landing_page, openapi_, conformance, describe_collections, |
45 | | - get_collection_schema, |
46 | | -) |
| 44 | + evaluate_limit_distance, validate_subset, landing_page, openapi_, |
| 45 | + conformance, describe_collections, get_collection_schema) |
47 | 46 | from pygeoapi.util import yaml_load, get_api_rules, get_base_url |
48 | 47 |
|
49 | 48 | from tests.util import (get_test_file_path, mock_api_request, mock_flask, |
@@ -913,3 +912,24 @@ def test_evaluate_limit(): |
913 | 912 |
|
914 | 913 | assert evaluate_limit(None, server, collection) == 10 |
915 | 914 | assert evaluate_limit('40', server, collection) == 3 |
| 915 | + |
| 916 | + |
| 917 | +def test_evaluate_limit_distance(): |
| 918 | + collection = { |
| 919 | + 'on_exceed': 'error', |
| 920 | + 'max_distance_x': 10, |
| 921 | + 'max_distance_y': 10 |
| 922 | + } |
| 923 | + |
| 924 | + with pytest.raises(ValueError): |
| 925 | + assert evaluate_limit_distance( |
| 926 | + {}, collection, request_bbox=[-180, -90, 180, 90]) |
| 927 | + |
| 928 | + assert evaluate_limit_distance({}, collection, |
| 929 | + request_bbox=[-142, 42, -140, 44]) |
| 930 | + |
| 931 | + assert evaluate_limit_distance({}, {}, request_bbox=[-180, -90, 180, 90]) |
| 932 | + |
| 933 | + collection['on_exceed'] = 'throttle' |
| 934 | + assert evaluate_limit_distance( |
| 935 | + {}, collection, request_bbox=[-180, -90, 180, 90]) |
0 commit comments