From b3da94bbb80070c9651fe3e06b8ea675e10b6109 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 21 Jul 2021 22:50:39 +0200 Subject: [PATCH] core: broaden error catching for propertymappings Signed-off-by: Jens Langhammer --- authentik/core/models.py | 4 ++-- authentik/core/tests/test_property_mapping.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/authentik/core/models.py b/authentik/core/models.py index 00a6121db..03eb5cf21 100644 --- a/authentik/core/models.py +++ b/authentik/core/models.py @@ -491,8 +491,8 @@ class PropertyMapping(SerializerModel, ManagedModel): evaluator.set_context(user, request, self, **kwargs) try: return evaluator.evaluate(self.expression) - except (ValueError, SyntaxError) as exc: - raise PropertyMappingExpressionException from exc + except Exception as exc: + raise PropertyMappingExpressionException(str(exc)) from exc def __str__(self): return f"Property Mapping {self.name}" diff --git a/authentik/core/tests/test_property_mapping.py b/authentik/core/tests/test_property_mapping.py index d40cdf8d4..75a3610b2 100644 --- a/authentik/core/tests/test_property_mapping.py +++ b/authentik/core/tests/test_property_mapping.py @@ -31,7 +31,7 @@ class TestPropertyMappings(TestCase): """Test expression error""" expr = "return aaa" mapping = PropertyMapping.objects.create(name="test", expression=expr) - with self.assertRaises(NameError): + with self.assertRaises(PropertyMappingExpressionException): mapping.evaluate(None, None) events = Event.objects.filter( action=EventAction.PROPERTY_MAPPING_EXCEPTION, context__expression=expr @@ -44,7 +44,7 @@ class TestPropertyMappings(TestCase): expr = "return aaa" request = self.factory.get("/") mapping = PropertyMapping.objects.create(name="test", expression=expr) - with self.assertRaises(NameError): + with self.assertRaises(PropertyMappingExpressionException): mapping.evaluate(get_anonymous_user(), request) events = Event.objects.filter( action=EventAction.PROPERTY_MAPPING_EXCEPTION, context__expression=expr