64 lines
2 KiB
Python
64 lines
2 KiB
Python
import unittest
|
|
from slixmpp.test import SlixTest
|
|
from slixmpp.util import (
|
|
MemoryCache, MemoryPerJidCache,
|
|
FileSystemCache, FileSystemPerJidCache
|
|
)
|
|
from tempfile import TemporaryDirectory
|
|
|
|
class TestCacheClass(SlixTest):
|
|
|
|
def testMemoryCache(self):
|
|
cache = MemoryCache()
|
|
|
|
cache.store("test", "test_value")
|
|
self.assertEqual(cache.retrieve("test"), "test_value")
|
|
self.assertEqual(cache.retrieve("test2"), None)
|
|
|
|
cache.remove("test")
|
|
self.assertEqual(cache.retrieve("test"), None)
|
|
|
|
def testMemoryPerJidcache(self):
|
|
cache = MemoryPerJidCache()
|
|
|
|
cache.store_by_jid("test@example.com", "test", "test_value")
|
|
self.assertEqual(
|
|
cache.retrieve_by_jid("test@example.com", "test"),
|
|
"test_value"
|
|
)
|
|
|
|
cache.remove_by_jid("test@example.com", "test")
|
|
self.assertEqual(
|
|
cache.retrieve_by_jid("test@example.com", "test"),
|
|
None
|
|
)
|
|
|
|
def testFileSystemCache(self):
|
|
with TemporaryDirectory() as tmpdir:
|
|
cache = FileSystemCache(tmpdir, "test")
|
|
cache.store("test", "test_value")
|
|
self.assertEqual(
|
|
cache.retrieve("test"),
|
|
"test_value"
|
|
)
|
|
cache.remove("test")
|
|
self.assertEqual(
|
|
cache.retrieve("test"),
|
|
None
|
|
)
|
|
|
|
def testFileSystemPerJidCache(self):
|
|
with TemporaryDirectory() as tmpdir:
|
|
cache = FileSystemPerJidCache(tmpdir, "test")
|
|
cache.store_by_jid("test@example.com", "test", "test_value")
|
|
self.assertEqual(
|
|
cache.retrieve_by_jid("test@example.com", "test"),
|
|
"test_value"
|
|
)
|
|
cache.remove_by_jid("test@example.com", "test")
|
|
self.assertEqual(
|
|
cache.retrieve_by_jid("test@example.com", "test"),
|
|
None
|
|
)
|
|
|
|
suite = unittest.TestLoader().loadTestsFromTestCase(TestCacheClass)
|