def test_generate_cache_key_for_object_with_special_method(self): my_instance = ObjectWithSpecialMethod('unique-value') fn_kwargs = {'a': 1, 'b': 2} _, generated_key = cache_key(my_instance, 'do_something', **fn_kwargs) expected_key = 'tests.cache.test_util.ObjectWithSpecialMethod(unique-value).do_something(a=1,b=2)' self.assertEqual(generated_key, expected_key)
def test_generate_cache_key_for_simple_object(self): my_instance = MySimpleObject() fn_kwargs = {'a': 1, 'b': 2} _, generated_key = cache_key(my_instance, 'do_something', **fn_kwargs) expected_key = 'tests.cache.test_util.MySimpleObject().do_something(a=1,b=2)' self.assertEqual(generated_key, expected_key)
def test_generate_cache_key_for_model_object(self): my_instance = MyModel("unique-id-1") fn_kwargs = {'a': 1, 'b': 2} _, generated_key = cache_key(my_instance, 'do_something', **fn_kwargs) expected_key = 'tests.cache.test_util.MyModel(unique-id-1).do_something(a=1,b=2)' self.assertEqual(generated_key, expected_key)
def get_key_from_expires(self, instance, expire): match = re.search("(?P<module>\w+)\.(?P<method>[^\(]+)\((?P<params>[^\)]*)\)", expire) if match: result = match.groupdict() expire_instance = self.load_model(result['module'].lower(), result['module']) kwarguments = self.prepare_parameters(instance, result['params']) return cache_key(expire_instance, result['method'], **kwarguments) return None