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)
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)
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)
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)