2766 |
2766 |
|
2767 |
2767 |
with mock.patch('wcs.wf.geolocate.http_get_page') as http_get_page:
|
2768 |
2768 |
http_get_page.return_value = (None, 200,
|
2769 |
|
json.dumps([{'lat':'48.8337085','lon':'2.3233693'}]), None)
|
|
2769 |
force_bytes(json.dumps([{'lat':'48.8337085','lon':'2.3233693'}])), None)
|
2770 |
2770 |
item.perform(formdata)
|
2771 |
2771 |
assert 'https://nominatim.entrouvert.org/search' in http_get_page.call_args[0][0]
|
2772 |
2772 |
assert urlparse.quote('169 rue du chateau, paris') in http_get_page.call_args[0][0]
|
... | ... | |
2777 |
2777 |
pub.site_options.set('options', 'nominatim_key', 'KEY')
|
2778 |
2778 |
with mock.patch('wcs.wf.geolocate.http_get_page') as http_get_page:
|
2779 |
2779 |
http_get_page.return_value = (None, 200,
|
2780 |
|
json.dumps([{'lat':'48.8337085', 'lon':'2.3233693'}]), None)
|
|
2780 |
force_bytes(json.dumps([{'lat':'48.8337085', 'lon':'2.3233693'}])), None)
|
2781 |
2781 |
item.perform(formdata)
|
2782 |
2782 |
assert 'https://nominatim.entrouvert.org/search' in http_get_page.call_args[0][0]
|
2783 |
2783 |
assert urlparse.quote('169 rue du chateau, paris') in http_get_page.call_args[0][0]
|
... | ... | |
2789 |
2789 |
pub.site_options.set('options', 'geocoding_service_url', 'http://example.net/')
|
2790 |
2790 |
with mock.patch('wcs.wf.geolocate.http_get_page') as http_get_page:
|
2791 |
2791 |
http_get_page.return_value = (None, 200,
|
2792 |
|
json.dumps([{'lat':'48.8337085','lon':'2.3233693'}]), None)
|
|
2792 |
force_bytes(json.dumps([{'lat':'48.8337085', 'lon':'2.3233693'}])), None)
|
2793 |
2793 |
item.perform(formdata)
|
2794 |
2794 |
assert 'http://example.net/?q=' in http_get_page.call_args[0][0]
|
2795 |
2795 |
|
2796 |
2796 |
pub.site_options.set('options', 'geocoding_service_url', 'http://example.net/?param=value')
|
2797 |
2797 |
with mock.patch('wcs.wf.geolocate.http_get_page') as http_get_page:
|
2798 |
2798 |
http_get_page.return_value = (None, 200,
|
2799 |
|
json.dumps([{'lat':'48.8337085','lon':'2.3233693'}]), None)
|
|
2799 |
force_bytes(json.dumps([{'lat':'48.8337085', 'lon':'2.3233693'}])), None)
|
2800 |
2800 |
item.perform(formdata)
|
2801 |
2801 |
assert 'http://example.net/?param=value&' in http_get_page.call_args[0][0]
|
2802 |
2802 |
|
... | ... | |
2816 |
2816 |
formdata.geolocations = None
|
2817 |
2817 |
with mock.patch('wcs.wf.geolocate.http_get_page') as http_get_page:
|
2818 |
2818 |
http_get_page.return_value = (None, 500,
|
2819 |
|
json.dumps([{'lat':'48.8337085','lon':'2.3233693'}]), None)
|
|
2819 |
force_bytes(json.dumps([{'lat':'48.8337085', 'lon':'2.3233693'}])), None)
|
2820 |
2820 |
item.perform(formdata)
|
2821 |
2821 |
assert formdata.geolocations == {}
|
2822 |
2822 |
|
2823 |
2823 |
# check for nominatim returning an empty result set
|
2824 |
2824 |
formdata.geolocations = None
|
2825 |
2825 |
with mock.patch('wcs.wf.geolocate.http_get_page') as http_get_page:
|
2826 |
|
http_get_page.return_value = (None, 200, json.dumps([]), None)
|
|
2826 |
http_get_page.return_value = (None, 200, force_bytes(json.dumps([])), None)
|
2827 |
2827 |
item.perform(formdata)
|
2828 |
2828 |
assert formdata.geolocations == {}
|
2829 |
2829 |
|
2830 |
2830 |
# check for nominatim bad json
|
2831 |
2831 |
formdata.geolocations = None
|
2832 |
2832 |
with mock.patch('wcs.wf.geolocate.http_get_page') as http_get_page:
|
2833 |
|
http_get_page.return_value = (None, 200, 'bad json', None)
|
|
2833 |
http_get_page.return_value = (None, 200, b'bad json', None)
|
2834 |
2834 |
item.perform(formdata)
|
2835 |
2835 |
assert formdata.geolocations == {}
|
2836 |
2836 |
|