From 947edfd1882d6b63bd1d092a8200ec0c5b760825 Mon Sep 17 00:00:00 2001 From: Jacob Tomlinson Date: Wed, 22 Jan 2025 10:55:32 +0000 Subject: [PATCH] Fix type hint on sync api.get() (#556) --- kr8s/__init__.py | 4 ++-- kr8s/objects.py | 4 ++++ kr8s/tests/test_api.py | 9 ++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/kr8s/__init__.py b/kr8s/__init__.py index 8c08df9..3fd6afe 100644 --- a/kr8s/__init__.py +++ b/kr8s/__init__.py @@ -77,7 +77,7 @@ def get( # type: ignore as_object: type[APIObject] | None = None, allow_unknown_type: bool = True, **kwargs, - ) -> Generator[APIObject]: + ) -> Generator[objects.APIObject]: yield from _run_sync(self.async_get)( kind, *names, @@ -96,7 +96,7 @@ def watch( # type: ignore label_selector: str | dict | None = None, field_selector: str | dict | None = None, since: str | None = None, - ) -> Generator[tuple[str, APIObject]]: + ) -> Generator[tuple[str, objects.APIObject]]: yield from _run_sync(self.async_watch)( kind, namespace=namespace, diff --git a/kr8s/objects.py b/kr8s/objects.py index eefb70b..9f1bc08 100644 --- a/kr8s/objects.py +++ b/kr8s/objects.py @@ -138,6 +138,10 @@ from .portforward import PortForward +class APIObject(APIObjectSyncMixin): + __doc__ = APIObjectSyncMixin.__doc__ + + class Binding(APIObjectSyncMixin, _Binding): __doc__ = _Binding.__doc__ diff --git a/kr8s/tests/test_api.py b/kr8s/tests/test_api.py index ac8d57e..28adca1 100644 --- a/kr8s/tests/test_api.py +++ b/kr8s/tests/test_api.py @@ -265,14 +265,17 @@ async def test_async_get_returns_async_objects() -> None: def test_sync_get_returns_sync_objects() -> None: - pods = kr8s.get("pods", namespace=kr8s.ALL) - assert list(pods)[0]._asyncio is False + pods = list(kr8s.get("pods", namespace=kr8s.ALL)) + assert pods[0]._asyncio is False + pods[0].refresh() def test_sync_api_returns_sync_objects(): api = kr8s.api() pods = api.get("pods", namespace=kr8s.ALL) - assert next(pods)._asyncio is False + pod = next(pods) + assert pod._asyncio is False + pod.refresh() async def test_api_names(example_pod_spec: dict, ns: str) -> None: