示例#1
0
    def test_invalid_increment(self):
        """ Increment with a wrong value.
        """
        from leakdb.storage import DefaultStorage

        leak = DefaultStorage()
        with self.assertRaises(ValueError) as e:
            leak.incr(key="foo", delta=-1)

        self.assertSequenceEqual("-1 cannot increment non-numeric value",
                                 e.exception.message)
示例#2
0
    def test_increment_empty(self):
        """ Increment empty key.
        """
        from leakdb.storage import DefaultStorage

        leak = DefaultStorage()

        leak.incr(key="foo")
        leak.incr(key="bar", delta=2)

        self.assertEqual(leak.get("foo"), 1)
        self.assertEqual(leak.get("bar"), 2)
示例#3
0
    def test_increment(self):
        """ Simple increment.
        """
        from leakdb.storage import DefaultStorage

        leak = DefaultStorage()
        leak.set(key="foo", value=1)

        leak.incr(key="foo")
        self.assertEqual(leak.get("foo"), 2)

        leak.incr(key="foo", delta=2)
        self.assertEqual(leak.get("foo"), 4)
示例#4
0
    def test_increment_initial(self):
        """ Increment key with initial value.
        """
        from leakdb.storage import DefaultStorage

        leak = DefaultStorage()

        leak.incr(key="foo", initial_value=666)
        self.assertEqual(leak.get("foo"), 666)

        leak.incr(key="foo", initial_value=666)
        self.assertEqual(leak.get("foo"), 667)

        leak.incr(key="foo", delta=2, initial_value=666)
        self.assertEqual(leak.get("foo"), 669)