Commit 9e0d9d5e by Sébastien Eustace Committed by Arun Babu Neelicattu

Fix reverting the pyproject.toml content in the remove command

parent 00309bee
......@@ -32,7 +32,6 @@ list of installed packages
packages = self.argument("packages")
is_dev = self.option("dev")
original_content = self.poetry.file.read()
content = self.poetry.file.read()
poetry_content = content["tool"]["poetry"]
section = "dependencies"
......@@ -75,14 +74,9 @@ list of installed packages
self._installer.update(True)
self._installer.whitelist(requirements)
try:
status = self._installer.run()
except Exception:
self.poetry.file.write(original_content)
status = self._installer.run()
raise
if not self.option("dry-run"):
if not self.option("dry-run") and status == 0:
self.poetry.file.write(content)
return status
import pytest
from poetry.core.packages.package import Package
@pytest.fixture()
def tester(command_tester_factory):
return command_tester_factory("remove")
def test_remove_command_should_not_write_changes_upon_installer_errors(
tester, app, repo, command_tester_factory, mocker
):
repo.add_package(Package("foo", "2.0.0"))
command_tester_factory("add").execute("foo")
mocker.patch("poetry.installation.installer.Installer.run", return_value=1)
original_content = app.poetry.file.read().as_string()
tester.execute("foo")
assert app.poetry.file.read().as_string() == original_content
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