Skip to content

Commit d5fb325

Browse files
committed
test: add unit test for list_clusters_all_namespaces
1 parent d4d11c6 commit d5fb325

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

tests/unit_test.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
get_cluster,
3535
_app_wrapper_status,
3636
_ray_cluster_status,
37+
list_clusters_all_namespaces,
3738
)
3839
from codeflare_sdk.cluster.auth import (
3940
TokenAuthentication,
@@ -206,6 +207,33 @@ def test_cluster_deletion_cli(mocker):
206207

207208
assert result.exit_code == 0
208209
assert "Cluster deleted successfully" in result.output
210+
def test_list_clusters_all_namespaces(mocker, capsys):
211+
mocker.patch(
212+
"kubernetes.client.CustomObjectsApi.list_cluster_custom_object",
213+
side_effect=get_ray_obj_no_namespace,
214+
)
215+
list_clusters_all_namespaces()
216+
captured = capsys.readouterr()
217+
assert captured.out == (
218+
" 🚀 CodeFlare Cluster Details 🚀 \n"
219+
" \n"
220+
" ╭──────────────────────────────────────────────────────────────╮ \n"
221+
" │ Name │ \n"
222+
" │ quicktest Active ✅ │ \n"
223+
" │ │ \n"
224+
" │ URI: ray://quicktest-head-svc.ns.svc:10001 │ \n"
225+
" │ │ \n"
226+
" │ Dashboard🔗 │ \n"
227+
" │ │ \n"
228+
" │ Cluster Resources │ \n"
229+
" │ ╭─ Workers ──╮ ╭───────── Worker specs(each) ─────────╮ │ \n"
230+
" │ │ Min Max │ │ Memory CPU GPU │ │ \n"
231+
" │ │ │ │ │ │ \n"
232+
" │ │ 1 1 │ │ 2G~2G 1 0 │ │ \n"
233+
" │ │ │ │ │ │ \n"
234+
" │ ╰────────────╯ ╰──────────────────────────────────────╯ │ \n"
235+
" ╰──────────────────────────────────────────────────────────────╯ \n"
236+
)
209237

210238

211239
# For mocking openshift client results
@@ -992,6 +1020,10 @@ def get_ray_obj(group, version, namespace, plural, cls=None):
9921020
return api_obj
9931021

9941022

1023+
def get_ray_obj_no_namespace(group, version, plural, cls=None):
1024+
return get_ray_obj(group, version, "ns", plural, cls)
1025+
1026+
9951027
def get_aw_obj(group, version, namespace, plural):
9961028
api_obj1 = {
9971029
"items": [
@@ -2360,4 +2392,3 @@ def test_cleanup():
23602392
os.remove("tls-cluster-namespace/tls.key")
23612393
os.rmdir("tls-cluster-namespace")
23622394
os.remove("cli-test-cluster.yaml")
2363-
os.removedirs(os.path.expanduser("~/.codeflare"))

0 commit comments

Comments
 (0)