Add failing test for REQUESTED and URL constraints
@@ -110,3 +110,40 @@ def test_install_requested_in_reqs_and_constraints(
_assert_requested_present(script, result, "require_simple", "1.0")
# simple must have REQUESTED because it is in requirements.txt
_assert_requested_present(script, result, "simple", "2.0")
+
+
+@pytest.mark.usefixtures("with_wheel")
+def test_install_requested_from_cli_with_constraint(
+ script: PipTestEnvironment, data: TestData
+) -> None:
+ script.scratch_path.joinpath("constraints.txt").write_text("simple<3\n")
+ result = script.pip(
+ "install",
+ "--no-index",
+ "-f",
+ data.find_links,
+ "-c",
+ script.scratch_path / "constraints.txt",
+ "simple",
+ )
+ # simple must have REQUESTED because it was provided on the command line
+ _assert_requested_present(script, result, "simple", "2.0")
+
+
+@pytest.mark.usefixtures("with_wheel")
+@pytest.mark.network
+def test_install_requested_from_cli_with_url_constraint(
+ script: PipTestEnvironment, data: TestData
+) -> None:
+ script.scratch_path.joinpath("constraints.txt").write_text(
+ "pip-test-package @ git+https://github.com/pypa/pip-test-package@0.1.1\n"
+ )
+ result = script.pip(
+ "install",
+ "--no-index",
+ "-c",
+ script.scratch_path / "constraints.txt",
+ "pip-test-package",
+ )
+ # pip-test-package must have REQUESTED because it was provided on the command line
+ _assert_requested_present(script, result, "pip_test_package", "0.1.1")
