0001-geolocation-record-LoggedError-on-normalize-error-41.patch
tests/test_workflows.py | ||
---|---|---|
3099 | 3099 |
assert formdata.geolocations == {} |
3100 | 3100 | |
3101 | 3101 | |
3102 |
def test_geolocate_map(pub): |
|
3102 |
def test_geolocate_map(two_pubs): |
|
3103 |
if two_pubs.is_using_postgresql(): |
|
3104 |
two_pubs.loggederror_class.wipe() |
|
3103 | 3105 |
formdef = FormDef() |
3104 | 3106 |
formdef.name = 'baz' |
3105 | 3107 |
formdef.geolocations = {'base': 'bla'} |
... | ... | |
3112 | 3114 |
formdata.data = {'2': '48.8337085;2.3233693'} |
3113 | 3115 |
formdata.just_created() |
3114 | 3116 |
formdata.store() |
3115 |
pub.substitutions.feed(formdata)
|
|
3117 |
two_pubs.substitutions.feed(formdata)
|
|
3116 | 3118 | |
3117 | 3119 |
item = GeolocateWorkflowStatusItem() |
3118 | 3120 |
item.method = 'map_variable' |
... | ... | |
3128 | 3130 |
item.perform(formdata) |
3129 | 3131 |
assert formdata.geolocations == {} |
3130 | 3132 | |
3133 |
# invalid data |
|
3134 |
formdata.geolocations = None |
|
3135 |
formdata.data = {'2': '48.8337085'} |
|
3136 |
item.map_variable = '=form_var_map' |
|
3137 |
if two_pubs.is_using_postgresql(): |
|
3138 |
assert two_pubs.loggederror_class.count() == 1 |
|
3139 |
logged_error = two_pubs.loggederror_class.select()[0] |
|
3140 |
assert logged_error.summary == 'error geolocating from map variable' |
|
3141 |
assert logged_error.formdata_id == str(formdata.id) |
|
3142 |
assert logged_error.exception_class == 'ValueError' |
|
3143 |
assert logged_error.exception_message == 'not enough values to unpack (expected 2, got 1)' |
|
3144 | ||
3131 | 3145 | |
3132 | 3146 |
def test_geolocate_overwrite(pub): |
3133 | 3147 |
formdef = FormDef() |
wcs/wf/geolocate.py | ||
---|---|---|
157 | 157 |
lat, lon = str(value).split(';') |
158 | 158 |
lat_lon = normalize_geolocation({'lon': lon, 'lat': lat}) |
159 | 159 |
except Exception as e: |
160 |
get_logger().error('error geolocating from map variable [%r]', e)
|
|
160 |
get_publisher().record_error(_('error geolocating from map variable'), formdata=formdata, exception=e)
|
|
161 | 161 |
return |
162 | 162 | |
163 | 163 |
return lat_lon |
164 |
- |