GRM-1: feat: initial implementation of Gitea Runner Manager
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
"""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)
|
||||
Reference in New Issue
Block a user