def test_decr_version(self):
        cache.set('answer', 42, version=2)
        self.assertEqual(cache.get('answer'), None)
        self.assertEqual(cache.get('answer', version=1), None)
        self.assertEqual(cache.get('answer', version=2), 42)

        self.assertEqual(cache.decr_version('answer', version=2), 1)
        self.assertEqual(cache.get('answer'), 42)
        self.assertEqual(cache.get('answer', version=1), 42)
        self.assertEqual(cache.get('answer', version=2), None)

        caches['v2'].set('answer2', 42)
        self.assertEqual(caches['v2'].get('answer2'), 42)
        self.assertEqual(caches['v2'].get('answer2', version=1), None)
        self.assertEqual(caches['v2'].get('answer2', version=2), 42)

        self.assertEqual(caches['v2'].decr_version('answer2'), 1)
        self.assertEqual(caches['v2'].get('answer2'), None)
        self.assertEqual(caches['v2'].get('answer2', version=1), 42)
        self.assertEqual(caches['v2'].get('answer2', version=2), None)

        self.assertRaises(ValueError,
                          cache.decr_version,
                          'does_not_exist',
                          version=2)
예제 #2
0
    def test_decr_version(self):
        cache.set("answer", 42, version=2)
        self.assertEqual(cache.get("answer"), None)
        self.assertEqual(cache.get("answer", version=1), None)
        self.assertEqual(cache.get("answer", version=2), 42)

        self.assertEqual(cache.decr_version("answer", version=2), 1)
        self.assertEqual(cache.get("answer"), 42)
        self.assertEqual(cache.get("answer", version=1), 42)
        self.assertEqual(cache.get("answer", version=2), None)

        caches["v2"].set("answer2", 42)
        self.assertEqual(caches["v2"].get("answer2"), 42)
        self.assertEqual(caches["v2"].get("answer2", version=1), None)
        self.assertEqual(caches["v2"].get("answer2", version=2), 42)

        self.assertEqual(caches["v2"].decr_version("answer2"), 1)
        self.assertEqual(caches["v2"].get("answer2"), None)
        self.assertEqual(caches["v2"].get("answer2", version=1), 42)
        self.assertEqual(caches["v2"].get("answer2", version=2), None)

        self.assertRaises(ValueError,
                          cache.decr_version,
                          "does_not_exist",
                          version=2)
예제 #3
0
    def test_decr_version(self):
        cache.set('answer', 42, version=2)
        self.assertIsNone(cache.get('answer'))
        self.assertIsNone(cache.get('answer', version=1))
        self.assertEqual(cache.get('answer', version=2), 42)

        self.assertEqual(cache.decr_version('answer', version=2), 1)
        self.assertEqual(cache.get('answer'), 42)
        self.assertEqual(cache.get('answer', version=1), 42)
        self.assertIsNone(cache.get('answer', version=2))

        caches['v2'].set('answer2', 42)
        self.assertEqual(caches['v2'].get('answer2'), 42)
        self.assertIsNone(caches['v2'].get('answer2', version=1))
        self.assertEqual(caches['v2'].get('answer2', version=2), 42)

        self.assertEqual(caches['v2'].decr_version('answer2'), 1)
        self.assertIsNone(caches['v2'].get('answer2'))
        self.assertEqual(caches['v2'].get('answer2', version=1), 42)
        self.assertIsNone(caches['v2'].get('answer2', version=2))

        with self.assertRaises(ValueError):
            cache.decr_version('does_not_exist', version=2)

        cache.set('null', None, version=2)
        if self.supports_get_with_default:
            self.assertEqual(cache.decr_version('null', version=2), 1)
        else:
            with self.assertRaises(self.incr_decr_type_error):
                cache.decr_version('null', version=2)
예제 #4
0
    def test_decr_version(self):
        cache.set("answer", 42, version=2)
        assert cache.get("answer") is None
        assert cache.get("answer", version=1) is None
        assert cache.get("answer", version=2) == 42

        assert cache.decr_version("answer", version=2) == 1
        assert cache.get("answer") == 42
        assert cache.get("answer", version=1) == 42
        assert cache.get("answer", version=2) is None

        caches["v2"].set("answer2", 42)
        assert caches["v2"].get("answer2") == 42
        assert caches["v2"].get("answer2", version=1) is None
        assert caches["v2"].get("answer2", version=2) == 42

        assert caches["v2"].decr_version("answer2") == 1
        assert caches["v2"].get("answer2") is None
        assert caches["v2"].get("answer2", version=1) == 42
        assert caches["v2"].get("answer2", version=2) is None

        with pytest.raises(ValueError):
            cache.decr_version("does_not_exist", version=2)
예제 #5
0
    def test_decr_version(self):
        cache.set('answer', 42, version=2)
        assert cache.get('answer') is None
        assert cache.get('answer', version=1) is None
        assert cache.get('answer', version=2) == 42

        assert cache.decr_version('answer', version=2) == 1
        assert cache.get('answer') == 42
        assert cache.get('answer', version=1) == 42
        assert cache.get('answer', version=2) is None

        caches['v2'].set('answer2', 42)
        assert caches['v2'].get('answer2') == 42
        assert caches['v2'].get('answer2', version=1) is None
        assert caches['v2'].get('answer2', version=2) == 42

        assert caches['v2'].decr_version('answer2') == 1
        assert caches['v2'].get('answer2') is None
        assert caches['v2'].get('answer2', version=1) == 42
        assert caches['v2'].get('answer2', version=2) is None

        with pytest.raises(ValueError):
            cache.decr_version('does_not_exist', version=2)
예제 #6
0
    def test_decr_version(self):
        cache.set('answer', 42, version=2)
        assert cache.get('answer') is None
        assert cache.get('answer', version=1) is None
        assert cache.get('answer', version=2) == 42

        assert cache.decr_version('answer', version=2) == 1
        assert cache.get('answer') == 42
        assert cache.get('answer', version=1) == 42
        assert cache.get('answer', version=2) is None

        caches['v2'].set('answer2', 42)
        assert caches['v2'].get('answer2') == 42
        assert caches['v2'].get('answer2', version=1) is None
        assert caches['v2'].get('answer2', version=2) == 42

        assert caches['v2'].decr_version('answer2') == 1
        assert caches['v2'].get('answer2') is None
        assert caches['v2'].get('answer2', version=1) == 42
        assert caches['v2'].get('answer2', version=2) is None

        with pytest.raises(ValueError):
            cache.decr_version('does_not_exist', version=2)
    def test_decr_version(self):
        cache.set('answer', 42, version=2)
        self.assertIsNone(cache.get('answer'))
        self.assertIsNone(cache.get('answer', version=1))
        self.assertEqual(cache.get('answer', version=2), 42)

        self.assertEqual(cache.decr_version('answer', version=2), 1)
        self.assertEqual(cache.get('answer'), 42)
        self.assertEqual(cache.get('answer', version=1), 42)
        self.assertIsNone(cache.get('answer', version=2))

        caches['v2'].set('answer2', 42)
        self.assertEqual(caches['v2'].get('answer2'), 42)
        self.assertIsNone(caches['v2'].get('answer2', version=1))
        self.assertEqual(caches['v2'].get('answer2', version=2), 42)

        self.assertEqual(caches['v2'].decr_version('answer2'), 1)
        self.assertIsNone(caches['v2'].get('answer2'))
        self.assertEqual(caches['v2'].get('answer2', version=1), 42)
        self.assertIsNone(caches['v2'].get('answer2', version=2))

        with self.assertRaises(ValueError):
            cache.decr_version('does_not_exist', version=2)
    def test_decr_version(self):
        cache.set("answer", 42, version=2)
        self.assertEqual(cache.get("answer"), None)
        self.assertEqual(cache.get("answer", version=1), None)
        self.assertEqual(cache.get("answer", version=2), 42)

        self.assertEqual(cache.decr_version("answer", version=2), 1)
        self.assertEqual(cache.get("answer"), 42)
        self.assertEqual(cache.get("answer", version=1), 42)
        self.assertEqual(cache.get("answer", version=2), None)

        caches["v2"].set("answer2", 42)
        self.assertEqual(caches["v2"].get("answer2"), 42)
        self.assertEqual(caches["v2"].get("answer2", version=1), None)
        self.assertEqual(caches["v2"].get("answer2", version=2), 42)

        self.assertEqual(caches["v2"].decr_version("answer2"), 1)
        self.assertEqual(caches["v2"].get("answer2"), None)
        self.assertEqual(caches["v2"].get("answer2", version=1), 42)
        self.assertEqual(caches["v2"].get("answer2", version=2), None)

        self.assertRaises(ValueError, cache.decr_version, "does_not_exist", version=2)
예제 #9
0
 def decr_version(self, key):
     key = self._prep_key(key)
     return cache.decr_version(key)