Files
Unraid-AppOps-Gateway-Public/backend/tests/test_portainer_restart_timeout.py
T

42 lines
1.3 KiB
Python

from types import SimpleNamespace
from backend.app.connectors.portainer import PortainerConnector
from backend.app.core.config import settings
def test_restart_request_allows_docker_grace_period_without_shortening_container_timeout(monkeypatch):
previous = dict(settings.apis)
settings.apis.update({
"PORTAINER_URL": "https://portainer.example.test",
"PORTAINER_API_KEY": "test-key",
"PORTAINER_ENDPOINT_ID": "9",
})
connector = PortainerConnector()
monkeypatch.setattr(
connector,
"list_containers",
lambda: {
"status": "ok",
"containers": [{"id": "runner-id", "name": "itworx-validation-runner-2", "appId": "itworx-validation-runner-2"}],
},
)
calls: list[tuple[str, str, dict]] = []
def request(method: str, path: str, **kwargs):
calls.append((method, path, kwargs))
return SimpleNamespace(status_code=204)
monkeypatch.setattr(connector, "_request", request)
try:
result = connector.restart_container("itworx-validation-runner-2")
finally:
settings.apis.clear()
settings.apis.update(previous)
assert result["status"] == "ok"
assert calls == [(
"POST",
"/api/endpoints/9/docker/containers/runner-id/restart",
{"timeout": 30.0},
)]