whee

Unified interface to key value with locking and transactions.
Info | Log | Files | Refs | README | LICENSE

test_mem.py (891B)


      1 import logging
      2 import unittest
      3 
      4 from whee.mem import MemStore
      5 
      6 logging.basicConfig(level=logging.DEBUG)
      7 logg = logging.getLogger()
      8 
      9 
     10 class TestMem(unittest.TestCase):
     11 
     12     def setUp(self):
     13         self.store = MemStore()
     14 
     15 
     16     def test_get_put(self):
     17         r = self.store.have(b'foo')
     18         self.assertFalse(r)
     19         self.store.put(b'foo', b'bar')
     20         r = self.store.have(b'foo')
     21         self.assertTrue(r)
     22         r = self.store.get(b'foo')
     23         self.assertEqual(r, b'bar')
     24         r = self.store.get(b'foo'.hex())
     25         self.assertEqual(r, b'bar')
     26         with self.assertRaises(FileExistsError):
     27             self.store.put(b'foo', b'baz')
     28         self.store.put(b'foo', b'baz', exist_ok=True)
     29         self.store.delete(b'foo')
     30         with self.assertRaises(FileNotFoundError):
     31             self.store.delete(b'foo')
     32         
     33 
     34 if __name__ == '__main__':
     35     unittest.main()