Пример #1
0
    def test_download_requirements_file(self, pip_main_mock):
        download_path = self._mkdtemp()
        downloader = download.PackageDownloader(download_path)

        downloader.download(requirements_file='requirements.txt')

        expected_call = mock.call(
            ['install', '-d', download_path, '-r', 'requirements.txt'])
        assert pip_main_mock.call_args == expected_call
Пример #2
0
    def test_download_requirements(self, list_dir_mock, pip_main_mock):
        list_dir_mock.return_value = ('mock-1.0.1.tar.gz', )
        download_path = '/foo/bar'
        downloader = download.PackageDownloader(download_path)

        downloaded = downloader.download(requirements=['mock'])

        assert sorted(list(downloaded)) == ['mock-1.0.1.tar.gz']
        expected_call = mock.call(['install', '-d', download_path, 'mock'])
        assert pip_main_mock.call_args == expected_call
Пример #3
0
    def test_list_download_dir(self):
        download_path = self._mkdtemp()
        __, package1 = tempfile.mkstemp(dir=download_path)
        __, package2 = tempfile.mkstemp(dir=download_path)
        tempfile.mkdtemp(dir=download_path)
        downloader = download.PackageDownloader(download_path)

        paths = downloader._list_download_dir()

        assert isinstance(paths, types.GeneratorType)
        assert sorted(list(paths)) == sorted([package1, package2])
Пример #4
0
 def test_build_args_no_use_wheel(self):
     downloader = download.PackageDownloader('/foo/bar')
     args = downloader._build_args(requirements_file='requirements.txt',
                                   no_use_wheel=True)
     assert args == [
         'install',
         '-d',
         '/foo/bar',
         '--no-use-wheel',
         '-r',
         'requirements.txt',
     ]
Пример #5
0
    def test_make_download_dir(self):
        tmpdir = self._mkdtemp()
        download_path = os.path.join(tmpdir, 'packages')
        downloader = download.PackageDownloader(download_path)

        downloader._make_download_dir()
        assert os.path.isdir(download_path)
        downloader._make_download_dir()
        assert os.path.isdir(download_path)
        shutil.rmtree(tmpdir)
        downloader._make_download_dir()
        assert os.path.isdir(download_path)
Пример #6
0
    def test_download_no_use_wheel(self, pip_main_mock):
        download_path = self._mkdtemp()
        downloader = download.PackageDownloader(download_path)

        downloader.download(requirements_file='requirements.txt',
                            no_use_wheel=True)

        expected_call = mock.call([
            'install',
            '-d',
            download_path,
            '--no-use-wheel',
            '-r',
            'requirements.txt',
        ])
        assert pip_main_mock.call_args == expected_call
Пример #7
0
 def test_build_args_without_arguments(self):
     downloader = download.PackageDownloader('/foo/bar')
     with pytest.raises(ValueError):
         downloader._build_args()
Пример #8
0
 def test_build_args_with_requirements_file(self):
     downloader = download.PackageDownloader('/foo/bar')
     args = downloader._build_args(requirements_file='requirements.txt')
     assert args == ['install', '-d', '/foo/bar', '-r', 'requirements.txt']
Пример #9
0
 def test_build_args_with_requirements(self):
     downloader = download.PackageDownloader('/foo/bar')
     args = downloader._build_args(requirements=['requests==1.2.1', 'mock'])
     assert args == ['install', '-d', '/foo/bar', 'requests==1.2.1', 'mock']
Пример #10
0
 def test_make_download_dir_when_not_set(self):
     downloader = download.PackageDownloader()
     downloader._make_download_dir()
     assert downloader.download_path is not None
     self._tmpdirs.append(downloader.download_path)
     assert os.path.isdir(downloader.download_path)
Пример #11
0
 def test_init_without_download_path(self):
     downloader = download.PackageDownloader()
     assert downloader.download_path is None
Пример #12
0
 def test_init(self):
     downloader = download.PackageDownloader('/foo/bar')
     assert downloader.download_path == '/foo/bar'