Break dependency-links test into two separate tests

Use helper functions to reduce code duplication since these two tests
are quasi-identical
This commit is contained in:
Alexandros Tzannes
2018-08-06 10:30:04 -07:00
parent 210a9d46fb
commit 3cc02ebd5d
+39 -22
View File
@@ -57,17 +57,10 @@ zip_safe=False
assert "six" in p.lockfile["default"]
@pytest.mark.install
@pytest.mark.local
@pytest.mark.needs_internet
@flaky
def test_local_dependency_links_install(PipenvInstance, pypi):
"""Ensure dependency_links are parsed and installed (needed for private repo dependencies).
"""
def make_setup(pipenv_instance, deplink):
setup_py = os.path.join(pipenv_instance.path, "setup.py")
with open(setup_py, "w") as fh:
contents = """
def helper_dependency_links_install_make_setup(pipenv_instance, deplink):
setup_py = os.path.join(pipenv_instance.path, "setup.py")
with open(setup_py, "w") as fh:
contents = """
from setuptools import setup
setup(
@@ -81,24 +74,48 @@ setup(
'{0}'
]
)
""".strip().format(deplink)
fh.write(contents)
""".strip().format(deplink)
fh.write(contents)
def test_deplink(pipenv_instance, deplink):
make_setup(pipenv_instance, deplink)
c = pipenv_instance.pipenv("install -v -e .")
assert c.return_code == 0
assert "test-private-dependency" in pipenv_instance.lockfile["default"]
assert "version" in pipenv_instance.lockfile["default"]["test-private-dependency"]
assert "0.1" in pipenv_instance.lockfile["default"]["test-private-dependency"]["version"]
def helper_dependency_links_install_test(pipenv_instance, deplink):
helper_dependency_links_install_make_setup(pipenv_instance, deplink)
c = pipenv_instance.pipenv("install -v -e .")
assert c.return_code == 0
assert "test-private-dependency" in pipenv_instance.lockfile["default"]
assert "version" in pipenv_instance.lockfile["default"]["test-private-dependency"]
assert "0.1" in pipenv_instance.lockfile["default"]["test-private-dependency"]["version"]
@pytest.mark.install
@pytest.mark.local
@pytest.mark.needs_internet
@flaky
def test_https_dependency_links_install(PipenvInstance, pypi):
"""Ensure dependency_links are parsed and installed (needed for private repo dependencies).
"""
with temp_environ(), PipenvInstance(pypi=pypi, chdir=True) as p:
os.environ['PIP_PROCESS_DEPENDENCY_LINKS'] = '1'
test_deplink(p, 'git+https://github.com/atzannes/test-private-dependency@v0.1#egg=test-private-dependency-v0.1')
helper_dependency_links_install_test(
p,
'git+https://github.com/atzannes/test-private-dependency@v0.1#egg=test-private-dependency-v0.1'
)
@pytest.mark.install
@pytest.mark.local
@pytest.mark.needs_internet
@pytest.mark.needs_github_ssh
@flaky
def test_ssh_dependency_links_install(PipenvInstance, pypi):
"""Ensure dependency_links are parsed and installed (needed for private repo dependencies).
"""
with temp_environ(), PipenvInstance(pypi=pypi, chdir=True) as p:
os.environ['PIP_PROCESS_DEPENDENCY_LINKS'] = '1'
test_deplink(p, 'git+ssh://git@github.com/atzannes/test-private-dependency@v0.1#egg=test-private-dependency-v0.1')
helper_dependency_links_install_test(
p,
'git+ssh://git@github.com/atzannes/test-private-dependency@v0.1#egg=test-private-dependency-v0.1'
)
@pytest.mark.e