geolocation: record LoggedError on normalize error (#41614)
This commit is contained in:
parent
88a6d5ae9e
commit
4118cee58e
|
@ -3142,7 +3142,9 @@ def test_geolocate_image(pub):
|
|||
assert formdata.geolocations == {}
|
||||
|
||||
|
||||
def test_geolocate_map(pub):
|
||||
def test_geolocate_map(two_pubs):
|
||||
if two_pubs.is_using_postgresql():
|
||||
two_pubs.loggederror_class.wipe()
|
||||
formdef = FormDef()
|
||||
formdef.name = 'baz'
|
||||
formdef.geolocations = {'base': 'bla'}
|
||||
|
@ -3155,7 +3157,7 @@ def test_geolocate_map(pub):
|
|||
formdata.data = {'2': '48.8337085;2.3233693'}
|
||||
formdata.just_created()
|
||||
formdata.store()
|
||||
pub.substitutions.feed(formdata)
|
||||
two_pubs.substitutions.feed(formdata)
|
||||
|
||||
item = GeolocateWorkflowStatusItem()
|
||||
item.method = 'map_variable'
|
||||
|
@ -3171,6 +3173,18 @@ def test_geolocate_map(pub):
|
|||
item.perform(formdata)
|
||||
assert formdata.geolocations == {}
|
||||
|
||||
# invalid data
|
||||
formdata.geolocations = None
|
||||
formdata.data = {'2': '48.8337085'}
|
||||
item.map_variable = '=form_var_map'
|
||||
if two_pubs.is_using_postgresql():
|
||||
assert two_pubs.loggederror_class.count() == 1
|
||||
logged_error = two_pubs.loggederror_class.select()[0]
|
||||
assert logged_error.summary == 'error geolocating from map variable'
|
||||
assert logged_error.formdata_id == str(formdata.id)
|
||||
assert logged_error.exception_class == 'ValueError'
|
||||
assert logged_error.exception_message == 'not enough values to unpack (expected 2, got 1)'
|
||||
|
||||
|
||||
def test_geolocate_overwrite(pub):
|
||||
formdef = FormDef()
|
||||
|
|
|
@ -157,7 +157,7 @@ class GeolocateWorkflowStatusItem(WorkflowStatusItem):
|
|||
lat, lon = str(value).split(';')
|
||||
lat_lon = normalize_geolocation({'lon': lon, 'lat': lat})
|
||||
except Exception as e:
|
||||
get_logger().error('error geolocating from map variable [%r]', e)
|
||||
get_publisher().record_error(_('error geolocating from map variable'), formdata=formdata, exception=e)
|
||||
return
|
||||
|
||||
return lat_lon
|
||||
|
|
Loading…
Reference in New Issue