コード例 #1
0
ファイル: test_pipfilelock.py プロジェクト: yyolk/dephell
def test_load(requirements_path: Path):
    converter = PIPFileLockConverter()
    # https://github.com/pypa/pipfile/blob/master/examples/Pipfile.lock
    root = converter.load(requirements_path / 'pipfile.lock.json')
    deps = {dep.name: dep for dep in root.dependencies}
    assert 'requests' in deps
    assert 'records' in deps
    assert 'django' in deps
    assert str(deps['records'].constraint) == '==0.5.2'
    assert len(deps['pyyaml'].group.best_release.hashes) == 14
コード例 #2
0
ファイル: test_pipfilelock.py プロジェクト: yyolk/dephell
def test_dump(requirements_path: Path):
    converter = PIPFileLockConverter()
    resolver = converter.load_resolver(requirements_path / 'pipfile.lock.json')
    reqs = Requirement.from_graph(graph=resolver.graph, lock=False)
    assert len(reqs) > 2
    content = converter.dumps(reqs=reqs, project=resolver.graph.metainfo)
    content = json.loads(content)
    assert content['default']['chardet']['version'] == '==3.0.4'

    assert 'nose' not in content['default']
    assert 'nose' in content['develop']
コード例 #3
0
ファイル: test_pipfilelock.py プロジェクト: yyolk/dephell
def test_load_git_based_dep(requirements_path: Path):
    converter = PIPFileLockConverter()
    root = converter.load(requirements_path / 'pipfile.lock.json')
    deps = {dep.name: dep for dep in root.dependencies}
    dep = deps['django']
    assert isinstance(dep.link, VCSLink)
    assert isinstance(dep.repo, GitRepo)

    assert dep.link.vcs == 'git'
    assert dep.link.server == 'github.com'
    assert dep.link.name == 'django'