Files
grm/tests/integration/test_provision.py
T

34 lines
1.3 KiB
Python

"""Integration tests for runner provisioning."""
from unittest.mock import MagicMock, patch
from gitea_runner_manager.runner_manager import RunnerManager
class TestProvisionIntegration:
def test_full_install_flow(self) -> None:
api = MagicMock()
api.base_url = "https://git.example.com"
api.create_registration_token.return_value = "test-token"
manager = RunnerManager(api)
with patch("subprocess.run") as mock_run:
mock_run.return_value = MagicMock(returncode=0)
manager.install("192.168.1.10", "ubuntu", name="integration-runner")
mock_run.assert_called_once()
cmd = mock_run.call_args[0][0]
assert "install-runner.yml" in " ".join(cmd)
assert "registration_token=test-token" in " ".join(cmd)
assert "runner_name=integration-runner" in " ".join(cmd)
def test_update_flow(self) -> None:
api = MagicMock()
manager = RunnerManager(api)
with patch("subprocess.run") as mock_run:
mock_run.return_value = MagicMock(returncode=0)
manager.update("192.168.1.10", "ubuntu")
mock_run.assert_called_once()
cmd = mock_run.call_args[0][0]
assert "update-runner.yml" in " ".join(cmd)