예제 #1
0
    def test_clean_cache(self):
        """Test if an existing cache is cleaned when the parameter is set"""

        # Populate cache
        cpath = os.path.join(self.test_path, CACHE_DIR)
        cache = Cache(cpath)
        cache.store(1, 2, 3)

        # Access cache using setup_cache and check its contents
        cache = setup_cache(CACHE_DIR, cache_path=self.test_path)

        result = [item for item in cache.retrieve()]

        self.assertListEqual(result, [1, 2, 3])
        self.assertEqual(cache.cache_path, cpath)
        self.assertEqual(os.path.exists(cpath), True)

        # Access cache cleaning its data and check if is empty
        cache = setup_cache(CACHE_DIR,
                            cache_path=self.test_path,
                            clean_cache=True)

        result = [item for item in cache.retrieve()]

        self.assertListEqual(result, [])
        self.assertEqual(cache.cache_path, cpath)
        self.assertEqual(os.path.exists(cpath), True)
예제 #2
0
    def test_backup_cache(self):
        """Test if a backup is done when clean_cache is not set"""

        # Populate cache
        cpath = os.path.join(self.test_path, CACHE_DIR)
        cache0 = Cache(cpath)
        cache0.store(1, 2, 3)

        # Access cache using setup_cache; backup should be done
        cache1 = setup_cache(CACHE_DIR, cache_path=self.test_path)

        result = [item for item in cache1.retrieve()]
        self.assertListEqual(result, [1, 2, 3])

        # Clean cache and check contents using the object created
        # with setup_cache
        cache0.clean()

        result = [item for item in cache1.retrieve()]
        self.assertListEqual(result, [])

        # Restore the backup
        cache1.recover()

        result = [item for item in cache1.retrieve()]
        self.assertListEqual(result, [1, 2, 3])
예제 #3
0
    def test_cache_path(self):
        """Test if the cache is created in the given path"""

        cache = setup_cache(CACHE_DIR, cache_path=self.test_path)

        expected_path = os.path.join(self.test_path, CACHE_DIR)

        self.assertIsInstance(cache, Cache)
        self.assertEqual(cache.cache_path, expected_path)
        self.assertEqual(os.path.exists(cache.cache_path), True)
예제 #4
0
    def test_default_setup(self, mock_expanduser):
        """Test if it creates a cache object with the default arguments"""

        mock_expanduser.return_value = self.test_path

        cache = setup_cache(CACHE_DIR)

        expected_path = os.path.join(self.test_path, CACHE_DIR)

        self.assertIsInstance(cache, Cache)
        self.assertEqual(cache.cache_path, expected_path)
        self.assertEqual(os.path.exists(cache.cache_path), True)
        mock_expanduser.assert_called_once_with(CACHE_DEFAULT_PATH)