Example #1
0
class CacheProxyTestCase(TestCase):
    def setUp(self):
        self.cp = CacheProxy(ComplexNumber.as_string,
                             version='get_version',
                             timeout=2,
                             key_func=instance_cache_key)

    @override_settings(AVOCADO_DATA_CACHE_ENABLED=True)
    def test(self):
        c = ComplexNumber()

        # Ensure this is flushed prior to testing
        self.cp.flush(c)

        # Should not be cached available or cached initialization
        self.assertIsNone(self.cp.get(c))
        self.assertFalse(self.cp.cached(c))

        self.assertEqual(self.cp.get_or_set(c), '2+3i')

        # Should be cached now
        self.assertTrue(self.cp.cached(c))
        self.assertEqual(self.cp.get(c), '2+3i')

        time.sleep(2)

        # Make sure the value expired
        self.assertIsNone(self.cp.get(c))
        self.assertFalse(self.cp.cached(c))
Example #2
0
 def setUp(self):
     self.cp = CacheProxy(ComplexNumber.as_string,
                          version='get_version',
                          timeout=2,
                          key_func=instance_cache_key)
Example #3
0
class CacheProxyTestCase(TestCase):
    def setUp(self):
        self.cp = CacheProxy(ComplexNumber.as_string,
                             version='get_version',
                             timeout=2,
                             key_func=instance_cache_key)

    @override_settings(AVOCADO_DATA_CACHE_ENABLED=True)
    def test(self):
        c = ComplexNumber()

        # Ensure this is flushed prior to testing
        self.cp.flush(c)

        # Should not be cached available or cached initialization
        self.assertIsNone(self.cp.get(c))
        self.assertFalse(self.cp.cached(c))

        self.assertEqual(self.cp.get_or_set(c), '2+3i')

        # Should be cached now
        self.assertTrue(self.cp.cached(c))
        self.assertEqual(self.cp.get(c), '2+3i')

        # Wait until the cache times out
        time.sleep(2.1)

        # Make sure the value expired
        self.assertIsNone(self.cp.get(c))
        self.assertFalse(self.cp.cached(c))

    @override_settings(AVOCADO_DATA_CACHE_ENABLED=True)
    def test_arguments(self):
        c = ComplexNumber()

        # Ensure this is flushed prior to testing
        args = [5]
        kwargs = {'foo': Foo.objects.all()}

        # Reset planned tests
        self.cp.flush(c, args, kwargs)

        # Should not be cached available or cached initialization
        self.assertIsNone(self.cp.get(c, args, kwargs))
        self.assertFalse(self.cp.cached(c, args, kwargs))

        # Fixed value
        self.assertEqual(self.cp.get_or_set(c, args, kwargs), '2+3i')

        # Should be cached now
        self.assertTrue(self.cp.cached(c, args, kwargs))
        self.assertEqual(self.cp.get(c, args, kwargs), '2+3i')

        time.sleep(2)

        # Make sure the value expired
        self.assertIsNone(self.cp.get(c, args, kwargs))
        self.assertFalse(self.cp.cached(c, args, kwargs))