ariadne/tests/test_k8s_client.py

42 lines
1.0 KiB
Python
Raw Normal View History

2026-01-19 19:01:32 -03:00
from __future__ import annotations
import types
import ariadne.k8s.client as k8s_client
class DummyResponse:
def __init__(self, payload):
self._payload = payload
def raise_for_status(self):
return None
def json(self):
return self._payload
class DummyClient:
def __init__(self, *args, **kwargs):
self.calls = []
def request(self, method, url, json=None):
self.calls.append((method, url, json))
return DummyResponse({"ok": True})
def __enter__(self):
return self
def __exit__(self, exc_type, exc, tb):
return False
def test_get_json_builds_url(monkeypatch) -> None:
dummy_settings = types.SimpleNamespace(k8s_api_timeout_sec=5.0)
monkeypatch.setattr(k8s_client, "settings", dummy_settings)
monkeypatch.setattr(k8s_client, "_read_service_account", lambda: ("token", "/tmp/ca"))
monkeypatch.setattr(k8s_client.httpx, "Client", DummyClient)
result = k8s_client.get_json("/api/test")
assert result == {"ok": True}