def test_parse_vcs_metadata(project, is_editable, vcs): requirement_line = "git+https://github.com/test-root/demo.git@master#egg=demo" req = parse_requirement(requirement_line, is_editable) candidate = Candidate(req, project.environment) assert candidate.get_dependencies_from_metadata() == [ "idna", 'chardet; os_name == "nt"', ] assert candidate.name == "demo" assert candidate.version == "0.0.1" lockfile = candidate.as_lockfile_entry() assert lockfile["ref"] == "master" if is_editable: assert "revision" not in lockfile else: assert lockfile["revision"] == "1234567890abcdef"
def test_expand_project_root_in_url(req_str, core): project = core.create_project(FIXTURES.parent.parent) if req_str.startswith("-e "): req = parse_requirement(req_str[3:], True) else: req = parse_requirement(req_str) candidate = Candidate(req, project.environment) assert candidate.get_dependencies_from_metadata() == [ "idna", 'chardet; os_name == "nt"', ] lockfile_entry = candidate.as_lockfile_entry() if "path" in lockfile_entry: assert lockfile_entry["path"].startswith("./") else: assert "${PROJECT_ROOT}" in lockfile_entry["url"]