def test_empty_wheel_cache(self): """ A pip cache dir with an empty wheel cache returns no packages. """ with tempcache() as pipcache: extractor = WheelCacheExtractor(pipcache.path) self.assertEqual(list(extractor.iter_cache()), [])
def test_missing_wheel_cache(self): """ A pip cache dir with no wheel cache returns no packages. """ with tempdir() as basedir: pip_cache_dir = os.path.join(basedir, "pipcache") os.mkdir(pip_cache_dir) extractor = WheelCacheExtractor(pip_cache_dir) self.assertEqual(list(extractor.iter_cache()), [])
def test_pip_cache_with_wheels(self): """ A pip wheel cache with wheels in it returns some packages. """ with tempcache() as pipcache: wheel1 = pipcache.write_wheel("ab/cd/ef/ghij/foo.whl") wheel2 = pipcache.write_wheel("12/34/56/7890/bar.whl") extractor = WheelCacheExtractor(pipcache.path) self.assertEqual( sorted([cw.filepath for cw in extractor.iter_cache()]), sorted([wheel1, wheel2]))
def test_wheel_content(self): """ Any file ending with .whl is assumed to be a valid wheel. """ with tempcache() as pipcache: pipcache.write_wheel("ab/cd/ef/ghij/foo.whl", b"round") extractor = WheelCacheExtractor(pipcache.path) [cached_wheel] = extractor.iter_cache() self.assertEqual(cached_wheel.can_symlink, True) self.assertEqual(cached_wheel.is_package, True) self.assertEqual(cached_wheel.package_filename, "foo.whl") self.assertEqual(cached_wheel.get_package_data(), b"round")