diff --git a/devservices/commands/reset.py b/devservices/commands/reset.py index 08bc034..fe0e869 100644 --- a/devservices/commands/reset.py +++ b/devservices/commands/reset.py @@ -30,8 +30,6 @@ def add_parser(subparsers: _SubParsersAction[ArgumentParser]) -> None: parser.add_argument( "service_name", help="Name of the service to reset volumes for", - nargs="?", - default=None, ) parser.set_defaults(func=reset) diff --git a/devservices/commands/update.py b/devservices/commands/update.py index 04de7ad..5d7ad73 100644 --- a/devservices/commands/update.py +++ b/devservices/commands/update.py @@ -58,12 +58,9 @@ def update(_args: Namespace) -> None: if is_in_virtualenv(): console.warning("You are running in a virtual environment.") console.warning( - "To update, please update your requirements.txt or requirements-dev.txt file with the new version." + f"To update, set the devservices requirement in your pyproject.toml to: devservices>={latest_version}" ) - console.warning( - f"For example, update the line in requirements.txt to: devservices=={latest_version}" - ) - console.warning("Then, run: pip install --update -r requirements.txt") + console.warning("Then, run: uv lock --upgrade-package devservices && uv sync") return console.info("Upgrading to the latest version...") diff --git a/tests/commands/test_reset.py b/tests/commands/test_reset.py index e92c266..eea0a37 100644 --- a/tests/commands/test_reset.py +++ b/tests/commands/test_reset.py @@ -1,11 +1,13 @@ from __future__ import annotations +from argparse import ArgumentParser from argparse import Namespace from pathlib import Path from unittest import mock import pytest +from devservices.commands.reset import add_parser from devservices.commands.reset import reset from devservices.constants import DEVSERVICES_ORCHESTRATOR_LABEL from devservices.exceptions import DockerDaemonNotRunningError @@ -15,6 +17,16 @@ from testing.utils import create_config_file +def test_reset_requires_service_name() -> None: + parser = ArgumentParser() + add_parser(parser.add_subparsers()) + + with pytest.raises(SystemExit): + parser.parse_args(["reset"]) + + assert parser.parse_args(["reset", "redis"]).service_name == "redis" + + @mock.patch( "devservices.commands.reset.get_matching_containers", side_effect=DockerDaemonNotRunningError(), diff --git a/tests/commands/test_update.py b/tests/commands/test_update.py index b3271b2..4a6e4b1 100644 --- a/tests/commands/test_update.py +++ b/tests/commands/test_update.py @@ -23,14 +23,11 @@ def test_update_in_virtualenv( captured = capsys.readouterr() assert "You are running in a virtual environment." in captured.out assert ( - "To update, please update your requirements.txt or requirements-dev.txt file with the new version." + "To update, set the devservices requirement in your pyproject.toml to: devservices>=1.0.0" in captured.out ) - assert ( - "For example, update the line in requirements.txt to: devservices==1.0.0" - in captured.out - ) - assert "Then, run: pip install --update -r requirements.txt" in captured.out + assert "Then, run: uv lock --upgrade-package devservices && uv sync" in captured.out + assert "pip" not in captured.out @mock.patch("devservices.commands.update.metadata.version", return_value="0.0.1")