本文整理汇总了Python中curdling.index.Index类的典型用法代码示例。如果您正苦于以下问题:Python Index类的具体用法?Python Index怎么用?Python Index使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Index类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_curd_package
def test_curd_package():
"It should possible to convert regular packages to wheels"
# Given that I have a storage containing a package
index = Index(FIXTURE('storage1'))
index.scan()
# And a curdling using that index
curdling = Curdling(index=index)
# When I request a curd to be created
package = curdling.wheel('gherkin==0.1.0', ('main', {
'path': index.get('gherkin==0.1.0;~whl')}))
# Then I see it's a wheel package.
package.should.equal({
'path': FIXTURE('storage1/gherkin-0.1.0-py27-none-any.whl'),
})
# And that it's present in the index
package = index.get('gherkin==0.1.0;whl')
# And that the file was created in the file system
os.path.exists(package).should.be.true
# And I delete the file
os.unlink(package)
示例2: test_pipeline_curdler_wheel_dependencer
def test_pipeline_curdler_wheel_dependencer():
"Install#pipeline() should route all the wheel files from the curdler to the dependencer"
# Given that I have the install command
index = Index('')
index.storage = {}
install = Install(conf={'index': index})
# And I mock the curdler service end-point and start all the services
install.dependencer.queue = Mock(__name__=str('queue'))
install.pipeline()
# Feed the installer with the requirement
install.finder.queue = Mock()
install.feed('tests', requirement='curdling')
# When I fire the curdler.finished() signal with proper data
install.curdler.emit('finished',
'curdler',
requirement='curdling',
wheel='curdling-0.1.0-py27-none-any.whl')
# Than I see that the dependencer received a request
install.dependencer.queue.assert_called_once_with(
'curdler',
requirement='curdling',
wheel='curdling-0.1.0-py27-none-any.whl')
示例3: test_pipeline_downloader_tarzip_curdler
def test_pipeline_downloader_tarzip_curdler():
"Install#pipeline() should route all the tar/zip files to the curdler"
# Given that I have the install command
index = Index('')
index.storage = {}
install = Install(conf={'index': index})
# And I mock the curdler service end-point and start all the services
install.curdler.queue = Mock(__name__=str('queue'))
install.pipeline()
# Feed the installer with the requirement
install.finder.queue = Mock()
install.feed('tests', requirement='curdling')
# When I fire the download.finished() signal with proper data
install.downloader.emit('finished',
'downloader',
requirement='curdling',
tarball='curdling-0.1.tar.gz')
# Than I see that the curdler received a request
install.curdler.queue.assert_called_once_with(
'downloader',
requirement='curdling',
tarball='curdling-0.1.tar.gz')
示例4: test_retrieve_and_build
def test_retrieve_and_build():
"Install#retrieve_and_build() "
# Given that I have an installer with a working index
index = Index(FIXTURE('tmp'))
installer = Install(**{
'conf': {
'index': index,
'pypi_urls': ['http://localhost:8000/simple']
},
})
installer.pipeline()
# And I feed the installer with a requirement
installer.feed('tests', requirement='gherkin')
# And start the installer
installer.start()
# When I run the retrieve and build loop
packages = installer.retrieve_and_build()
# Than I see that the package was retrieved
packages.should.equal(set(['gherkin']))
# And I clean the mess
index.delete()
示例5: test_install_feed_when_theres_a_wheel_cached
def test_install_feed_when_theres_a_wheel_cached():
"Install#feed() Should route the requirements that already have a wheel to the dependencer"
# Given that I have a loaded local cache
index = Index('')
index.storage = {'gherkin': {'0.1.0': ['storage1/gherkin-0.1.0-py27-none-any.whl']}}
# And that I have an environment associated with that local cache
env = Install(conf={'index': index})
env.pipeline()
env.downloader.queue = Mock()
env.dependencer.queue = Mock()
env.curdler.queue = Mock()
# When I request an installation of a package
env.feed('tests', requirement='gherkin==0.1.0')
# # Then I see that, since the package was not installed, the locall cache
# # was queried and returned the right entry
# env.check_installed.assert_called_once_with('gherkin==0.1.0')
# And I see that the install queue was populated
env.dependencer.queue.assert_called_once_with(
'tests',
requirement='gherkin==0.1.0',
wheel='storage1/gherkin-0.1.0-py27-none-any.whl',
)
# And that the download queue was not touched
env.downloader.queue.called.should.be.false
示例6: test_request_install_cached_wheels
def test_request_install_cached_wheels():
"Request the installation of a cached package"
# Given that I have a loaded local cache
index = Index('')
index.storage = {'gherkin': {'0.1.0': ['storage1/gherkin-0.1.0-py27-none-any.whl']}}
# And that I have an environment associated with that local cache
env = Env(conf={'index': index})
env.check_installed = Mock(return_value=False)
env.services['download'] = Mock()
env.services['install'] = Mock()
# When I request an installation of a package
env.request_install('gherkin==0.1.0').should.be.false
# Then I see that, since the package was not installed, the locall cache
# was queried and returned the right entry
env.check_installed.assert_called_once_with('gherkin==0.1.0')
# And I see that the install queue was populated
env.services['install'].queue.assert_called_once_with(
'gherkin==0.1.0', 'main', path='storage1/gherkin-0.1.0-py27-none-any.whl')
# And that the download queue was not touched
env.services['download'].queue.called.should.be.false
示例7: test_curd_package
def test_curd_package():
"It should possible to convert regular packages to wheels"
# Given that I have a storage containing a package
index = Index(FIXTURE('storage1'))
index.scan()
# And a curdling using that index
curdling = Curdler(**{'index': index})
# When I request a curd to be created
package = curdling.handle('main', {
'tarball': index.get('gherkin==0.1.0;~whl'),
'requirement': 'gherkin (0.1.0)',
})
# Then I see it's a wheel package.
package['wheel'].should.match(
FIXTURE('storage1/gherkin-0.1.0-py\d{2}-none-any.whl'))
# And that it's present in the index
package = index.get('gherkin==0.1.0;whl')
# And that the file was created in the file system
os.path.exists(package).should.be.true
# And I delete the file
os.unlink(package)
示例8: test_index_get_corner_case_pkg_name
def test_index_get_corner_case_pkg_name():
"It should be possible to search for packages that contain `_` in their name"
# Given that I have an index loaded with a couple package references
index = Index("")
index.storage = {"python-gherkin": {"0.1.0": ["python_gherkin-0.1.0.tar.gz"]}}
index.get("python-gherkin==0.1.0;~whl").should.equal("python_gherkin-0.1.0.tar.gz")
示例9: test_index_scan_when_there_is_no_dir
def test_index_scan_when_there_is_no_dir():
"Index.scan() should not fail when the dir does not exist"
# Given that I have an index that points to a directory that already
# contains packages
index = Index('I know this directory does not exist')
# When I scan the directory, I see it does not fail
index.scan()
示例10: test_index_feed_backend
def test_index_feed_backend():
"It should be possible to save package paths granularly"
# Given the following index
index = Index('')
# When I index a couple files
index.index('http://localhost:800/p/gherkin-0.1.0-py27-none-any.whl')
index.index('gherkin-0.1.0.tar.gz')
index.index('Gherkin-0.1.5.tar.gz') # I know, weird right?
index.index('a/weird/dir/gherkin-0.2.0.tar.gz')
index.index('package.name-0.1.0.tar.gz')
# Then I see that the backend structure looks right
dict(index.storage).should.equal({
'gherkin': {
'0.2.0': [
'gherkin-0.2.0.tar.gz',
],
'0.1.5': [
'Gherkin-0.1.5.tar.gz',
],
'0.1.0': [
'gherkin-0.1.0-py27-none-any.whl',
'gherkin-0.1.0.tar.gz',
],
},
'package.name': {
'0.1.0': [
'package.name-0.1.0.tar.gz',
]
}
})
示例11: test_index_scan
def test_index_scan():
"It should be possible to scan for already existing folders"
# Given that I have an index that points to a folder that already contains
# packages
index = Index(FIXTURE('storage1'))
# When I scan the directory
index.scan()
# Then I can look for packages
index.get('gherkin==0.1.0').should.equal(
FIXTURE('storage1/gherkin-0.1.0.tar.gz'),
)
示例12: test_index_ensure_path_for_existing_dirs
def test_index_ensure_path_for_existing_dirs(patched_os):
"Test utility method Index.ensure_path() for existing directories"
# We'll need that inside of ensure_path()
patched_os.path.dirname = os.path.dirname
# Given that I have an index
index = Index('')
# When I call ensure_path(resource) against a directory that exists to
# exists, it *SHOULD NOT* try to create the directory
patched_os.path.isdir.return_value = True
index.ensure_path('path/to/my/resource')
patched_os.makedirs.called.should.be.false
示例13: test_index_get_corner_case_pkg_name
def test_index_get_corner_case_pkg_name():
"It should be possible to search for packages that contain `_` in their name"
# Given that I have an index loaded with a couple package references
index = Index('')
index.storage = {
'python-gherkin': {
'0.1.0': [
'python_gherkin-0.1.0.tar.gz',
]
}
}
index.get('python-gherkin==0.1.0;~whl').should.equal('python_gherkin-0.1.0.tar.gz')
示例14: test_index_ensure_path
def test_index_ensure_path(patched_os):
"Test utility method Index.ensure_path()"
# We'll need that inside of ensure_path()
patched_os.path.dirname = os.path.dirname
# Given that I have an index
index = Index('')
# When I call ensure_path(resource) against a directory that doesn't seem
# to exist, it should try to create the directory for the resource
patched_os.path.isdir.return_value = False
index.ensure_path('path/to/my/resource')
patched_os.makedirs.assert_called_once_with('path/to/my')
示例15: test_install_package
def test_install_package():
"It should possible to install wheels"
# Given that I have an installer configured with a loaded index
index = Index(FIXTURE("storage2"))
index.scan()
installer = Installer(**{"index": index})
# When I request a curd to be created
installer.handle("main", {"requirement": "gherkin==0.1.0", "wheel": index.get("gherkin==0.1.0;whl")})
# Then I see that the package was installed
Database.check_installed("gherkin==0.1.0").should.be.true
# And I uninstall the package
Database.uninstall("gherkin==0.1.0")