GRM-7: feat: integrate AnsibleExecutor and i18n into CLI and RunnerManager

This commit is contained in:
Emil Simeonov
2026-06-18 20:17:07 +02:00
parent 564c12e782
commit 047ee05fa1
4 changed files with 201 additions and 149 deletions
+18 -4
View File
@@ -19,7 +19,7 @@ class TestCLI:
mock_manager = MagicMock()
mock_manager_class.return_value = mock_manager
runner = CliRunner(env={"GITEA_URL": "https://git.example.com"})
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(
@@ -30,6 +30,8 @@ class TestCLI:
token="tok",
gitea_url="https://git.example.com",
mode="docker",
admin_token="",
integration_retries=3,
ask_become_pass=False,
)
@@ -43,6 +45,12 @@ class TestCLI:
@patch("gitea_runner_manager.cli.RunnerManager")
def test_install_missing_token(self, mock_manager_class: MagicMock) -> None:
mock_manager = MagicMock()
from gitea_runner_manager.exceptions import AnsibleError
mock_manager.install.side_effect = AnsibleError("GITEA_REGISTRATION_TOKEN must be set (or pass --token)")
mock_manager_class.return_value = mock_manager
with patch.dict("os.environ", {"GITEA_URL": "https://git.example.com"}, clear=True):
runner = CliRunner()
result = runner.invoke(cli, ["install", "host1", "--user", "ubuntu"])
@@ -54,7 +62,7 @@ class TestCLI:
mock_manager = MagicMock()
mock_manager_class.return_value = mock_manager
runner = CliRunner(env={"GITEA_URL": "https://git.example.com"})
runner = CliRunner(env={"GITEA_URL": "https://git.example.com", "GITEA_ADMIN_TOKEN": ""})
result = runner.invoke(
cli,
[
@@ -79,6 +87,8 @@ class TestCLI:
token="tok",
gitea_url="https://git.example.com",
mode="docker",
admin_token="",
integration_retries=3,
ask_become_pass=False,
)
@@ -87,7 +97,7 @@ class TestCLI:
mock_manager = MagicMock()
mock_manager_class.return_value = mock_manager
runner = CliRunner(env={"GITEA_URL": "https://git.example.com"})
runner = CliRunner(env={"GITEA_URL": "https://git.example.com", "GITEA_ADMIN_TOKEN": ""})
result = runner.invoke(cli, ["install", "host1", "--user", "ubuntu", "--token", "tok", "--ask-become-pass"])
assert result.exit_code == 0
mock_manager.install.assert_called_once_with(
@@ -98,6 +108,8 @@ class TestCLI:
token="tok",
gitea_url="https://git.example.com",
mode="docker",
admin_token="",
integration_retries=3,
ask_become_pass=True,
)
@@ -106,7 +118,7 @@ class TestCLI:
mock_manager = MagicMock()
mock_manager_class.return_value = mock_manager
runner = CliRunner(env={"GITEA_URL": "https://git.example.com"})
runner = CliRunner(env={"GITEA_URL": "https://git.example.com", "GITEA_ADMIN_TOKEN": ""})
result = runner.invoke(cli, ["install", "host1", "--user", "ubuntu", "--token", "tok", "--mode", "binary"])
assert result.exit_code == 0
mock_manager.install.assert_called_once_with(
@@ -117,6 +129,8 @@ class TestCLI:
token="tok",
gitea_url="https://git.example.com",
mode="binary",
admin_token="",
integration_retries=3,
ask_become_pass=False,
)