Skip to content

Commit 5cf16d0

Browse files
authored
Merge pull request #225 from lsst-sqre/tickets/DM-42029
DM-42029: Add support for label selectors in mock list_node
2 parents d35831d + 0d3d5d3 commit 5cf16d0

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
### New features
2+
3+
- Add support for label selectors in the `list_node` method of the Kubernetes mock.

src/safir/testing/kubernetes.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ def set_nodes_for_test(self, nodes: list[V1Node]) -> None:
470470
nodes
471471
New node list to return.
472472
"""
473-
self._nodes = V1NodeList(items=nodes)
473+
self._nodes = nodes
474474

475475
# CUSTOM OBJECT API
476476

@@ -1805,12 +1805,17 @@ async def read_namespaced_network_policy(
18051805
# NODE API
18061806

18071807
async def list_node(
1808-
self, *, _request_timeout: float | None = None
1808+
self,
1809+
*,
1810+
label_selector: str | None = None,
1811+
_request_timeout: float | None = None,
18091812
) -> V1NodeList:
18101813
"""List node information.
18111814
18121815
Parameters
18131816
----------
1817+
label_selector
1818+
Which objects to retrieve. All labels must match.
18141819
_request_timeout
18151820
Ignored, accepted for compatibility with the Kubernetes API.
18161821
@@ -1821,7 +1826,12 @@ async def list_node(
18211826
if any.
18221827
"""
18231828
self._maybe_error("list_node")
1824-
return self._nodes
1829+
nodes = [
1830+
n
1831+
for n in self._nodes
1832+
if _check_labels(n.metadata.labels, label_selector)
1833+
]
1834+
return V1NodeList(items=nodes)
18251835

18261836
# PERSISTENTVOLUMECLAIM API
18271837

0 commit comments

Comments
 (0)