Commit 95373099 by Sigurd Spieckermann Committed by Sébastien Eustace

Lock VCS dev-dependencies as category "dev" (#1725)

parent affe32d8
...@@ -297,6 +297,7 @@ class Package(object): ...@@ -297,6 +297,7 @@ class Package(object):
branch=constraint.get("branch", None), branch=constraint.get("branch", None),
tag=constraint.get("tag", None), tag=constraint.get("tag", None),
rev=constraint.get("rev", None), rev=constraint.get("rev", None),
category=category,
optional=optional, optional=optional,
) )
elif "file" in constraint: elif "file" in constraint:
......
...@@ -7,7 +7,15 @@ class VCSDependency(Dependency): ...@@ -7,7 +7,15 @@ class VCSDependency(Dependency):
""" """
def __init__( def __init__(
self, name, vcs, source, branch=None, tag=None, rev=None, optional=False self,
name,
vcs,
source,
branch=None,
tag=None,
rev=None,
category="main",
optional=False,
): ):
self._vcs = vcs self._vcs = vcs
self._source = source self._source = source
...@@ -21,7 +29,7 @@ class VCSDependency(Dependency): ...@@ -21,7 +29,7 @@ class VCSDependency(Dependency):
self._rev = rev self._rev = rev
super(VCSDependency, self).__init__( super(VCSDependency, self).__init__(
name, "*", optional=optional, allows_prereleases=True name, "*", category=category, optional=optional, allows_prereleases=True
) )
@property @property
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import unicode_literals from __future__ import unicode_literals
import pytest
from poetry.packages import Package from poetry.packages import Package
...@@ -14,3 +16,24 @@ def test_package_authors(): ...@@ -14,3 +16,24 @@ def test_package_authors():
package.authors.insert(0, "John Doe") package.authors.insert(0, "John Doe")
assert package.author_name == "John Doe" assert package.author_name == "John Doe"
assert package.author_email is None assert package.author_email is None
@pytest.mark.parametrize("category", ["main", "dev"])
def test_package_add_dependency_vcs_category(category):
package = Package("foo", "0.1.0")
dependency = package.add_dependency(
"poetry",
constraint={"git": "https://github.com/python-poetry/poetry.git"},
category=category,
)
assert dependency.category == category
def test_package_add_dependency_vcs_category_default_main():
package = Package("foo", "0.1.0")
dependency = package.add_dependency(
"poetry", constraint={"git": "https://github.com/python-poetry/poetry.git"}
)
assert dependency.category == "main"
import pytest
from poetry.packages.vcs_dependency import VCSDependency from poetry.packages.vcs_dependency import VCSDependency
...@@ -49,3 +51,14 @@ def test_to_pep_508_in_extras(): ...@@ -49,3 +51,14 @@ def test_to_pep_508_in_extras():
expected = 'poetry @ git+https://github.com/python-poetry/poetry.git@b;ar; ; extra == "foo;"' expected = 'poetry @ git+https://github.com/python-poetry/poetry.git@b;ar; ; extra == "foo;"'
assert expected == dependency.to_pep_508() assert expected == dependency.to_pep_508()
@pytest.mark.parametrize("category", ["main", "dev"])
def test_category(category):
dependency = VCSDependency(
"poetry",
"git",
"https://github.com/python-poetry/poetry.git",
category=category,
)
assert category == dependency.category
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment