diff --git a/event_routing_backends/helpers.py b/event_routing_backends/helpers.py index 281640fa..2fe357cc 100644 --- a/event_routing_backends/helpers.py +++ b/event_routing_backends/helpers.py @@ -4,6 +4,7 @@ import datetime import logging import uuid +from functools import lru_cache from urllib.parse import parse_qs, urlparse from dateutil.parser import parse @@ -52,6 +53,7 @@ def get_uuid5(namespace_key, name): return uuid.uuid5(base_namespace, name) +@lru_cache def get_anonymous_user_id(username_or_id, external_type): """ Generate anonymous user id. @@ -150,6 +152,7 @@ def get_user_email(username_or_id): return user_email +@lru_cache def get_course_from_id(course_id): """ Get Course object using the `course_id`. diff --git a/event_routing_backends/tests/test_helpers.py b/event_routing_backends/tests/test_helpers.py index 4e7f560e..9fdac254 100644 --- a/event_routing_backends/tests/test_helpers.py +++ b/event_routing_backends/tests/test_helpers.py @@ -53,7 +53,7 @@ def test_get_anonymous_user_id_with_error(self, mocked_external_id): mocked_external_id.add_new_user_id.return_value = (None, False) # Test that a failure to add an external id raises an error with self.assertRaises(ValueError): - get_anonymous_user_id('edx', 'XAPI') + get_anonymous_user_id('edx2', 'XAPI') # Test that an unknown user raises this error with self.assertRaises(ValueError):