You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_disk_cache.py 1.8 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import unittest
  2. from unittest.mock import patch, MagicMock
  3. from autogen.cache.disk_cache import DiskCache
  4. class TestDiskCache(unittest.TestCase):
  5. def setUp(self):
  6. self.seed = "test_seed"
  7. @patch("autogen.cache.disk_cache.diskcache.Cache", return_value=MagicMock())
  8. def test_init(self, mock_cache):
  9. cache = DiskCache(self.seed)
  10. self.assertIsInstance(cache.cache, MagicMock)
  11. mock_cache.assert_called_with(self.seed)
  12. @patch("autogen.cache.disk_cache.diskcache.Cache", return_value=MagicMock())
  13. def test_get(self, mock_cache):
  14. key = "key"
  15. value = "value"
  16. cache = DiskCache(self.seed)
  17. cache.cache.get.return_value = value
  18. self.assertEqual(cache.get(key), value)
  19. cache.cache.get.assert_called_with(key, None)
  20. cache.cache.get.return_value = None
  21. self.assertIsNone(cache.get(key, None))
  22. @patch("autogen.cache.disk_cache.diskcache.Cache", return_value=MagicMock())
  23. def test_set(self, mock_cache):
  24. key = "key"
  25. value = "value"
  26. cache = DiskCache(self.seed)
  27. cache.set(key, value)
  28. cache.cache.set.assert_called_with(key, value)
  29. @patch("autogen.cache.disk_cache.diskcache.Cache", return_value=MagicMock())
  30. def test_context_manager(self, mock_cache):
  31. with DiskCache(self.seed) as cache:
  32. self.assertIsInstance(cache, DiskCache)
  33. mock_cache_instance = cache.cache
  34. mock_cache_instance.close.assert_called()
  35. @patch("autogen.cache.disk_cache.diskcache.Cache", return_value=MagicMock())
  36. def test_close(self, mock_cache):
  37. cache = DiskCache(self.seed)
  38. cache.close()
  39. cache.cache.close.assert_called()
  40. if __name__ == "__main__":
  41. unittest.main()