Commit 2f84178e by Arun Babu Neelicattu Committed by Steph Samson

Enforce package name for poetry projects from directory source (#1327)

parent cb8dc0d9
...@@ -353,14 +353,6 @@ class Provider: ...@@ -353,14 +353,6 @@ class Provider:
package = Package(package_name, package_version) package = Package(package_name, package_version)
if dependency.name != package.name:
# For now, the dependency's name must match the actual package's name
raise RuntimeError(
"The dependency name for {} does not match the actual package's name: {}".format(
dependency.name, package.name
)
)
package.description = package_summary package.description = package_summary
for req in reqs: for req in reqs:
...@@ -378,6 +370,14 @@ class Provider: ...@@ -378,6 +370,14 @@ class Provider:
if python_requires: if python_requires:
package.python_versions = python_requires package.python_versions = python_requires
if dependency.name != package.name:
# For now, the dependency's name must match the actual package's name
raise RuntimeError(
"The dependency name for {} does not match the actual package's name: {}".format(
dependency.name, package.name
)
)
package.source_type = "directory" package.source_type = "directory"
package.source_url = dependency.path.as_posix() package.source_url = dependency.path.as_posix()
......
import sys import sys
import pytest
from cleo.testers import CommandTester from cleo.testers import CommandTester
from tests.helpers import get_dependency from tests.helpers import get_dependency
...@@ -173,6 +174,27 @@ Package operations: 2 installs, 0 updates, 0 removals ...@@ -173,6 +174,27 @@ Package operations: 2 installs, 0 updates, 0 removals
assert len(installer.installs) == 2 assert len(installer.installs) == 2
def test_add_git_constraint_with_poetry_bad_name(app, repo, installer):
command = app.find("add")
tester = CommandTester(command)
repo.add_package(get_package("pendulum", "1.4.4"))
with pytest.raises(RuntimeError) as e:
tester.execute(
[
("command", command.get_name()),
("name", ["demox"]),
("--git", "https://github.com/demo/pyproject-demo.git"),
]
)
expected = (
"The dependency name for demox does not match the actual package's name: demo"
)
assert str(e.value) == expected
assert len(installer.installs) == 0
def test_add_file_constraint_wheel(app, repo, installer): def test_add_file_constraint_wheel(app, repo, installer):
command = app.find("add") command = app.find("add")
tester = CommandTester(command) tester = CommandTester(command)
......
...@@ -251,7 +251,8 @@ def test_search_for_directory_setup_read_setup_with_no_dependencies(provider, mo ...@@ -251,7 +251,8 @@ def test_search_for_directory_setup_read_setup_with_no_dependencies(provider, mo
def test_search_for_directory_poetry(provider): def test_search_for_directory_poetry(provider):
dependency = DirectoryDependency( dependency = DirectoryDependency(
"demo", Path(__file__).parent.parent / "fixtures" / "project_with_extras" "project-with-extras",
Path(__file__).parent.parent / "fixtures" / "project_with_extras",
) )
package = provider.search_for_directory(dependency)[0] package = provider.search_for_directory(dependency)[0]
...@@ -267,7 +268,8 @@ def test_search_for_directory_poetry(provider): ...@@ -267,7 +268,8 @@ def test_search_for_directory_poetry(provider):
def test_search_for_directory_poetry_with_extras(provider): def test_search_for_directory_poetry_with_extras(provider):
dependency = DirectoryDependency( dependency = DirectoryDependency(
"demo", Path(__file__).parent.parent / "fixtures" / "project_with_extras" "project-with-extras",
Path(__file__).parent.parent / "fixtures" / "project_with_extras",
) )
dependency.extras.append("extras_a") dependency.extras.append("extras_a")
......
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