diff --git a/tests/functional/test_install_requested.py b/tests/functional/test_install_requested.py index 0b5d5f18e..116933c10 100644 --- a/tests/functional/test_install_requested.py +++ b/tests/functional/test_install_requested.py @@ -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")