GRM-18: feat: make --ask-become-pass the default behavior
- Change --ask-become-pass from opt-in to opt-out across all commands (install, update, start, stop, enable, disable, status, remove) - Use Click toggle pattern: --ask-become-pass/--no-ask-become-pass with default=True so users are always prompted for sudo unless they explicitly opt out - Update i18n translations for both help texts - Update all CLI tests to expect ask_become_pass=True as default and add test for --no-ask-become-pass - Update README: remove --ask-become-pass from examples, document --no-ask-become-pass for passwordless-sudo setups - 120 tests, 100% coverage, pyright clean, ruff clean
This commit is contained in:
+33
-12
@@ -22,6 +22,27 @@ class TestCLI:
|
||||
runner = CliRunner(env={"GITEA_URL": "https://git.example.com", "GITEA_ADMIN_TOKEN": ""})
|
||||
result = runner.invoke(cli, ["install", "host1", "--user", "ubuntu", "--token", "tok"])
|
||||
assert result.exit_code == 0
|
||||
mock_manager.install.assert_called_once_with(
|
||||
host="host1",
|
||||
user="ubuntu",
|
||||
key=None,
|
||||
name=None,
|
||||
token="tok",
|
||||
gitea_url="https://git.example.com",
|
||||
mode="docker",
|
||||
admin_token="",
|
||||
integration_retries=3,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
def test_install_no_ask_become_pass(self, mock_manager_class: MagicMock) -> None:
|
||||
mock_manager = MagicMock()
|
||||
mock_manager_class.return_value = mock_manager
|
||||
|
||||
runner = CliRunner(env={"GITEA_URL": "https://git.example.com", "GITEA_ADMIN_TOKEN": ""})
|
||||
result = runner.invoke(cli, ["install", "host1", "--user", "ubuntu", "--token", "tok", "--no-ask-become-pass"])
|
||||
assert result.exit_code == 0
|
||||
mock_manager.install.assert_called_once_with(
|
||||
host="host1",
|
||||
user="ubuntu",
|
||||
@@ -95,7 +116,7 @@ class TestCLI:
|
||||
mode="docker",
|
||||
admin_token="",
|
||||
integration_retries=3,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -137,7 +158,7 @@ class TestCLI:
|
||||
mode="binary",
|
||||
admin_token="",
|
||||
integration_retries=3,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -179,7 +200,7 @@ class TestCLI:
|
||||
key="/key",
|
||||
version="v0.2.0",
|
||||
mode="docker",
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -213,7 +234,7 @@ class TestCLI:
|
||||
key=None,
|
||||
version=None,
|
||||
mode="binary",
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -243,7 +264,7 @@ class TestCLI:
|
||||
user=None,
|
||||
key=None,
|
||||
mode=None,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -260,7 +281,7 @@ class TestCLI:
|
||||
user="newuser",
|
||||
key=None,
|
||||
mode="binary",
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -276,7 +297,7 @@ class TestCLI:
|
||||
host=None,
|
||||
user=None,
|
||||
key=None,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -292,7 +313,7 @@ class TestCLI:
|
||||
host=None,
|
||||
user=None,
|
||||
key=None,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -311,7 +332,7 @@ class TestCLI:
|
||||
token="tok",
|
||||
gitea_url="https://git.example.com",
|
||||
mode=None,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -355,7 +376,7 @@ class TestCLI:
|
||||
user=None,
|
||||
key=None,
|
||||
mode=None,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
)
|
||||
|
||||
@patch("gitea_runner_manager.cli.RunnerManager")
|
||||
@@ -374,7 +395,7 @@ class TestCLI:
|
||||
token="tok",
|
||||
gitea_url="https://git.example.com",
|
||||
mode=None,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
force=False,
|
||||
)
|
||||
|
||||
@@ -394,7 +415,7 @@ class TestCLI:
|
||||
token="tok",
|
||||
gitea_url="https://git.example.com",
|
||||
mode=None,
|
||||
ask_become_pass=False,
|
||||
ask_become_pass=True,
|
||||
force=True,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user