Skip to content

Commit 98b2bd6

Browse files
authored
feat: support return fake client in get_client() (#2455)
* feat: support return fake client in get_client() * Update the readme
1 parent e304617 commit 98b2bd6

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

fake_kubernetes_client/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ A fake/mock implementation of the Kubernetes dynamic client for testing purposes
1717
## Installation
1818

1919
```python
20-
from fake_kubernetes_client import create_fake_client
20+
from ocp_resources.resource import get_client
2121

2222
# Create a fake client
23-
fake_client = create_fake_client()
23+
fake_client = get_client(fake=True)
2424

2525
# Use it like a real Kubernetes dynamic client
2626
api = fake_client.resources.get(api_version="v1", kind="Pod")
@@ -214,7 +214,7 @@ pod = api.get(name="test-pod", namespace="default")
214214
print(pod.status.phase) # "Running"
215215
print(pod.status.containerStatuses[0].ready) # True
216216

217-
deployment = deployment_api.get(name="test-deployment", namespace="default")
217+
deployment = deployment_api.get(name="test-deployment", namespace="default")
218218
print(deployment.status.readyReplicas) # Matches spec.replicas
219219
print(deployment.status.conditions[0].type) # "Available"
220220
```
@@ -246,11 +246,11 @@ route = route_api.create(body=route_manifest, namespace="default")
246246

247247
```python
248248
import pytest
249-
from fake_kubernetes_client import create_fake_client
249+
from ocp_resources.resource import get_client
250250

251251
@pytest.fixture
252252
def k8s_client():
253-
return create_fake_client()
253+
return get_client(fake=True)
254254

255255
def test_pod_creation(k8s_client):
256256
api = k8s_client.resources.get(api_version="v1", kind="Pod")

ocp_resources/resource.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
)
3737
from urllib3.exceptions import MaxRetryError
3838

39+
from fake_kubernetes_client.dynamic_client import FakeDynamicClient
3940
from ocp_resources.event import Event
4041
from ocp_resources.exceptions import (
4142
ClientWithBasicAuthError,
@@ -198,7 +199,8 @@ def get_client(
198199
host: str | None = None,
199200
verify_ssl: bool | None = None,
200201
token: str | None = None,
201-
) -> DynamicClient:
202+
fake: bool = False,
203+
) -> DynamicClient | FakeDynamicClient:
202204
"""
203205
Get a kubernetes client.
204206
@@ -226,6 +228,9 @@ def get_client(
226228
Returns:
227229
DynamicClient: a kubernetes client.
228230
"""
231+
if fake:
232+
return FakeDynamicClient()
233+
229234
proxy = os.environ.get("HTTPS_PROXY") or os.environ.get("HTTP_PROXY")
230235

231236
client_configuration = client_configuration or kubernetes.client.Configuration()

0 commit comments

Comments
 (0)