GRM-16: feat: add --force flag to grm remove for unreachable runners

- Add force parameter to RunnerManager.remove() — skips remote Ansible
  playbook and only removes the local registry entry
- Add --force/-f CLI flag to grm remove command
- Add translations for --force help text across all 5 languages
- Add unit tests for force skip and CLI flag propagation
- 118 tests, 100% coverage, pyright clean, ruff clean
This commit is contained in:
Emil Simeonov
2026-06-19 02:00:45 +02:00
parent 6ede871054
commit 677745ac99
5 changed files with 64 additions and 10 deletions
+21
View File
@@ -375,6 +375,27 @@ class TestCLI:
gitea_url="https://git.example.com",
mode=None,
ask_become_pass=False,
force=False,
)
@patch("gitea_runner_manager.cli.RunnerManager")
def test_remove_force_flag(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"})
result = runner.invoke(cli, ["remove", "r1", "--token", "tok", "--force"])
assert result.exit_code == 0
mock_manager.remove.assert_called_once_with(
name="r1",
host=None,
user=None,
key=None,
token="tok",
gitea_url="https://git.example.com",
mode=None,
ask_become_pass=False,
force=True,
)
@patch("gitea_runner_manager.cli.RunnerManager")