@@ -43,6 +43,22 @@ def poetry_with_up_to_date_lockfile(
4343 yield Factory ().create_poetry (cwd )
4444
4545
46+ @pytest .fixture
47+ def poetry_with_pypi_reference (
48+ set_project_context : SetProjectContext ,
49+ ) -> Iterator [Poetry ]:
50+ with set_project_context ("pypi_reference" , in_place = False ) as cwd :
51+ yield Factory ().create_poetry (cwd )
52+
53+
54+ @pytest .fixture
55+ def poetry_with_invalid_pyproject (
56+ set_project_context : SetProjectContext ,
57+ ) -> Iterator [Poetry ]:
58+ with set_project_context ("invalid_pyproject" , in_place = False ) as cwd :
59+ yield Factory ().create_poetry (cwd )
60+
61+
4662@pytest .fixture ()
4763def tester (
4864 command_tester_factory : CommandTesterFactory , poetry_simple_project : Poetry
@@ -111,19 +127,35 @@ def test_check_valid_legacy(
111127 assert tester .io .fetch_error () == expected
112128
113129
114- def test_check_invalid (
130+ def test_check_invalid_dep_name_same_as_project_name (
115131 mocker : MockerFixture , tester : CommandTester , fixture_dir : FixtureDirGetter
116132) -> None :
117133 mocker .patch (
118134 "poetry.poetry.Poetry.file" ,
119- return_value = TOMLFile (fixture_dir ("invalid_pyproject" ) / "pyproject.toml" ),
135+ return_value = TOMLFile (
136+ fixture_dir ("invalid_pyproject_dep_name" ) / "pyproject.toml"
137+ ),
120138 new_callable = mocker .PropertyMock ,
121139 )
140+ tester .execute ("" )
141+
142+ expected = """\
143+ Error: Project name (invalid) is same as one of its dependencies
144+ """
145+
146+ assert tester .io .fetch_error () == expected
147+
122148
149+ def test_check_invalid (
150+ tester : CommandTester ,
151+ fixture_dir : FixtureDirGetter ,
152+ command_tester_factory : CommandTesterFactory ,
153+ poetry_with_invalid_pyproject : Poetry ,
154+ ) -> None :
155+ tester = command_tester_factory ("check" , poetry = poetry_with_invalid_pyproject )
123156 tester .execute ("--lock" )
124157
125158 expected = """\
126- Error: Project name (invalid) is same as one of its dependencies
127159 Error: Unrecognized classifiers: ['Intended Audience :: Clowns'].
128160Error: Declared README file does not exist: never/exists.md
129161Error: Invalid source "not-exists" referenced in dependencies.
@@ -254,3 +286,14 @@ def test_check_lock_up_to_date(
254286
255287 # exit with an error
256288 assert status_code == 0
289+
290+
291+ def test_check_does_not_error_on_pypi_reference (
292+ command_tester_factory : CommandTesterFactory ,
293+ poetry_with_pypi_reference : Poetry ,
294+ ) -> None :
295+ tester = command_tester_factory ("check" , poetry = poetry_with_pypi_reference )
296+ status_code = tester .execute ("" )
297+
298+ assert tester .io .fetch_output () == "All set!\n "
299+ assert status_code == 0
0 commit comments