Exemplo n.º 1
0
 def test_cached_filter(self):
     key_default = key_from_args('testing',)
     
     @cached_filter
     def test_filter(value, param=None):
         return (value, param)
     
     res = test_filter('testing')
     self.assertTrue(key_default in cache._cache)
     
     self.assertEqual(cache._cache[key_default], ('testing', None))
     
     cache._cache[key_default] = 'from cache'
     res = test_filter('testing')
     
     self.assertEqual(res, 'from cache')
     
     res = test_filter('testing', None)
     self.assertEqual(res, ('testing', None))
     
     res = test_filter('')
     self.assertEqual(res, ('', None))
Exemplo n.º 2
0
 def get_cache_key(self, context):
     return key_from_args(**context)
Exemplo n.º 3
0
 def test_key_from_args(self):
     self.assertEqual(key_from_args('test', 'one', 'two'), key_from_args('test', 'one', 'two'))
     self.assertEqual(key_from_args('a', b='b', c='c'), key_from_args('a', c='c', b='b'))
Exemplo n.º 4
0
 def test_key_from_args_collisions(self):
     self.assertNotEqual(key_from_args('test'), key_from_args('Test'))
     self.assertNotEqual(key_from_args('testtest'), key_from_args('test', 'test'))
     self.assertNotEqual(key_from_args('test\x01test'), key_from_args('test', 'test'))
     self.assertNotEqual(key_from_args('a', b='b', c='c'), key_from_args('a', 'c', b='b'))