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

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